|
@@ -1,24 +1,25 @@
|
|
|
package eu.kanade.presentation.reader
|
|
|
|
|
|
-import androidx.compose.foundation.layout.Arrangement
|
|
|
-import androidx.compose.foundation.layout.Row
|
|
|
+import androidx.compose.foundation.layout.Box
|
|
|
+import androidx.compose.foundation.layout.fillMaxWidth
|
|
|
import androidx.compose.foundation.layout.padding
|
|
|
-import androidx.compose.material3.FilterChip
|
|
|
+import androidx.compose.foundation.lazy.grid.items
|
|
|
import androidx.compose.material3.MaterialTheme
|
|
|
-import androidx.compose.material3.Text
|
|
|
import androidx.compose.runtime.Composable
|
|
|
import androidx.compose.runtime.collectAsState
|
|
|
import androidx.compose.runtime.getValue
|
|
|
import androidx.compose.runtime.remember
|
|
|
import androidx.compose.ui.Modifier
|
|
|
+import androidx.compose.ui.graphics.vector.ImageVector
|
|
|
import androidx.compose.ui.res.stringResource
|
|
|
-import androidx.compose.ui.unit.dp
|
|
|
+import androidx.compose.ui.res.vectorResource
|
|
|
import eu.kanade.domain.manga.model.readingModeType
|
|
|
import eu.kanade.presentation.components.AdaptiveSheet
|
|
|
import eu.kanade.tachiyomi.R
|
|
|
import eu.kanade.tachiyomi.ui.reader.setting.ReaderSettingsScreenModel
|
|
|
import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType
|
|
|
-import tachiyomi.presentation.core.components.SettingsChipRow
|
|
|
+import tachiyomi.presentation.core.components.SettingsIconGrid
|
|
|
+import tachiyomi.presentation.core.components.material.IconToggleButton
|
|
|
import tachiyomi.presentation.core.components.material.padding
|
|
|
|
|
|
private val readingModeOptions = ReadingModeType.entries.map { it.stringRes to it }
|
|
@@ -32,22 +33,20 @@ fun ReadingModeSelectDialog(
|
|
|
val manga by screenModel.mangaFlow.collectAsState()
|
|
|
val readingMode = remember(manga) { ReadingModeType.fromPreference(manga?.readingModeType?.toInt()) }
|
|
|
|
|
|
- AdaptiveSheet(
|
|
|
- onDismissRequest = onDismissRequest,
|
|
|
- ) {
|
|
|
- Row(
|
|
|
- modifier = Modifier.padding(vertical = 16.dp),
|
|
|
- horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.small),
|
|
|
- ) {
|
|
|
- SettingsChipRow(R.string.pref_category_reading_mode) {
|
|
|
- readingModeOptions.map { (stringRes, it) ->
|
|
|
- FilterChip(
|
|
|
- selected = it == readingMode,
|
|
|
- onClick = {
|
|
|
- screenModel.onChangeReadingMode(it)
|
|
|
+ AdaptiveSheet(onDismissRequest = onDismissRequest) {
|
|
|
+ Box(modifier = Modifier.padding(vertical = MaterialTheme.padding.medium)) {
|
|
|
+ SettingsIconGrid(R.string.pref_category_reading_mode) {
|
|
|
+ items(readingModeOptions) { (stringRes, mode) ->
|
|
|
+ IconToggleButton(
|
|
|
+ checked = mode == readingMode,
|
|
|
+ onCheckedChange = {
|
|
|
+ screenModel.onChangeReadingMode(mode)
|
|
|
onChange(stringRes)
|
|
|
+ onDismissRequest()
|
|
|
},
|
|
|
- label = { Text(stringResource(stringRes)) },
|
|
|
+ modifier = Modifier.fillMaxWidth(),
|
|
|
+ imageVector = ImageVector.vectorResource(mode.iconRes),
|
|
|
+ label = stringResource(stringRes),
|
|
|
)
|
|
|
}
|
|
|
}
|