VancedManager/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ThemeItem.kt

49 lines
1.6 KiB
Kotlin

package com.vanced.manager.ui.widget.screens.settings
import androidx.compose.runtime.*
import com.vanced.manager.R
import com.vanced.manager.core.preferences.RadioButtonPreference
import com.vanced.manager.core.preferences.holder.managerThemePref
import com.vanced.manager.ui.component.preference.SingleSelectDialogPreference
import com.vanced.manager.ui.resources.managerString
@Composable
fun ThemeSettingsItem() {
var showDialog by remember { mutableStateOf(false) }
var selectedKey by remember { mutableStateOf(managerThemePref) }
SingleSelectDialogPreference(
preferenceTitle = managerString(stringId = R.string.settings_preference_theme_title),
preferenceDescription = managerThemePref,
isDialogVisible = showDialog,
currentSelectedKey = selectedKey,
buttons = listOf(
RadioButtonPreference(
title = managerString(R.string.settings_preference_theme_light),
key = "Light"
),
RadioButtonPreference(
title = managerString(R.string.settings_preference_theme_dark),
key = "Dark"
),
RadioButtonPreference(
title = managerString(R.string.settings_option_system_default),
key = "System Default"
)
),
onPreferenceClick = {
showDialog = true
},
onDismissRequest = {
showDialog = false
selectedKey = managerThemePref
},
onItemClick = {
selectedKey = it
},
onSave = {
managerThemePref = selectedKey
showDialog = false
}
)
}