Cosmetics

This commit is contained in:
2025-02-02 16:23:58 +01:00
parent 0d424ac413
commit 52eef8dbd4

View File

@@ -34,10 +34,13 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import compose.icons.TablerIcons import compose.icons.TablerIcons
import compose.icons.tablericons.Table import compose.icons.tablericons.Table
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.lazy.itemsIndexed
import compose.icons.FontAwesomeIcons import compose.icons.FontAwesomeIcons
import compose.icons.fontawesomeicons.Solid import compose.icons.fontawesomeicons.Solid
import compose.icons.tablericons.ArrowBigRight import compose.icons.tablericons.ArrowBigRight
import compose.icons.tablericons.FileText
import compose.icons.fontawesomeicons.solid.PlayCircle import compose.icons.fontawesomeicons.solid.PlayCircle
import compose.icons.tablericons.ArrowBigLeft
import models.Term import models.Term
import models.TermFull import models.TermFull
import kotlinx.coroutines.* import kotlinx.coroutines.*
@@ -45,12 +48,13 @@ import kotlinx.coroutines.*
@Composable @Composable
fun RowScope.TableCell( fun RowScope.TableCell(
text: String, text: String,
weight: Float weight: Float,
color: Color = Color.Gray
) { ) {
Text( Text(
text = text, text = text,
Modifier Modifier
.border(1.dp, Color.Black) .border(1.dp, Color.LightGray)
.weight(weight) .weight(weight)
.padding(4.dp) .padding(4.dp)
) )
@@ -83,7 +87,8 @@ fun groupByString1(terms: List<TermFull>): MutableList<MutableList<TermFull>> {
@Composable @Composable
fun SearchBarTextField(viewModel: MainModelView) { fun SearchBarTextField(viewModel: MainModelView) {
val query = remember { mutableStateOf("") } val query = remember { mutableStateOf("") }
val columnViewType = remember { mutableStateOf(false) } var columnViewType = remember { mutableStateOf(false) }
var tDirection = remember { mutableStateOf(1) }
Column { Column {
Row( Row(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
@@ -114,9 +119,23 @@ fun SearchBarTextField(viewModel: MainModelView) {
) )
Row (Modifier.width(155.dp).border(width = 2.dp, Color.Black)) { Row (Modifier.width(155.dp).border(width = 2.dp, Color.Black)) {
Spacer(modifier = Modifier.padding(2.dp)) Spacer(modifier = Modifier.padding(2.dp))
Icon(TablerIcons.Table, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp)) IconButton(onClick = {
columnViewType.value = !columnViewType.value
}) {
if (columnViewType.value)
Icon(TablerIcons.Table, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp))
else
Icon(TablerIcons.FileText, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp))
}
Spacer(modifier = Modifier.padding(2.dp)) Spacer(modifier = Modifier.padding(2.dp))
Icon(TablerIcons.ArrowBigRight, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp)) IconButton(onClick = {
tDirection.value = if (tDirection.value == 1) 2 else 1
}) {
if (tDirection.value == 1)
Icon(TablerIcons.ArrowBigRight, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp))
else
Icon(TablerIcons.ArrowBigLeft, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp))
}
Spacer(modifier = Modifier.padding(2.dp)) Spacer(modifier = Modifier.padding(2.dp))
Icon(Icons.Filled.Settings, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp)) Icon(Icons.Filled.Settings, contentDescription = "Table View", modifier = Modifier.size(width = 50.dp, height = 50.dp))
//Spacer(modifier = Modifier.fillMaxWidth()) //Spacer(modifier = Modifier.fillMaxWidth())
@@ -138,11 +157,10 @@ fun SearchBarTextField(viewModel: MainModelView) {
val column2Weight = .5f // 50% val column2Weight = .5f // 50%
// The LazyColumn will be our table. Notice the use of the weights below // The LazyColumn will be our table. Notice the use of the weights below
LazyColumn(Modifier.fillMaxSize().padding(0.dp)) { LazyColumn(Modifier.fillMaxSize().padding(0.dp)) {
// Here is the header itemsIndexed(items = terms!!, itemContent = { i, t ->
val color = if (i % 2 == 1) Color.hsl(hue = 168f, saturation = .77f, lightness = .68f, alpha = 1f) else Color.hsl(hue = 217f, saturation = .77f, lightness = .68f, alpha = 1f)
items(items = terms!!, itemContent = { t -> Row(Modifier.fillMaxWidth().background(color)) {
Row(Modifier.fillMaxWidth()) {
TableCell(text = t.string1, weight = column1Weight) TableCell(text = t.string1, weight = column1Weight)
TableCell(text = t.string2, weight = column2Weight) TableCell(text = t.string2, weight = column2Weight)
} }
@@ -155,13 +173,12 @@ fun SearchBarTextField(viewModel: MainModelView) {
val terms2: MutableList<MutableList<TermFull>> = groupByString1(terms!!) val terms2: MutableList<MutableList<TermFull>> = groupByString1(terms!!)
LazyColumn(Modifier.fillMaxSize().padding(0.dp)) { LazyColumn(Modifier.fillMaxSize().padding(0.dp)) {
var i=0
var rowBackground = Color.LightGray var rowBackground = Color.LightGray
items(items = terms2, itemContent = { t2 -> itemsIndexed(items = terms2, itemContent = { i, t2 ->
var t : TermFull? = null var t : TermFull? = null
if (t2.size > 0) t = t2[0] if (t2.size > 0) t = t2[0]
else return@items else return@itemsIndexed
when ( i++ % 2 ) { when ( i % 2 ) {
0 -> rowBackground = Color.LightGray 0 -> rowBackground = Color.LightGray
1 -> rowBackground = Color.Gray 1 -> rowBackground = Color.Gray
} }