Selector (WIP)

This commit is contained in:
2024-06-18 23:23:55 +02:00
parent f7a1725029
commit 755c3de295
4 changed files with 59 additions and 36 deletions

View File

@@ -1,6 +1,7 @@
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.Button
import androidx.compose.material3.MaterialTheme
@@ -14,24 +15,28 @@ import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.ui.tooling.preview.Preview
import ui.DrawItem
import ui.Selector
import yaep.composeapp.generated.resources.Res
import yaep.composeapp.generated.resources.compose_multiplatform
@OptIn(ExperimentalResourceApi::class)
@Composable
@Preview
fun App() {
fun App(modifier: Modifier = Modifier) {
val size = 6
val options = remember { Animals.items.shuffled().take(size) }
var selectedItem by remember { mutableStateOf<Item<Animals>?>(Item(options.random())) }
// var selectedItem by remember { mutableStateOf<Item<Animals>?>(null) }
// Selector(
// category = Animals,
// options = Animals.items.map { Item(it) },
// selectedItem = selectedItem,
// onSelectItem = { selectedItem = it }
// )
DrawItem(selectedItem!!)
Column(modifier = modifier) {
Row {
val options = remember { Animals.items.shuffled().take(size) }
for (option in options) {
var selectedItem by remember { mutableStateOf<Item<Animals>?>(Item(option)) }
Selector(
category = Animals,
options = Animals.items.map { Item(it) },
selectedItem = selectedItem,
onSelectItem = { selectedItem = it },
modifier = Modifier.weight(1f)
)
}
}
}
}