diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheet.kt
index 50831d2a..13f1a294 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheet.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheet.kt
@@ -5,6 +5,7 @@ import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.animation.core.tween
import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.pager.HorizontalPager
@@ -23,7 +24,10 @@ import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel
import ua.acclorite.book_story.presentation.core.components.custom_bottom_sheet.CustomBottomSheet
import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent
import ua.acclorite.book_story.presentation.screens.settings.nested.appearance.components.subcategories.ColorsSubcategory
-import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.ReaderSettingsCategory
+import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.FontSubcategory
+import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.PaddingSubcategory
+import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.TextSubcategory
+import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.TranslatorSubcategory
/**
* Settings bottom sheet. Has General and Colors categories.
@@ -77,23 +81,37 @@ fun ReaderSettingsBottomSheet() {
HorizontalPager(state = pagerState) { page ->
if (page == 0) {
- LazyColumn {
-
+ LazyColumn(Modifier.fillMaxSize()) {
+ PaddingSubcategory(
+ titleColor = { MaterialTheme.colorScheme.onSurface },
+ topPadding = 22.dp,
+ bottomPadding = 0.dp
+ )
}
}
if (page == 1) {
- LazyColumn {
- ReaderSettingsCategory(
+ LazyColumn(Modifier.fillMaxSize()) {
+ FontSubcategory(
titleColor = { MaterialTheme.colorScheme.onSurface },
topPadding = 16.dp,
+ bottomPadding = 0.dp
+ )
+ TextSubcategory(
+ titleColor = { MaterialTheme.colorScheme.onSurface },
+ topPadding = 22.dp,
+ bottomPadding = 0.dp
+ )
+ TranslatorSubcategory(
+ titleColor = { MaterialTheme.colorScheme.onSurface },
+ topPadding = 22.dp,
bottomPadding = 8.dp + it
)
}
}
if (page == 2) {
- LazyColumn {
+ LazyColumn(Modifier.fillMaxSize()) {
ColorsSubcategory(
showTitle = false,
backgroundColor = { MaterialTheme.colorScheme.surfaceContainer },
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheetTabRow.kt
index 582824ee..49f52cd3 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheetTabRow.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/reader/components/settings_bottom_sheet/ReaderSettingsBottomSheetTabRow.kt
@@ -20,6 +20,7 @@ fun ReaderSettingsBottomSheetTabRow(pagerState: PagerState) {
val tabItems = listOf(
stringResource(id = R.string.general_tab),
+ stringResource(id = R.string.reader_tab),
stringResource(id = R.string.color_tab)
)
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/ReaderSettingsCategory.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/ReaderSettingsCategory.kt
index b5a961fb..8bfdf079 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/ReaderSettingsCategory.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/ReaderSettingsCategory.kt
@@ -10,6 +10,7 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import ua.acclorite.book_story.presentation.core.components.CategoryTitle
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.FontSubcategory
+import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.PaddingSubcategory
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.TextSubcategory
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories.TranslatorSubcategory
@@ -36,6 +37,11 @@ fun LazyListScope.ReaderSettingsCategory(
topPadding = 22.dp,
bottomPadding = 0.dp
)
+ PaddingSubcategory(
+ titleColor = titleColor,
+ topPadding = 22.dp,
+ bottomPadding = 0.dp
+ )
TranslatorSubcategory(
titleColor = titleColor,
topPadding = 22.dp,
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/subcategories/PaddingSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/subcategories/PaddingSubcategory.kt
new file mode 100644
index 00000000..07876cc2
--- /dev/null
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/subcategories/PaddingSubcategory.kt
@@ -0,0 +1,59 @@
+@file:Suppress("FunctionName")
+
+package ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.subcategories
+
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.lazy.LazyListScope
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.coerceAtLeast
+import androidx.compose.ui.unit.dp
+import ua.acclorite.book_story.R
+import ua.acclorite.book_story.presentation.core.components.CategoryTitle
+import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.settings.SidePaddingSetting
+
+/**
+ * Padding subcategory.
+ * Contains all settings related to padding.
+ */
+fun LazyListScope.PaddingSubcategory(
+ titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary },
+ title: @Composable () -> String = { stringResource(id = R.string.padding_reader_settings) },
+ showTitle: Boolean = true,
+ topPadding: Dp,
+ bottomPadding: Dp
+) {
+ item {
+ if (showTitle) {
+ CategoryTitle(
+ title = title.invoke(),
+ color = titleColor.invoke(),
+ modifier = Modifier
+ .padding(
+ top = topPadding,
+ bottom = 8.dp
+ )
+ )
+ } else {
+ Spacer(
+ modifier = Modifier.height((topPadding - 8.dp).coerceAtLeast(0.dp))
+ )
+ }
+ }
+
+ item {
+ SidePaddingSetting()
+ }
+
+ item {
+ Spacer(
+ modifier = Modifier.height(bottomPadding)
+ )
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/subcategories/TextSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/subcategories/TextSubcategory.kt
index dd9d3b85..153db8c5 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/subcategories/TextSubcategory.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/components/subcategories/TextSubcategory.kt
@@ -19,7 +19,6 @@ import ua.acclorite.book_story.presentation.core.components.CategoryTitle
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.settings.LineHeightSetting
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.settings.ParagraphHeightSetting
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.settings.ParagraphIndentationSetting
-import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.settings.SidePaddingSetting
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.components.settings.TextAlignmentSetting
/**
@@ -55,10 +54,6 @@ fun LazyListScope.TextSubcategory(
TextAlignmentSetting()
}
- item {
- SidePaddingSetting()
- }
-
item {
LineHeightSetting()
}
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index fabc2db5..7397a7b9 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -183,6 +183,7 @@
Кольори
Фільтр
Сортування
+ Читач
Головні
@@ -198,6 +199,7 @@
Шрифт
Текст
Перекладач
+ Відступи
Налаштування теми
Кольори
Головні
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a7bcf68f..c57a0672 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -200,6 +200,7 @@
Colors
Filter
Sort
+ Reader
General
@@ -215,6 +216,7 @@
Font
Text
Translator
+ Padding
Theme preferences
Colors
General