PR feedbacks

This commit is contained in:
ThomasSession 2024-07-16 14:55:55 +10:00
parent 78110a48c6
commit d9407a1bc1
3 changed files with 23 additions and 20 deletions

View File

@ -13,8 +13,8 @@ import kotlin.time.Duration.Companion.seconds
fun State.toUiState() = UiState(
cards = listOfNotNull(
typeOptions()?.let { ExpiryOptionsCard(GetString(R.string.activity_disappearing_messages_delete_type), it) },
timeOptions()?.let { ExpiryOptionsCard(GetString(R.string.activity_disappearing_messages_timer), it) }
typeOptions()?.let { ExpiryOptionsCardData(GetString(R.string.activity_disappearing_messages_delete_type), it) },
timeOptions()?.let { ExpiryOptionsCardData(GetString(R.string.activity_disappearing_messages_timer), it) }
),
showGroupFooter = isGroup && isNewConfigEnabled,
showSetButton = isSelfAdmin

View File

@ -5,15 +5,15 @@ import network.loki.messenger.libsession_util.util.ExpiryMode
import org.thoughtcrime.securesms.ui.GetString
import org.thoughtcrime.securesms.ui.RadioOption
typealias ExpiryOptionsCard = OptionsCardData<ExpiryMode>
typealias ExpiryOptionsCardData = OptionsCardData<ExpiryMode>
data class UiState(
val cards: List<ExpiryOptionsCard> = emptyList(),
val cards: List<ExpiryOptionsCardData> = emptyList(),
val showGroupFooter: Boolean = false,
val showSetButton: Boolean = true
) {
constructor(
vararg cards: ExpiryOptionsCard,
vararg cards: ExpiryOptionsCardData,
showGroupFooter: Boolean = false,
showSetButton: Boolean = true,
): this(

View File

@ -10,6 +10,7 @@ import androidx.compose.foundation.ScrollState
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxScope
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.Spacer
@ -93,23 +94,25 @@ data class RadioOption<T>(
)
@Composable
fun <T> ColumnScope.OptionsCard(card: OptionsCardData<T>, callbacks: Callbacks<T>) {
Text(
modifier = Modifier.padding(start = LocalDimensions.current.smallSpacing),
text = card.title(),
style = LocalType.current.base,
color = LocalColors.current.textSecondary
)
fun <T> OptionsCard(card: OptionsCardData<T>, callbacks: Callbacks<T>) {
Column {
Text(
modifier = Modifier.padding(start = LocalDimensions.current.smallSpacing),
text = card.title(),
style = LocalType.current.base,
color = LocalColors.current.textSecondary
)
Spacer(modifier = Modifier.height(LocalDimensions.current.xsSpacing))
Spacer(modifier = Modifier.height(LocalDimensions.current.xsSpacing))
CellNoMargin {
LazyColumn(
modifier = Modifier.heightIn(max = 5000.dp)
) {
itemsIndexed(card.options) { i, it ->
if (i != 0) Divider()
TitledRadioButton(option = it) { callbacks.setValue(it.value) }
CellNoMargin {
LazyColumn(
modifier = Modifier.heightIn(max = 5000.dp)
) {
itemsIndexed(card.options) { i, it ->
if (i != 0) Divider()
TitledRadioButton(option = it) { callbacks.setValue(it.value) }
}
}
}
}