From 092ae331aaeb40e2a3c40220264efc81d0d2d44c Mon Sep 17 00:00:00 2001
From: Acclorite <140836141+Acclorite@users.noreply.github.com>
Date: Sun, 22 Sep 2024 20:31:41 +0300
Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Move=20fast=20color=20p?=
=?UTF-8?q?reset=20change=20to=20top=20bar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Moved swipe area of "Fast color preset change" to top bar
---
.../screens/reader/ReaderScreen.kt | 16 ----------------
.../components/ReaderFastColorPresetChange.kt | 4 +---
.../reader/components/app_bar/ReaderTopBar.kt | 18 ++++++++++++++++++
app/src/main/res/values-uk/strings.xml | 4 ++--
app/src/main/res/values/strings.xml | 4 ++--
5 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/ReaderScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/ReaderScreen.kt
index f3cf614a..1ece41cf 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/ReaderScreen.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/ReaderScreen.kt
@@ -85,7 +85,6 @@ import ua.acclorite.book_story.presentation.screens.reader.components.ReaderText
import ua.acclorite.book_story.presentation.screens.reader.components.ReaderUpdateDialog
import ua.acclorite.book_story.presentation.screens.reader.components.app_bar.ReaderBottomBar
import ua.acclorite.book_story.presentation.screens.reader.components.app_bar.ReaderTopBar
-import ua.acclorite.book_story.presentation.screens.reader.components.readerFastColorPresetChange
import ua.acclorite.book_story.presentation.screens.reader.components.settings_bottom_sheet.ReaderSettingsBottomSheet
import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.data.ReaderTextAlignment
@@ -476,21 +475,6 @@ private fun ReaderScreen(lazyListState: LazyListState) {
Modifier
}
)
- .readerFastColorPresetChange(
- fastColorPresetChangeEnabled = mainState.value.fastColorPresetChange,
- isLoading = state.value.loading,
- toolbarHidden = toolbarHidden,
- presetChanged = {
- context
- .getString(
- R.string.color_preset_selected_query,
- it
- .asString(context)
- .trim()
- )
- .showToast(context = context, longToast = false)
- }
- )
.padding(contentPadding)
.padding(vertical = verticalPadding),
verticalArrangement = Arrangement.spacedBy(paragraphHeight),
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/ReaderFastColorPresetChange.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/ReaderFastColorPresetChange.kt
index 7a5b4cf6..a854d6fb 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/ReaderFastColorPresetChange.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/ReaderFastColorPresetChange.kt
@@ -16,21 +16,19 @@ import ua.acclorite.book_story.presentation.screens.settings.data.SettingsEvent
*
* @param fastColorPresetChangeEnabled Whether this is enabled.
* @param isLoading Whether Reader is loading.
- * @param toolbarHidden Whether toolbar(selection) is hidden.
* @param presetChanged Callback when Color Preset was changed.
*/
@Composable
fun Modifier.readerFastColorPresetChange(
fastColorPresetChangeEnabled: Boolean,
isLoading: Boolean,
- toolbarHidden: Boolean,
presetChanged: (UIText) -> Unit
): Modifier {
val onSettingsEvent = LocalSettingsViewModel.current.onEvent
val offset = remember { mutableFloatStateOf(0f) }
return this.then(
- if (fastColorPresetChangeEnabled && toolbarHidden && !isLoading) {
+ if (fastColorPresetChangeEnabled && !isLoading) {
Modifier.pointerInput(Unit) {
detectHorizontalDragGestures(
onDragStart = { offset.floatValue = 0f },
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/app_bar/ReaderTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/app_bar/ReaderTopBar.kt
index 9501ff21..b54a6ca4 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/app_bar/ReaderTopBar.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/app_bar/ReaderTopBar.kt
@@ -40,12 +40,15 @@ import ua.acclorite.book_story.presentation.core.components.CustomAnimatedVisibi
import ua.acclorite.book_story.presentation.core.components.CustomIconButton
import ua.acclorite.book_story.presentation.core.components.LocalHistoryViewModel
import ua.acclorite.book_story.presentation.core.components.LocalLibraryViewModel
+import ua.acclorite.book_story.presentation.core.components.LocalMainViewModel
import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel
import ua.acclorite.book_story.presentation.core.navigation.LocalOnNavigate
import ua.acclorite.book_story.presentation.core.navigation.Screen
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
+import ua.acclorite.book_story.presentation.core.util.showToast
import ua.acclorite.book_story.presentation.screens.history.data.HistoryEvent
import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent
+import ua.acclorite.book_story.presentation.screens.reader.components.readerFastColorPresetChange
import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent
import ua.acclorite.book_story.presentation.ui.Colors
@@ -56,6 +59,7 @@ import ua.acclorite.book_story.presentation.ui.Colors
@Composable
fun ReaderTopBar() {
val state = LocalReaderViewModel.current.state
+ val mainState = LocalMainViewModel.current.state
val onEvent = LocalReaderViewModel.current.onEvent
val onLibraryEvent = LocalLibraryViewModel.current.onEvent
val onHistoryEvent = LocalHistoryViewModel.current.onEvent
@@ -70,6 +74,20 @@ fun ReaderTopBar() {
Modifier
.fillMaxWidth()
.background(Colors.readerSystemBarsColor)
+ .readerFastColorPresetChange(
+ fastColorPresetChangeEnabled = mainState.value.fastColorPresetChange,
+ isLoading = state.value.loading,
+ presetChanged = {
+ context
+ .getString(
+ R.string.color_preset_selected_query,
+ it
+ .asString(context)
+ .trim()
+ )
+ .showToast(context = context, longToast = false)
+ }
+ )
) {
TopAppBar(
navigationIcon = {
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 28b91cf0..0259cb75 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -248,7 +248,7 @@
Переклад подвійним кліком
Двічі клацніть на абзац, щоб перекласти його
Швидка зміна пресета кольорів
- Проведіть вліво або вправо, щоб змінити пресет кольорів
+ Проведіть верхню панель вліво або вправо, щоб змінити пресет кольорів
Розташування текста
Відстань між літерами
Відступ від виїмки
@@ -552,7 +552,7 @@
після цього перемістіть його до бажаного місця.
Ви можете швидко змінювати пресети кольорів увімкнувши відповідне
налаштування в підкатегорії «Кольори» налаштувань Зовнішнього Вигляду,
- та потім провівши вліво або вправо в Читачі, щоб швидко змінити пресет кольорів.
+ та потім провівши верхню панель вліво або вправо в Читачі, щоб швидко змінити пресет кольорів.
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b9cd9aa5..1762bd7e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -249,7 +249,7 @@
Double click translation
Double click on paragraph to translate it
Fast color preset change
- Swipe left or right to change color preset
+ Swipe top bar left or right to change color preset
Text alignment
Letter spacing
Cutout padding
@@ -550,7 +550,7 @@
If you want to reorder color preset, select it and hold «Handle» icon-button,
then move it to the desired position.
You can fast change color presets by enabling corresponding setting
- in Appearance setting\'s «Colors» subcategory, then swiping left or right in Reader,
+ in Appearance setting\'s «Colors» subcategory, then swiping top bar left or right in Reader,
to fast change color preset.