From 4050e97970e31539e5df98282cee72e51390678a Mon Sep 17 00:00:00 2001 From: Infi Date: Thu, 7 Mar 2024 20:42:23 +0100 Subject: [PATCH] refactor: RadioItem to be a ListItem Signed-off-by: Infi --- .../revolt/components/generic/RadioItem.kt | 38 +++++++------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/chat/revolt/components/generic/RadioItem.kt b/app/src/main/java/chat/revolt/components/generic/RadioItem.kt index e31b3328..bd2e20f8 100644 --- a/app/src/main/java/chat/revolt/components/generic/RadioItem.kt +++ b/app/src/main/java/chat/revolt/components/generic/RadioItem.kt @@ -1,48 +1,36 @@ package chat.revolt.components.generic -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width import androidx.compose.foundation.selection.selectable -import androidx.compose.material3.LocalTextStyle -import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ListItem import androidx.compose.material3.RadioButton import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.Role -import androidx.compose.ui.unit.dp @Composable fun RadioItem( selected: Boolean, onClick: () -> Unit, label: @Composable () -> Unit, - modifier: Modifier = Modifier + modifier: Modifier = Modifier, ) { - Row( - modifier + ListItem( + modifier = modifier .fillMaxWidth() - .height(56.dp) .selectable( selected = selected, onClick = onClick, role = Role.RadioButton - ) - .padding(horizontal = 16.dp), - verticalAlignment = Alignment.CenterVertically - ) { - RadioButton( - selected = selected, - onClick = null - ) - Spacer(Modifier.width(16.dp)) - CompositionLocalProvider(LocalTextStyle provides MaterialTheme.typography.bodyLarge) { + ), + headlineContent = { label() + }, + leadingContent = { + RadioButton( + selected = selected, + onClick = null + ) } - } + ) } \ No newline at end of file