mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Fixed dev UI preview (#10385)
The TachiyomiTheme introduced a dependency-injection construct that didn't exist at the time of rendering previews, so I've changed the preview function to use a preview version of the theme that uses declarative configuration over dependency injection
This commit is contained in:
		@@ -6,7 +6,7 @@ import androidx.compose.material.icons.outlined.Refresh
 | 
			
		||||
import androidx.compose.material3.Surface
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import kotlinx.collections.immutable.persistentListOf
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.screens.EmptyScreen
 | 
			
		||||
@@ -15,7 +15,7 @@ import tachiyomi.presentation.core.screens.EmptyScreenAction
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun NoActionPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            EmptyScreen(
 | 
			
		||||
                stringRes = MR.strings.empty_screen,
 | 
			
		||||
@@ -27,7 +27,7 @@ private fun NoActionPreview() {
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun WithActionPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            EmptyScreen(
 | 
			
		||||
                stringRes = MR.strings.empty_screen,
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.draw.clip
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.tachiyomi.util.CrashLogUtil
 | 
			
		||||
import kotlinx.coroutines.launch
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
@@ -63,7 +63,7 @@ fun CrashScreen(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun CrashScreenPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        CrashScreen(exception = RuntimeException("Dummy")) {}
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ import eu.kanade.presentation.components.AppBarTitle
 | 
			
		||||
import eu.kanade.presentation.components.SearchToolbar
 | 
			
		||||
import eu.kanade.presentation.components.relativeDateText
 | 
			
		||||
import eu.kanade.presentation.history.components.HistoryItem
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.tachiyomi.ui.history.HistoryScreenModel
 | 
			
		||||
import kotlinx.collections.immutable.persistentListOf
 | 
			
		||||
import tachiyomi.domain.history.model.HistoryWithRelations
 | 
			
		||||
@@ -143,7 +143,7 @@ internal fun HistoryScreenPreviews(
 | 
			
		||||
    @PreviewParameter(HistoryScreenModelStateProvider::class)
 | 
			
		||||
    historyState: HistoryScreenModel.State,
 | 
			
		||||
) {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        HistoryScreen(
 | 
			
		||||
            state = historyState,
 | 
			
		||||
            snackbarHostState = SnackbarHostState(),
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import androidx.compose.runtime.mutableStateOf
 | 
			
		||||
import androidx.compose.runtime.remember
 | 
			
		||||
import androidx.compose.runtime.setValue
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.components.LabeledCheckbox
 | 
			
		||||
import tachiyomi.presentation.core.components.material.padding
 | 
			
		||||
@@ -91,7 +91,7 @@ fun HistoryDeleteAllDialog(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun HistoryDeleteDialogPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        HistoryDeleteDialog(
 | 
			
		||||
            onDismissRequest = {},
 | 
			
		||||
            onDelete = {},
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@ import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewParameter
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import eu.kanade.presentation.manga.components.MangaCover
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.presentation.util.formatChapterNumber
 | 
			
		||||
import eu.kanade.tachiyomi.util.lang.toTimestampString
 | 
			
		||||
import tachiyomi.domain.history.model.HistoryWithRelations
 | 
			
		||||
@@ -98,7 +98,7 @@ private fun HistoryItemPreviews(
 | 
			
		||||
    @PreviewParameter(HistoryWithRelationsProvider::class)
 | 
			
		||||
    historyWithRelations: HistoryWithRelations,
 | 
			
		||||
) {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            HistoryItem(
 | 
			
		||||
                history = historyWithRelations,
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ import androidx.compose.material.icons.outlined.Folder
 | 
			
		||||
import androidx.compose.material3.MaterialTheme
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.presentation.core.components.Badge
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
@@ -50,7 +50,7 @@ internal fun LanguageBadge(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun BadgePreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Column {
 | 
			
		||||
            DownloadsBadge(count = 10)
 | 
			
		||||
            UnreadBadge(count = 10)
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.Alignment
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.components.material.padding
 | 
			
		||||
import tachiyomi.presentation.core.i18n.pluralStringResource
 | 
			
		||||
@@ -44,7 +44,7 @@ fun MissingChapterCountListItem(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun Preview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            MissingChapterCountListItem(count = 42)
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ import com.halilibo.richtext.markdown.Markdown
 | 
			
		||||
import com.halilibo.richtext.ui.RichTextStyle
 | 
			
		||||
import com.halilibo.richtext.ui.material3.RichText
 | 
			
		||||
import com.halilibo.richtext.ui.string.RichTextStringStyle
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.components.material.padding
 | 
			
		||||
import tachiyomi.presentation.core.i18n.stringResource
 | 
			
		||||
@@ -69,7 +69,7 @@ fun NewUpdateScreen(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun NewUpdateScreenPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        NewUpdateScreen(
 | 
			
		||||
            versionName = "v0.99.9",
 | 
			
		||||
            changelogInfo = """
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.platform.LocalUriHandler
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.components.material.padding
 | 
			
		||||
import tachiyomi.presentation.core.i18n.stringResource
 | 
			
		||||
@@ -61,7 +61,7 @@ const val GETTING_STARTED_URL = "https://tachiyomi.org/docs/guides/getting-start
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun GuidesStepPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        GuidesStep(
 | 
			
		||||
            onRestoreBackup = {},
 | 
			
		||||
        ).Content()
 | 
			
		||||
 
 | 
			
		||||
@@ -42,15 +42,19 @@ import androidx.compose.ui.text.style.TextAlign
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import androidx.core.app.ActivityCompat
 | 
			
		||||
import eu.kanade.domain.ui.UiPreferences
 | 
			
		||||
import eu.kanade.domain.ui.model.AppTheme
 | 
			
		||||
import eu.kanade.presentation.manga.components.MangaCover
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.DeviceUtil
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.isDynamicColorAvailable
 | 
			
		||||
import tachiyomi.core.preference.InMemoryPreferenceStore
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.components.material.padding
 | 
			
		||||
import tachiyomi.presentation.core.i18n.stringResource
 | 
			
		||||
import tachiyomi.presentation.core.util.secondaryItemAlpha
 | 
			
		||||
import uy.kohesive.injekt.Injekt
 | 
			
		||||
import uy.kohesive.injekt.api.fullType
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
internal fun AppThemePreferenceWidget(
 | 
			
		||||
@@ -258,7 +262,8 @@ fun AppThemePreviewItem(
 | 
			
		||||
@Composable
 | 
			
		||||
private fun AppThemesListPreview() {
 | 
			
		||||
    var appTheme by remember { mutableStateOf(AppTheme.DEFAULT) }
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    Injekt.addSingleton(fullType<UiPreferences>(), UiPreferences(InMemoryPreferenceStore()))
 | 
			
		||||
    TachiyomiTheme(appTheme = appTheme) {
 | 
			
		||||
        Surface {
 | 
			
		||||
            AppThemesList(
 | 
			
		||||
                currentTheme = appTheme,
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.components.material.padding
 | 
			
		||||
import tachiyomi.presentation.core.i18n.stringResource
 | 
			
		||||
@@ -43,7 +43,7 @@ internal fun InfoWidget(text: String) {
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun InfoWidgetPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            InfoWidget(text = stringResource(MR.strings.download_ahead_info))
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.graphics.vector.ImageVector
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun SwitchPreferenceWidget(
 | 
			
		||||
@@ -40,7 +40,7 @@ fun SwitchPreferenceWidget(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun SwitchPreferenceWidgetPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            Column {
 | 
			
		||||
                SwitchPreferenceWidget(
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.graphics.Color
 | 
			
		||||
import androidx.compose.ui.graphics.vector.ImageVector
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.presentation.core.util.secondaryItemAlpha
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
@@ -62,7 +62,7 @@ fun TextPreferenceWidget(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun TextPreferenceWidgetPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            Column {
 | 
			
		||||
                TextPreferenceWidget(
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import androidx.compose.ui.unit.sp
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.models.toDomainChapter
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
 | 
			
		||||
@@ -306,7 +306,7 @@ private val FakeChapterLongTitle = previewChapter(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun TransitionTextPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface(modifier = Modifier.padding(48.dp)) {
 | 
			
		||||
            ChapterTransition(
 | 
			
		||||
                transition = ChapterTransition.Next(ReaderChapter(FakeChapter), ReaderChapter(FakeChapter)),
 | 
			
		||||
@@ -320,7 +320,7 @@ private fun TransitionTextPreview() {
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun TransitionTextLongTitlePreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface(modifier = Modifier.padding(48.dp)) {
 | 
			
		||||
            ChapterTransition(
 | 
			
		||||
                transition = ChapterTransition.Next(ReaderChapter(FakeChapterLongTitle), ReaderChapter(FakeChapter)),
 | 
			
		||||
@@ -334,7 +334,7 @@ private fun TransitionTextLongTitlePreview() {
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun TransitionTextWithGapPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface(modifier = Modifier.padding(48.dp)) {
 | 
			
		||||
            ChapterTransition(
 | 
			
		||||
                transition = ChapterTransition.Next(ReaderChapter(FakeChapter), ReaderChapter(FakeGapChapter)),
 | 
			
		||||
@@ -348,7 +348,7 @@ private fun TransitionTextWithGapPreview() {
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun TransitionTextNoNextPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface(modifier = Modifier.padding(48.dp)) {
 | 
			
		||||
            ChapterTransition(
 | 
			
		||||
                transition = ChapterTransition.Next(ReaderChapter(FakeChapter), null),
 | 
			
		||||
@@ -362,7 +362,7 @@ private fun TransitionTextNoNextPreview() {
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun TransitionTextNoPreviousPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface(modifier = Modifier.padding(48.dp)) {
 | 
			
		||||
            ChapterTransition(
 | 
			
		||||
                transition = ChapterTransition.Prev(ReaderChapter(FakeChapter), null),
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@ import dev.icerock.moko.resources.StringResource
 | 
			
		||||
import eu.kanade.domain.manga.model.readerOrientation
 | 
			
		||||
import eu.kanade.presentation.components.AdaptiveSheet
 | 
			
		||||
import eu.kanade.presentation.reader.components.ModeSelectionDialog
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.setting.ReaderOrientation
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.setting.ReaderSettingsScreenModel
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
@@ -81,7 +81,7 @@ private fun DialogContent(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun DialogContentPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            Column {
 | 
			
		||||
                DialogContent(
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import androidx.compose.ui.text.TextStyle
 | 
			
		||||
import androidx.compose.ui.text.font.FontWeight
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.unit.sp
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun PageIndicatorText(
 | 
			
		||||
@@ -51,7 +51,7 @@ fun PageIndicatorText(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun PageIndicatorTextPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            PageIndicatorText(currentPage = 10, totalPages = 69)
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ import dev.icerock.moko.resources.StringResource
 | 
			
		||||
import eu.kanade.domain.manga.model.readingMode
 | 
			
		||||
import eu.kanade.presentation.components.AdaptiveSheet
 | 
			
		||||
import eu.kanade.presentation.reader.components.ModeSelectionDialog
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.setting.ReaderSettingsScreenModel
 | 
			
		||||
import eu.kanade.tachiyomi.ui.reader.setting.ReadingMode
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
@@ -79,7 +79,7 @@ private fun DialogContent(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun DialogContentPreview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            Column {
 | 
			
		||||
                DialogContent(
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ import androidx.compose.ui.Alignment
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
import tachiyomi.presentation.core.components.SettingsItemsPaddings
 | 
			
		||||
import tachiyomi.presentation.core.components.material.padding
 | 
			
		||||
@@ -70,7 +70,7 @@ fun ModeSelectionDialog(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun Preview() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            Column {
 | 
			
		||||
                ModeSelectionDialog(
 | 
			
		||||
 
 | 
			
		||||
@@ -28,9 +28,30 @@ fun TachiyomiTheme(
 | 
			
		||||
    appTheme: AppTheme? = null,
 | 
			
		||||
    amoled: Boolean? = null,
 | 
			
		||||
    content: @Composable () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    val uiPreferences = Injekt.get<UiPreferences>()
 | 
			
		||||
    BaseTachiyomiTheme(
 | 
			
		||||
        appTheme = appTheme ?: uiPreferences.appTheme().get(),
 | 
			
		||||
        isAmoled = amoled ?: uiPreferences.themeDarkAmoled().get(),
 | 
			
		||||
        content = content,
 | 
			
		||||
    )
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun TachiyomiPreviewTheme(
 | 
			
		||||
    appTheme: AppTheme = AppTheme.DEFAULT,
 | 
			
		||||
    isAmoled: Boolean = false,
 | 
			
		||||
    content: @Composable () -> Unit,
 | 
			
		||||
) = BaseTachiyomiTheme(appTheme, isAmoled, content)
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
private fun BaseTachiyomiTheme(
 | 
			
		||||
    appTheme: AppTheme,
 | 
			
		||||
    isAmoled: Boolean,
 | 
			
		||||
    content: @Composable () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    MaterialTheme(
 | 
			
		||||
        colorScheme = getThemeColorScheme(appTheme, amoled),
 | 
			
		||||
        colorScheme = getThemeColorScheme(appTheme, isAmoled),
 | 
			
		||||
        content = content,
 | 
			
		||||
    )
 | 
			
		||||
}
 | 
			
		||||
@@ -38,11 +59,10 @@ fun TachiyomiTheme(
 | 
			
		||||
@Composable
 | 
			
		||||
@ReadOnlyComposable
 | 
			
		||||
private fun getThemeColorScheme(
 | 
			
		||||
    appTheme: AppTheme?,
 | 
			
		||||
    amoled: Boolean?,
 | 
			
		||||
    appTheme: AppTheme,
 | 
			
		||||
    isAmoled: Boolean,
 | 
			
		||||
): ColorScheme {
 | 
			
		||||
    val uiPreferences = Injekt.get<UiPreferences>()
 | 
			
		||||
    val colorScheme = when (appTheme ?: uiPreferences.appTheme().get()) {
 | 
			
		||||
    val colorScheme = when (appTheme) {
 | 
			
		||||
        AppTheme.DEFAULT -> TachiyomiColorScheme
 | 
			
		||||
        AppTheme.MONET -> MonetColorScheme(LocalContext.current)
 | 
			
		||||
        AppTheme.GREEN_APPLE -> GreenAppleColorScheme
 | 
			
		||||
@@ -59,6 +79,6 @@ private fun getThemeColorScheme(
 | 
			
		||||
    }
 | 
			
		||||
    return colorScheme.getColorScheme(
 | 
			
		||||
        isSystemInDarkTheme(),
 | 
			
		||||
        amoled ?: uiPreferences.themeDarkAmoled().get(),
 | 
			
		||||
        isAmoled,
 | 
			
		||||
    )
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import dev.icerock.moko.resources.StringResource
 | 
			
		||||
import eu.kanade.presentation.components.DropdownMenu
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.presentation.track.components.TrackLogoIcon
 | 
			
		||||
import eu.kanade.tachiyomi.data.track.Tracker
 | 
			
		||||
import eu.kanade.tachiyomi.ui.manga.track.TrackItem
 | 
			
		||||
@@ -323,7 +323,7 @@ private fun TrackInfoDialogHomePreviews(
 | 
			
		||||
    @PreviewParameter(TrackInfoDialogHomePreviewProvider::class)
 | 
			
		||||
    content: @Composable () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            content()
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ import androidx.compose.ui.draw.clip
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import dev.icerock.moko.resources.StringResource
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import kotlinx.collections.immutable.ImmutableList
 | 
			
		||||
import kotlinx.collections.immutable.persistentMapOf
 | 
			
		||||
import kotlinx.collections.immutable.toImmutableList
 | 
			
		||||
@@ -229,7 +229,7 @@ private fun BaseSelector(
 | 
			
		||||
@PreviewLightDark
 | 
			
		||||
@Composable
 | 
			
		||||
private fun TrackStatusSelectorPreviews() {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        Surface {
 | 
			
		||||
            TrackStatusSelector(
 | 
			
		||||
                selection = 1,
 | 
			
		||||
 
 | 
			
		||||
@@ -68,7 +68,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import eu.kanade.presentation.components.DropdownMenu
 | 
			
		||||
import eu.kanade.presentation.manga.components.MangaCover
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.tachiyomi.data.track.model.TrackSearch
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.openInBrowser
 | 
			
		||||
import tachiyomi.i18n.MR
 | 
			
		||||
@@ -380,5 +380,5 @@ private fun TrackerSearchPreviews(
 | 
			
		||||
    @PreviewParameter(TrackerSearchPreviewProvider::class)
 | 
			
		||||
    content: @Composable () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TachiyomiTheme { content() }
 | 
			
		||||
    TachiyomiPreviewTheme { content() }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ import androidx.compose.ui.res.painterResource
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
 | 
			
		||||
import androidx.compose.ui.tooling.preview.PreviewParameter
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiTheme
 | 
			
		||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
 | 
			
		||||
import eu.kanade.tachiyomi.data.track.Tracker
 | 
			
		||||
import tachiyomi.presentation.core.util.clickableNoIndication
 | 
			
		||||
 | 
			
		||||
@@ -49,7 +49,7 @@ private fun TrackLogoIconPreviews(
 | 
			
		||||
    @PreviewParameter(TrackLogoIconPreviewProvider::class)
 | 
			
		||||
    tracker: Tracker,
 | 
			
		||||
) {
 | 
			
		||||
    TachiyomiTheme {
 | 
			
		||||
    TachiyomiPreviewTheme {
 | 
			
		||||
        TrackLogoIcon(
 | 
			
		||||
            tracker = tracker,
 | 
			
		||||
            onClick = null,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user