feat: add ReadOnlySetting and corresponding UI component for displaying read-only settings

This commit is contained in:
2026-05-13 19:31:58 +02:00
parent 147fabd895
commit beae723372
5 changed files with 102 additions and 10 deletions

View File

@@ -24,6 +24,7 @@ import hu.bbara.purefin.core.feature.settings.SettingsViewModel
import hu.bbara.purefin.core.settings.BooleanSetting
import hu.bbara.purefin.core.settings.DropdownSetting
import hu.bbara.purefin.core.settings.RangeSetting
import hu.bbara.purefin.core.settings.ReadOnlySetting
import hu.bbara.purefin.core.settings.SettingOption
import hu.bbara.purefin.core.settings.StringSetting
import hu.bbara.purefin.core.settings.VoidSetting
@@ -32,6 +33,7 @@ import hu.bbara.purefin.ui.screen.home.components.DefaultTopBarIconButton
import hu.bbara.purefin.ui.screen.settings.components.BooleanSettingItem
import hu.bbara.purefin.ui.screen.settings.components.DropdownSettingItem
import hu.bbara.purefin.ui.screen.settings.components.RangeSettingItem
import hu.bbara.purefin.ui.screen.settings.components.ReadOnlySettingItem
import hu.bbara.purefin.ui.screen.settings.components.StringSettingItem
import hu.bbara.purefin.ui.screen.settings.components.VoidSettingItem
@@ -138,6 +140,13 @@ private fun SettingOptionItem(
}
}
is ReadOnlySetting -> {
ReadOnlySettingItem(
title = option.title,
value = option.value
)
}
is VoidSetting -> {
VoidSettingItem(
title = option.title,

View File

@@ -0,0 +1,31 @@
package hu.bbara.purefin.ui.screen.settings.components
import androidx.compose.material3.ListItem
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@Composable
fun ReadOnlySettingItem(
title: String,
value: String,
modifier: Modifier = Modifier.Companion
) {
ListItem(
headlineContent = {
Text(
text = title,
style = MaterialTheme.typography.bodyLarge
)
},
trailingContent = {
Text(
text = value,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
},
modifier = modifier
)
}