From 76b24f22b2fd2a36e7496183f5382460cbf27829 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sat, 17 Sep 2022 03:48:26 +0200 Subject: [PATCH] Add: SingleSelectionItem --- .../ui/compose/components/SelectionItem.kt | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/SelectionItem.kt diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/SelectionItem.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/SelectionItem.kt new file mode 100644 index 00000000..0bbe42b3 --- /dev/null +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/SelectionItem.kt @@ -0,0 +1,48 @@ +package com.machiav3lli.fdroid.ui.compose.components + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.RadioButton +import androidx.compose.material3.RadioButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +@Composable +fun SingleSelectionListItem( + modifier: Modifier = Modifier, + text: String, + isSelected: Boolean, + isEnabled: Boolean = true, + onClick: () -> Unit = {} +) { + Row( + modifier = modifier + .fillMaxWidth() + .clickable(onClick = onClick, enabled = isEnabled), + verticalAlignment = Alignment.CenterVertically + ) { + RadioButton( + selected = isSelected, + enabled = isEnabled, + onClick = onClick, + modifier = Modifier.padding(start = 8.dp, end = 8.dp), + colors = RadioButtonDefaults.colors( + selectedColor = MaterialTheme.colorScheme.primary, + unselectedColor = MaterialTheme.colorScheme.onSurface + ) + ) + Text( + text = text, + fontSize = 16.sp, + fontWeight = FontWeight.Bold + ) + } +} \ No newline at end of file