mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
feat: SliderPreferenceWidget
This commit is contained in:
parent
579484eba4
commit
2fc6ab1b62
2 changed files with 42 additions and 11 deletions
|
@ -17,6 +17,7 @@ import dev.yokai.presentation.component.preference.widget.EditTextPreferenceWidg
|
|||
import dev.yokai.presentation.component.preference.widget.InfoWidget
|
||||
import dev.yokai.presentation.component.preference.widget.ListPreferenceWidget
|
||||
import dev.yokai.presentation.component.preference.widget.MultiSelectListPreferenceWidget
|
||||
import dev.yokai.presentation.component.preference.widget.SliderPreferenceWidget
|
||||
import dev.yokai.presentation.component.preference.widget.SwitchPreferenceWidget
|
||||
import dev.yokai.presentation.component.preference.widget.TextPreferenceWidget
|
||||
import dev.yokai.presentation.component.preference.widget.TrackingPreferenceWidget
|
||||
|
@ -78,23 +79,18 @@ internal fun PreferenceItem(
|
|||
)
|
||||
}
|
||||
is Preference.PreferenceItem.SliderPreference -> {
|
||||
// TODO: use different composable?
|
||||
// FIXME: Add the actual thing
|
||||
Text(text = "Hello World")
|
||||
/*
|
||||
SliderItem(
|
||||
label = item.title,
|
||||
SliderPreferenceWidget(
|
||||
title = item.title,
|
||||
subtitle = item.subtitle.takeUnless { it.isNullOrEmpty() } ?: item.value.toString(),
|
||||
value = item.value,
|
||||
min = item.min,
|
||||
max = item.max,
|
||||
value = item.value,
|
||||
valueText = item.subtitle.takeUnless { it.isNullOrEmpty() } ?: item.value.toString(),
|
||||
onChange = {
|
||||
onValueChange = {
|
||||
scope.launch {
|
||||
item.onValueChanged(it)
|
||||
item.onValueChanged(it.toInt())
|
||||
}
|
||||
},
|
||||
)
|
||||
*/
|
||||
}
|
||||
is Preference.PreferenceItem.ListPreference<*> -> {
|
||||
val value by item.pref.collectAsState()
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package dev.yokai.presentation.component.preference.widget
|
||||
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Slider
|
||||
import androidx.compose.material3.SliderState
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
|
||||
@Composable
|
||||
fun SliderPreferenceWidget(
|
||||
modifier: Modifier = Modifier,
|
||||
title: String,
|
||||
subtitle: String? = null,
|
||||
icon: ImageVector? = null,
|
||||
value: Int,
|
||||
min: Int,
|
||||
max: Int,
|
||||
onValueChange: (Float) -> Unit,
|
||||
) {
|
||||
TextPreferenceWidget(
|
||||
modifier = modifier,
|
||||
title = title,
|
||||
subtitle = subtitle,
|
||||
icon = icon,
|
||||
widget = {
|
||||
Slider(
|
||||
value = value.toFloat(),
|
||||
onValueChange = onValueChange,
|
||||
valueRange = min.toFloat()..max.toFloat()
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue