diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/change_cover_bottom_sheet/BookInfoChangeCoverBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/change_cover_bottom_sheet/BookInfoChangeCoverBottomSheet.kt index 3688d899..ec6bde27 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/change_cover_bottom_sheet/BookInfoChangeCoverBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/change_cover_bottom_sheet/BookInfoChangeCoverBottomSheet.kt @@ -72,7 +72,7 @@ fun BookInfoChangeCoverBottomSheet( onEvent(BookInfoEvent.OnShowHideChangeCoverBottomSheet) }, sheetState = rememberModalBottomSheetState(true), - windowInsets = WindowInsets(0, 0, 0, 0), + contentWindowInsets = { WindowInsets(0, 0, 0, 0) }, containerColor = MaterialTheme.colorScheme.surfaceContainerLow ) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/details_bottom_sheet/BookInfoDetailsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/details_bottom_sheet/BookInfoDetailsBottomSheet.kt index 34ffc8dc..c8200c95 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/details_bottom_sheet/BookInfoDetailsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/book_info/components/details_bottom_sheet/BookInfoDetailsBottomSheet.kt @@ -72,7 +72,7 @@ fun BookInfoDetailsBottomSheet( onEvent(BookInfoEvent.OnShowHideDetailsBottomSheet) }, sheetState = rememberModalBottomSheetState(true), - windowInsets = WindowInsets(0, 0, 0, 0), + contentWindowInsets = { WindowInsets(0, 0, 0, 0) }, containerColor = MaterialTheme.colorScheme.surfaceContainerLow ) { BookInfoDetailsBottomSheetItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/history/components/HistoryItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/history/components/HistoryItem.kt index 8d766331..ac9b9fe0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/history/components/HistoryItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/history/components/HistoryItem.kt @@ -120,7 +120,6 @@ fun HistoryItem( maxLines = 2, overflow = TextOverflow.Ellipsis ) - Spacer(modifier = Modifier.height(2.dp)) Text( pattern.format(date), color = MaterialTheme.colorScheme.onSurfaceVariant, 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 ae4e9a47..3d297ac9 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 @@ -41,10 +41,10 @@ import ua.acclorite.book_story.presentation.components.CategoryTitle import ua.acclorite.book_story.presentation.data.MainEvent import ua.acclorite.book_story.presentation.data.MainState import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent -import ua.acclorite.book_story.presentation.screens.settings.components.CheckboxWithTitle import ua.acclorite.book_story.presentation.screens.settings.components.ChipsWithTitle import ua.acclorite.book_story.presentation.screens.settings.components.ColorPickerWithTitle import ua.acclorite.book_story.presentation.screens.settings.components.SliderWithTitle +import ua.acclorite.book_story.presentation.screens.settings.components.SwitchWithTitle /** * Settings bottom sheet. Has General and Colors categories. @@ -110,7 +110,7 @@ fun ReaderSettingsBottomSheet( onEvent(ReaderEvent.OnShowHideSettingsBottomSheet) }, sheetState = rememberModalBottomSheetState(true), - windowInsets = WindowInsets(0, 0, 0, 0), + contentWindowInsets = { WindowInsets(0, 0, 0, 0) }, containerColor = MaterialTheme.colorScheme.surfaceContainerLow ) { ReaderSettingsBottomSheetTabRow( @@ -252,7 +252,7 @@ fun ReaderSettingsBottomSheet( ) } item { - CheckboxWithTitle( + SwitchWithTitle( selected = mainState.value.paragraphIndentation!!, title = stringResource(id = R.string.paragraph_indentation_option) ) { @@ -306,7 +306,6 @@ fun ReaderSettingsBottomSheet( } } } - } diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/components/CheckboxWIthTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/components/SwitchWIthTitle.kt similarity index 63% rename from app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/components/CheckboxWIthTitle.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/components/SwitchWIthTitle.kt index c9d3ac29..244dac28 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/components/CheckboxWIthTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/components/SwitchWIthTitle.kt @@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Switch +import androidx.compose.material3.SwitchDefaults import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -19,9 +20,16 @@ import androidx.compose.ui.unit.dp /** * Checkbox with title. + * + * @param selected Whether [Switch] has checked state. + * @param title Title. + * @param description Optional description. + * @param horizontalPadding Horizontal padding. + * @param verticalPadding Vertical padding. + * @param onClick Triggers when user clicks anywhere on this composable. */ @Composable -fun CheckboxWithTitle( +fun SwitchWithTitle( selected: Boolean, title: String, description: String? = null, @@ -36,15 +44,12 @@ fun CheckboxWithTitle( verticalAlignment = Alignment.CenterVertically ) { Column(Modifier.weight(1f), verticalArrangement = Arrangement.Center) { - Row(verticalAlignment = Alignment.CenterVertically) { - Text( - text = title, - color = MaterialTheme.colorScheme.onSurfaceVariant, - maxLines = 1, - overflow = TextOverflow.Ellipsis, - style = MaterialTheme.typography.titleMedium - ) - } + Text( + text = title, + color = MaterialTheme.colorScheme.onSurfaceVariant, + overflow = TextOverflow.Ellipsis, + style = MaterialTheme.typography.titleMedium + ) description?.let { Text( text = it, @@ -55,27 +60,13 @@ fun CheckboxWithTitle( } Spacer(modifier = Modifier.width(8.dp)) - Switch( checked = selected, - onCheckedChange = null + onCheckedChange = null, + colors = SwitchDefaults.colors( + checkedThumbColor = MaterialTheme.colorScheme.primary, + checkedTrackColor = MaterialTheme.colorScheme.secondaryContainer, + ) ) } -// -// Row( -// Modifier -// .fillMaxWidth() -// .clickable { -// onClick() -// } -// .padding(horizontal = horizontalPadding, vertical = verticalPadding), -// verticalAlignment = Alignment.CenterVertically, -// ) { -// Checkbox( -// checked = selected, -// onCheckedChange = null, -// ) -// Spacer(modifier = Modifier.width(24.dp)) -// CategoryTitle(title = title, padding = 0.dp) -// } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/general/GeneralSettings.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/general/GeneralSettings.kt index 2a4b3772..3e1c7236 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/general/GeneralSettings.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/general/GeneralSettings.kt @@ -38,8 +38,8 @@ import ua.acclorite.book_story.presentation.data.MainEvent import ua.acclorite.book_story.presentation.data.MainState import ua.acclorite.book_story.presentation.data.MainViewModel import ua.acclorite.book_story.presentation.data.Navigator -import ua.acclorite.book_story.presentation.screens.settings.components.CheckboxWithTitle import ua.acclorite.book_story.presentation.screens.settings.components.ChipsWithTitle +import ua.acclorite.book_story.presentation.screens.settings.components.SwitchWithTitle import ua.acclorite.book_story.presentation.screens.settings.data.SettingsEvent import ua.acclorite.book_story.presentation.screens.settings.data.SettingsViewModel @@ -127,7 +127,7 @@ private fun GeneralSettings( } item { - CheckboxWithTitle( + SwitchWithTitle( selected = state.value.checkForUpdates!!, title = stringResource(id = R.string.check_for_updates_option), description = stringResource(id = R.string.check_for_updates_option_desc) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/ReaderSettings.kt b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/ReaderSettings.kt index 2519f3c6..d4fa290c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/ReaderSettings.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/nested/reader/ReaderSettings.kt @@ -35,9 +35,9 @@ import ua.acclorite.book_story.presentation.data.MainEvent import ua.acclorite.book_story.presentation.data.MainState import ua.acclorite.book_story.presentation.data.MainViewModel import ua.acclorite.book_story.presentation.data.Navigator -import ua.acclorite.book_story.presentation.screens.settings.components.CheckboxWithTitle import ua.acclorite.book_story.presentation.screens.settings.components.ChipsWithTitle import ua.acclorite.book_story.presentation.screens.settings.components.SliderWithTitle +import ua.acclorite.book_story.presentation.screens.settings.components.SwitchWithTitle @Composable fun ReaderSettingsRoot() { @@ -227,7 +227,7 @@ private fun ReaderSettings( ) } item { - CheckboxWithTitle( + SwitchWithTitle( selected = state.value.paragraphIndentation!!, title = stringResource(id = R.string.paragraph_indentation_option) ) {