🛠️ Replace "ImagesAlignment" with universal "HorizontalAlignment"

This commit is contained in:
Acclorite 2025-01-12 17:03:49 +02:00
parent bfc5884a16
commit 8e531c5ced
10 changed files with 34 additions and 34 deletions

View file

@ -1,13 +0,0 @@
package ua.acclorite.book_story.domain.reader
import androidx.compose.ui.Alignment
enum class ReaderImagesAlignment(val alignment: Alignment) {
START(Alignment.CenterStart),
CENTER(Alignment.Center),
END(Alignment.CenterEnd)
}
fun String.toImagesAlignment(): ReaderImagesAlignment {
return ReaderImagesAlignment.valueOf(this)
}

View file

@ -0,0 +1,13 @@
package ua.acclorite.book_story.domain.util
import androidx.compose.ui.Alignment
enum class HorizontalAlignment(val alignment: Alignment) {
START(Alignment.CenterStart),
CENTER(Alignment.Center),
END(Alignment.CenterEnd)
}
fun String.toHorizontalAlignment(): HorizontalAlignment {
return HorizontalAlignment.valueOf(this)
}

View file

@ -16,13 +16,13 @@ import ua.acclorite.book_story.domain.library.book.Book
import ua.acclorite.book_story.domain.reader.Checkpoint import ua.acclorite.book_story.domain.reader.Checkpoint
import ua.acclorite.book_story.domain.reader.FontWithName import ua.acclorite.book_story.domain.reader.FontWithName
import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture
import ua.acclorite.book_story.domain.reader.ReaderImagesAlignment
import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText
import ua.acclorite.book_story.domain.reader.ReaderText.Chapter import ua.acclorite.book_story.domain.reader.ReaderText.Chapter
import ua.acclorite.book_story.domain.reader.ReaderTextAlignment import ua.acclorite.book_story.domain.reader.ReaderTextAlignment
import ua.acclorite.book_story.domain.ui.UIText import ua.acclorite.book_story.domain.ui.UIText
import ua.acclorite.book_story.domain.util.BottomSheet import ua.acclorite.book_story.domain.util.BottomSheet
import ua.acclorite.book_story.domain.util.Drawer import ua.acclorite.book_story.domain.util.Drawer
import ua.acclorite.book_story.domain.util.HorizontalAlignment
import ua.acclorite.book_story.ui.reader.ReaderEvent import ua.acclorite.book_story.ui.reader.ReaderEvent
import ua.acclorite.book_story.ui.settings.SettingsEvent import ua.acclorite.book_story.ui.settings.SettingsEvent
@ -62,7 +62,7 @@ fun ReaderContent(
fontColor: Color, fontColor: Color,
images: Boolean, images: Boolean,
imagesCornersRoundness: Dp, imagesCornersRoundness: Dp,
imagesAlignment: ReaderImagesAlignment, imagesAlignment: HorizontalAlignment,
imagesWidth: Float, imagesWidth: Float,
imagesColorEffects: ColorFilter?, imagesColorEffects: ColorFilter?,
fontFamily: FontWithName, fontFamily: FontWithName,

View file

@ -29,9 +29,9 @@ import androidx.compose.ui.unit.dp
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.domain.reader.FontWithName import ua.acclorite.book_story.domain.reader.FontWithName
import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture
import ua.acclorite.book_story.domain.reader.ReaderImagesAlignment
import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText
import ua.acclorite.book_story.domain.reader.ReaderTextAlignment import ua.acclorite.book_story.domain.reader.ReaderTextAlignment
import ua.acclorite.book_story.domain.util.HorizontalAlignment
import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility
import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar
import ua.acclorite.book_story.presentation.core.components.common.SelectionContainer import ua.acclorite.book_story.presentation.core.components.common.SelectionContainer
@ -61,7 +61,7 @@ fun ReaderLayout(
fontColor: Color, fontColor: Color,
images: Boolean, images: Boolean,
imagesCornersRoundness: Dp, imagesCornersRoundness: Dp,
imagesAlignment: ReaderImagesAlignment, imagesAlignment: HorizontalAlignment,
imagesWidth: Float, imagesWidth: Float,
imagesColorEffects: ColorFilter?, imagesColorEffects: ColorFilter?,
fontFamily: FontWithName, fontFamily: FontWithName,

View file

@ -11,9 +11,9 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.TextUnit
import ua.acclorite.book_story.domain.reader.FontWithName import ua.acclorite.book_story.domain.reader.FontWithName
import ua.acclorite.book_story.domain.reader.ReaderImagesAlignment
import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText
import ua.acclorite.book_story.domain.reader.ReaderTextAlignment import ua.acclorite.book_story.domain.reader.ReaderTextAlignment
import ua.acclorite.book_story.domain.util.HorizontalAlignment
import ua.acclorite.book_story.ui.reader.ReaderEvent import ua.acclorite.book_story.ui.reader.ReaderEvent
@Composable @Composable
@ -22,7 +22,7 @@ fun LazyItemScope.ReaderLayoutText(
showMenu: Boolean, showMenu: Boolean,
entry: ReaderText, entry: ReaderText,
imagesCornersRoundness: Dp, imagesCornersRoundness: Dp,
imagesAlignment: ReaderImagesAlignment, imagesAlignment: HorizontalAlignment,
imagesWidth: Float, imagesWidth: Float,
imagesColorEffects: ColorFilter?, imagesColorEffects: ColorFilter?,
fontFamily: FontWithName, fontFamily: FontWithName,

View file

@ -12,15 +12,15 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.Dp
import ua.acclorite.book_story.domain.reader.ReaderImagesAlignment
import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText
import ua.acclorite.book_story.domain.util.HorizontalAlignment
@Composable @Composable
fun LazyItemScope.ReaderLayoutTextImage( fun LazyItemScope.ReaderLayoutTextImage(
entry: ReaderText.Image, entry: ReaderText.Image,
sidePadding: Dp, sidePadding: Dp,
imagesCornersRoundness: Dp, imagesCornersRoundness: Dp,
imagesAlignment: ReaderImagesAlignment, imagesAlignment: HorizontalAlignment,
imagesWidth: Float, imagesWidth: Float,
imagesColorEffects: ColorFilter? imagesColorEffects: ColorFilter?
) { ) {

View file

@ -24,10 +24,10 @@ import ua.acclorite.book_story.domain.library.book.Book
import ua.acclorite.book_story.domain.reader.Checkpoint import ua.acclorite.book_story.domain.reader.Checkpoint
import ua.acclorite.book_story.domain.reader.FontWithName import ua.acclorite.book_story.domain.reader.FontWithName
import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture
import ua.acclorite.book_story.domain.reader.ReaderImagesAlignment
import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText
import ua.acclorite.book_story.domain.reader.ReaderText.Chapter import ua.acclorite.book_story.domain.reader.ReaderText.Chapter
import ua.acclorite.book_story.domain.reader.ReaderTextAlignment import ua.acclorite.book_story.domain.reader.ReaderTextAlignment
import ua.acclorite.book_story.domain.util.HorizontalAlignment
import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility
import ua.acclorite.book_story.ui.reader.ReaderEvent import ua.acclorite.book_story.ui.reader.ReaderEvent
import ua.acclorite.book_story.ui.settings.SettingsEvent import ua.acclorite.book_story.ui.settings.SettingsEvent
@ -66,7 +66,7 @@ fun ReaderScaffold(
fontColor: Color, fontColor: Color,
images: Boolean, images: Boolean,
imagesCornersRoundness: Dp, imagesCornersRoundness: Dp,
imagesAlignment: ReaderImagesAlignment, imagesAlignment: HorizontalAlignment,
imagesWidth: Float, imagesWidth: Float,
imagesColorEffects: ColorFilter?, imagesColorEffects: ColorFilter?,
fontFamily: FontWithName, fontFamily: FontWithName,

View file

@ -6,8 +6,8 @@ import androidx.compose.ui.res.stringResource
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.domain.reader.ReaderImagesAlignment
import ua.acclorite.book_story.domain.ui.ButtonItem import ua.acclorite.book_story.domain.ui.ButtonItem
import ua.acclorite.book_story.domain.util.HorizontalAlignment
import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle
import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainEvent
import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.main.MainModel
@ -21,13 +21,13 @@ fun ImagesAlignmentOption() {
ExpandingTransition(visible = state.value.images) { ExpandingTransition(visible = state.value.images) {
SegmentedButtonWithTitle( SegmentedButtonWithTitle(
title = stringResource(id = R.string.images_alignment_option), title = stringResource(id = R.string.images_alignment_option),
buttons = ReaderImagesAlignment.entries.map { buttons = HorizontalAlignment.entries.map {
ButtonItem( ButtonItem(
id = it.toString(), id = it.toString(),
title = when (it) { title = when (it) {
ReaderImagesAlignment.START -> stringResource(id = R.string.alignment_start) HorizontalAlignment.START -> stringResource(id = R.string.alignment_start)
ReaderImagesAlignment.CENTER -> stringResource(id = R.string.alignment_center) HorizontalAlignment.CENTER -> stringResource(id = R.string.alignment_center)
ReaderImagesAlignment.END -> stringResource(id = R.string.alignment_end) HorizontalAlignment.END -> stringResource(id = R.string.alignment_end)
}, },
textStyle = MaterialTheme.typography.labelLarge, textStyle = MaterialTheme.typography.labelLarge,
selected = it == state.value.imagesAlignment selected = it == state.value.imagesAlignment

View file

@ -21,13 +21,13 @@ import ua.acclorite.book_story.domain.browse.toBrowseLayout
import ua.acclorite.book_story.domain.browse.toBrowseSortOrder import ua.acclorite.book_story.domain.browse.toBrowseSortOrder
import ua.acclorite.book_story.domain.reader.toColorEffects import ua.acclorite.book_story.domain.reader.toColorEffects
import ua.acclorite.book_story.domain.reader.toHorizontalGesture import ua.acclorite.book_story.domain.reader.toHorizontalGesture
import ua.acclorite.book_story.domain.reader.toImagesAlignment
import ua.acclorite.book_story.domain.reader.toReaderScreenOrientation import ua.acclorite.book_story.domain.reader.toReaderScreenOrientation
import ua.acclorite.book_story.domain.reader.toTextAlignment import ua.acclorite.book_story.domain.reader.toTextAlignment
import ua.acclorite.book_story.domain.use_case.data_store.ChangeLanguage import ua.acclorite.book_story.domain.use_case.data_store.ChangeLanguage
import ua.acclorite.book_story.domain.use_case.data_store.GetAllSettings import ua.acclorite.book_story.domain.use_case.data_store.GetAllSettings
import ua.acclorite.book_story.domain.use_case.data_store.SetDatastore import ua.acclorite.book_story.domain.use_case.data_store.SetDatastore
import ua.acclorite.book_story.domain.use_case.remote.CheckForUpdates import ua.acclorite.book_story.domain.use_case.remote.CheckForUpdates
import ua.acclorite.book_story.domain.util.toHorizontalAlignment
import ua.acclorite.book_story.presentation.core.constants.Constants import ua.acclorite.book_story.presentation.core.constants.Constants
import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants
import ua.acclorite.book_story.presentation.core.constants.provideFonts import ua.acclorite.book_story.presentation.core.constants.provideFonts
@ -445,7 +445,7 @@ class MainModel @Inject constructor(
key = DataStoreConstants.IMAGES_ALIGNMENT, key = DataStoreConstants.IMAGES_ALIGNMENT,
value = event.value, value = event.value,
updateState = { updateState = {
it.copy(imagesAlignment = this.toImagesAlignment()) it.copy(imagesAlignment = this.toHorizontalAlignment())
} }
) )

View file

@ -15,14 +15,14 @@ import ua.acclorite.book_story.domain.browse.toBrowseLayout
import ua.acclorite.book_story.domain.browse.toBrowseSortOrder import ua.acclorite.book_story.domain.browse.toBrowseSortOrder
import ua.acclorite.book_story.domain.reader.ReaderColorEffects import ua.acclorite.book_story.domain.reader.ReaderColorEffects
import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture
import ua.acclorite.book_story.domain.reader.ReaderImagesAlignment
import ua.acclorite.book_story.domain.reader.ReaderScreenOrientation import ua.acclorite.book_story.domain.reader.ReaderScreenOrientation
import ua.acclorite.book_story.domain.reader.ReaderTextAlignment import ua.acclorite.book_story.domain.reader.ReaderTextAlignment
import ua.acclorite.book_story.domain.reader.toColorEffects import ua.acclorite.book_story.domain.reader.toColorEffects
import ua.acclorite.book_story.domain.reader.toHorizontalGesture import ua.acclorite.book_story.domain.reader.toHorizontalGesture
import ua.acclorite.book_story.domain.reader.toImagesAlignment
import ua.acclorite.book_story.domain.reader.toReaderScreenOrientation import ua.acclorite.book_story.domain.reader.toReaderScreenOrientation
import ua.acclorite.book_story.domain.reader.toTextAlignment import ua.acclorite.book_story.domain.reader.toTextAlignment
import ua.acclorite.book_story.domain.util.HorizontalAlignment
import ua.acclorite.book_story.domain.util.toHorizontalAlignment
import ua.acclorite.book_story.presentation.core.constants.Constants import ua.acclorite.book_story.presentation.core.constants.Constants
import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants
import ua.acclorite.book_story.presentation.core.constants.provideFonts import ua.acclorite.book_story.presentation.core.constants.provideFonts
@ -99,7 +99,7 @@ data class MainState(
val chapterTitleAlignment: ReaderTextAlignment = provideDefaultValue { ReaderTextAlignment.JUSTIFY }, val chapterTitleAlignment: ReaderTextAlignment = provideDefaultValue { ReaderTextAlignment.JUSTIFY },
val images: Boolean = provideDefaultValue { true }, val images: Boolean = provideDefaultValue { true },
val imagesCornersRoundness: Int = provideDefaultValue { 8 }, val imagesCornersRoundness: Int = provideDefaultValue { 8 },
val imagesAlignment: ReaderImagesAlignment = provideDefaultValue { ReaderImagesAlignment.START }, val imagesAlignment: HorizontalAlignment = provideDefaultValue { HorizontalAlignment.START },
val imagesWidth: Float = provideDefaultValue { 0.8f }, val imagesWidth: Float = provideDefaultValue { 0.8f },
val imagesColorEffects: ReaderColorEffects = provideDefaultValue { ReaderColorEffects.OFF }, val imagesColorEffects: ReaderColorEffects = provideDefaultValue { ReaderColorEffects.OFF },
val progressBar: Boolean = provideDefaultValue { false }, val progressBar: Boolean = provideDefaultValue { false },
@ -331,7 +331,7 @@ data class MainState(
) { imagesCornersRoundness }, ) { imagesCornersRoundness },
imagesAlignment = provideValue( imagesAlignment = provideValue(
IMAGES_ALIGNMENT, convert = { toImagesAlignment() } IMAGES_ALIGNMENT, convert = { toHorizontalAlignment() }
) { imagesAlignment }, ) { imagesAlignment },
imagesWidth = provideValue( imagesWidth = provideValue(