🚀 ExpandingTransition for nested settings

* Show some settings only when meeting requirements for it to affect the app at this moment (e.g. show Brightness slider ONLY when Custom Brightness switch is set to true)
This commit is contained in:
Acclorite 2024-12-25 11:11:26 +02:00
parent ba2104ad05
commit 1bc4dcf6a9
3 changed files with 41 additions and 32 deletions

View file

@ -8,12 +8,14 @@ import ua.acclorite.book_story.R
import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle
import ua.acclorite.book_story.ui.main.MainEvent
import ua.acclorite.book_story.ui.main.MainModel
import ua.acclorite.book_story.ui.theme.ExpandingTransition
@Composable
fun PerceptionExpanderPaddingOption() {
val mainModel = hiltViewModel<MainModel>()
val state = mainModel.state.collectAsStateWithLifecycle()
ExpandingTransition(visible = state.value.perceptionExpander) {
SliderWithTitle(
value = state.value.perceptionExpanderPadding to "pt",
fromValue = 0,
@ -26,3 +28,4 @@ fun PerceptionExpanderPaddingOption() {
}
)
}
}

View file

@ -8,12 +8,14 @@ import ua.acclorite.book_story.R
import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle
import ua.acclorite.book_story.ui.main.MainEvent
import ua.acclorite.book_story.ui.main.MainModel
import ua.acclorite.book_story.ui.theme.ExpandingTransition
@Composable
fun PerceptionExpanderThicknessOption() {
val mainModel = hiltViewModel<MainModel>()
val state = mainModel.state.collectAsStateWithLifecycle()
ExpandingTransition(visible = state.value.perceptionExpander) {
SliderWithTitle(
value = state.value.perceptionExpanderThickness to "pt",
fromValue = 1,
@ -26,3 +28,4 @@ fun PerceptionExpanderThicknessOption() {
}
)
}
}

View file

@ -8,12 +8,14 @@ import ua.acclorite.book_story.R
import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle
import ua.acclorite.book_story.ui.main.MainEvent
import ua.acclorite.book_story.ui.main.MainModel
import ua.acclorite.book_story.ui.theme.ExpandingTransition
@Composable
fun ScreenBrightnessOption() {
val mainModel = hiltViewModel<MainModel>()
val state = mainModel.state.collectAsStateWithLifecycle()
ExpandingTransition(visible = state.value.customScreenBrightness) {
SliderWithTitle(
value = state.value.screenBrightness to "",
toValue = 100,
@ -25,3 +27,4 @@ fun ScreenBrightnessOption() {
}
)
}
}