From 1bc4dcf6a9bdcb219feb35ec9f73f07ce144cb0e Mon Sep 17 00:00:00 2001 From: Acclorite <140836141+Acclorite@users.noreply.github.com> Date: Wed, 25 Dec 2024 11:11:26 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20ExpandingTransition=20for=20nest?= =?UTF-8?q?ed=20settings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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) --- .../PerceptionExpanderPaddingOption.kt | 25 +++++++++++-------- .../PerceptionExpanderThicknessOption.kt | 25 +++++++++++-------- .../components/ScreenBrightnessOption.kt | 23 +++++++++-------- 3 files changed, 41 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt index 5a84a917..43706c2e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt @@ -8,21 +8,24 @@ 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() val state = mainModel.state.collectAsStateWithLifecycle() - SliderWithTitle( - value = state.value.perceptionExpanderPadding to "pt", - fromValue = 0, - toValue = 24, - title = stringResource(id = R.string.perception_expander_padding_option), - onValueChange = { - mainModel.onEvent( - MainEvent.OnChangePerceptionExpanderPadding(it) - ) - } - ) + ExpandingTransition(visible = state.value.perceptionExpander) { + SliderWithTitle( + value = state.value.perceptionExpanderPadding to "pt", + fromValue = 0, + toValue = 24, + title = stringResource(id = R.string.perception_expander_padding_option), + onValueChange = { + mainModel.onEvent( + MainEvent.OnChangePerceptionExpanderPadding(it) + ) + } + ) + } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt index 24c48266..c86df3d5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt @@ -8,21 +8,24 @@ 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() val state = mainModel.state.collectAsStateWithLifecycle() - SliderWithTitle( - value = state.value.perceptionExpanderThickness to "pt", - fromValue = 1, - toValue = 12, - title = stringResource(id = R.string.perception_expander_thickness_option), - onValueChange = { - mainModel.onEvent( - MainEvent.OnChangePerceptionExpanderThickness(it) - ) - } - ) + ExpandingTransition(visible = state.value.perceptionExpander) { + SliderWithTitle( + value = state.value.perceptionExpanderThickness to "pt", + fromValue = 1, + toValue = 12, + title = stringResource(id = R.string.perception_expander_thickness_option), + onValueChange = { + mainModel.onEvent( + MainEvent.OnChangePerceptionExpanderThickness(it) + ) + } + ) + } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt index be4b5238..31329e3d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt @@ -8,20 +8,23 @@ 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() val state = mainModel.state.collectAsStateWithLifecycle() - SliderWithTitle( - value = state.value.screenBrightness to "", - toValue = 100, - title = stringResource(id = R.string.screen_brightness_option), - onValueChange = { - mainModel.onEvent( - MainEvent.OnChangeScreenBrightness(it) - ) - } - ) + ExpandingTransition(visible = state.value.customScreenBrightness) { + SliderWithTitle( + value = state.value.screenBrightness to "", + toValue = 100, + title = stringResource(id = R.string.screen_brightness_option), + onValueChange = { + mainModel.onEvent( + MainEvent.OnChangeScreenBrightness(it) + ) + } + ) + } } \ No newline at end of file