mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Replace some reader sheet settings with FlowRow of Chips
This commit is contained in:
		@@ -2,6 +2,7 @@ package eu.kanade.presentation.reader.settings
 | 
			
		||||
 | 
			
		||||
import android.os.Build
 | 
			
		||||
import androidx.compose.foundation.layout.ColumnScope
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
@@ -15,8 +16,9 @@ import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.setting.ReaderSettingsScreenModel
 | 
			
		||||
import tachiyomi.core.preference.getAndSet
 | 
			
		||||
import tachiyomi.presentation.core.components.CheckboxItem
 | 
			
		||||
import tachiyomi.presentation.core.components.SelectItem
 | 
			
		||||
import tachiyomi.presentation.core.components.SettingsFlowRow
 | 
			
		||||
import tachiyomi.presentation.core.components.SliderItem
 | 
			
		||||
import tachiyomi.presentation.core.components.material.ChoiceChip
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
internal fun ColumnScope.ColorFilterPage(screenModel: ReaderSettingsScreenModel) {
 | 
			
		||||
@@ -122,12 +124,14 @@ internal fun ColumnScope.ColorFilterPage(screenModel: ReaderSettingsScreenModel)
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        val colorFilterMode by screenModel.preferences.colorFilterMode().collectAsState()
 | 
			
		||||
        SelectItem(
 | 
			
		||||
            label = stringResource(R.string.pref_color_filter_mode),
 | 
			
		||||
            options = colorFilterModes.toTypedArray(),
 | 
			
		||||
            selectedIndex = colorFilterMode,
 | 
			
		||||
        ) {
 | 
			
		||||
            screenModel.preferences.colorFilterMode().set(it)
 | 
			
		||||
        SettingsFlowRow(R.string.pref_color_filter_mode) {
 | 
			
		||||
            colorFilterModes.mapIndexed { index, it ->
 | 
			
		||||
                ChoiceChip(
 | 
			
		||||
                    isSelected = colorFilterMode == index,
 | 
			
		||||
                    onClick = { screenModel.preferences.colorFilterMode().set(index) },
 | 
			
		||||
                    content = { Text(it) },
 | 
			
		||||
                )
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,17 @@
 | 
			
		||||
package eu.kanade.presentation.reader.settings
 | 
			
		||||
 | 
			
		||||
import androidx.compose.foundation.layout.ColumnScope
 | 
			
		||||
import androidx.compose.foundation.layout.padding
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import eu.kanade.presentation.util.collectAsState
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.setting.ReaderSettingsScreenModel
 | 
			
		||||
import tachiyomi.presentation.core.components.CheckboxItem
 | 
			
		||||
import tachiyomi.presentation.core.components.HeadingItem
 | 
			
		||||
import tachiyomi.presentation.core.components.SettingsItemsPaddings
 | 
			
		||||
import tachiyomi.presentation.core.components.material.SegmentedButtons
 | 
			
		||||
import tachiyomi.presentation.core.components.SettingsFlowRow
 | 
			
		||||
import tachiyomi.presentation.core.components.material.ChoiceChip
 | 
			
		||||
 | 
			
		||||
private val themes = listOf(
 | 
			
		||||
    R.string.black_background to 1,
 | 
			
		||||
@@ -25,19 +22,16 @@ private val themes = listOf(
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
internal fun ColumnScope.GeneralPage(screenModel: ReaderSettingsScreenModel) {
 | 
			
		||||
    HeadingItem(R.string.pref_reader_theme)
 | 
			
		||||
    val readerTheme by screenModel.preferences.readerTheme().collectAsState()
 | 
			
		||||
    SegmentedButtons(
 | 
			
		||||
        modifier = Modifier.padding(
 | 
			
		||||
            start = SettingsItemsPaddings.Horizontal,
 | 
			
		||||
            top = 0.dp,
 | 
			
		||||
            end = SettingsItemsPaddings.Horizontal,
 | 
			
		||||
            bottom = SettingsItemsPaddings.Vertical,
 | 
			
		||||
        ),
 | 
			
		||||
        entries = themes.map { stringResource(it.first) },
 | 
			
		||||
        selectedIndex = themes.indexOfFirst { readerTheme == it.second },
 | 
			
		||||
        onClick = { screenModel.preferences.readerTheme().set(themes[it].second) },
 | 
			
		||||
    )
 | 
			
		||||
    SettingsFlowRow(R.string.pref_reader_theme) {
 | 
			
		||||
        themes.map { (labelRes, value) ->
 | 
			
		||||
            ChoiceChip(
 | 
			
		||||
                isSelected = readerTheme == value,
 | 
			
		||||
                onClick = { screenModel.preferences.readerTheme().set(value) },
 | 
			
		||||
                content = { Text(stringResource(labelRes)) },
 | 
			
		||||
            )
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    val showPageNumber by screenModel.preferences.showPageNumber().collectAsState()
 | 
			
		||||
    CheckboxItem(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user