diff --git a/CHANGELOG.md b/CHANGELOG.md index b3e1df449..c79ed43ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co - Add option to always decode long strip images with SSIV - Added option to enable incognito per extension ([@sdaqo](https://github.com/sdaqo), [@AntsyLich](https://github.com/AntsyLich)) ([#157](https://github.com/mihonapp/mihon/pull/157)) - Add button to favorite manga from history screen ([@Animeboynz](https://github.com/Animeboynz)) ([#1733](https://github.com/mihonapp/mihon/pull/1733)) +- Add Monochrome theme (made with e-ink displays in mind) ([@MajorTanya](https://github.com/MajorTanya)) ([#1752](https://github.com/mihonapp/mihon/pull/1752)) ### Changed - Apply "Downloaded only" filter to all entries regardless of favourite status ([@NGB-Was-Taken](https://github.com/NGB-Was-Taken)) ([#1603](https://github.com/mihonapp/mihon/pull/1603)) diff --git a/app/src/main/java/eu/kanade/domain/ui/model/AppTheme.kt b/app/src/main/java/eu/kanade/domain/ui/model/AppTheme.kt index 7c8a2416d..eaa055b46 100644 --- a/app/src/main/java/eu/kanade/domain/ui/model/AppTheme.kt +++ b/app/src/main/java/eu/kanade/domain/ui/model/AppTheme.kt @@ -20,6 +20,7 @@ enum class AppTheme(val titleRes: StringResource?) { TIDAL_WAVE(MR.strings.theme_tidalwave), YINYANG(MR.strings.theme_yinyang), YOTSUBA(MR.strings.theme_yotsuba), + MONOCHROME(MR.strings.theme_monochrome), // Deprecated DARK_BLUE(null), diff --git a/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt b/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt index af550aa5d..2b3f86477 100644 --- a/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt +++ b/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt @@ -13,6 +13,7 @@ import eu.kanade.presentation.theme.colorscheme.GreenAppleColorScheme import eu.kanade.presentation.theme.colorscheme.LavenderColorScheme import eu.kanade.presentation.theme.colorscheme.MidnightDuskColorScheme import eu.kanade.presentation.theme.colorscheme.MonetColorScheme +import eu.kanade.presentation.theme.colorscheme.MonochromeColorScheme import eu.kanade.presentation.theme.colorscheme.NordColorScheme import eu.kanade.presentation.theme.colorscheme.StrawberryColorScheme import eu.kanade.presentation.theme.colorscheme.TachiyomiColorScheme @@ -79,6 +80,7 @@ private val colorSchemes: Map = mapOf( AppTheme.GREEN_APPLE to GreenAppleColorScheme, AppTheme.LAVENDER to LavenderColorScheme, AppTheme.MIDNIGHT_DUSK to MidnightDuskColorScheme, + AppTheme.MONOCHROME to MonochromeColorScheme, AppTheme.NORD to NordColorScheme, AppTheme.STRAWBERRY_DAIQUIRI to StrawberryColorScheme, AppTheme.TAKO to TakoColorScheme, diff --git a/app/src/main/java/eu/kanade/presentation/theme/colorscheme/MonochromeColorScheme.kt b/app/src/main/java/eu/kanade/presentation/theme/colorscheme/MonochromeColorScheme.kt new file mode 100644 index 000000000..0609b0580 --- /dev/null +++ b/app/src/main/java/eu/kanade/presentation/theme/colorscheme/MonochromeColorScheme.kt @@ -0,0 +1,84 @@ +package eu.kanade.presentation.theme.colorscheme + +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.ui.graphics.Color + +internal object MonochromeColorScheme : BaseColorScheme() { + + override val darkScheme = darkColorScheme( + primary = Color(0xFFFFFFFF), + onPrimary = Color(0xFF000000), + primaryContainer = Color(0xFFFFFFFF), + onPrimaryContainer = Color(0xFF000000), + secondary = Color(0xFFFFFFFF), + onSecondary = Color(0xFF000000), + secondaryContainer = Color(0xFF777777), + onSecondaryContainer = Color(0xFF000000), + tertiary = Color(0xFF777777), + onTertiary = Color(0xFFFFFFFF), + tertiaryContainer = Color(0xFFFFFFFF), + onTertiaryContainer = Color(0xFF000000), + error = Color(0xFFFFFFFF), + onError = Color(0xFF000000), + errorContainer = Color(0xFFFFFFFF), + onErrorContainer = Color(0xFF000000), + background = Color(0xFF000000), + onBackground = Color(0xFFFFFFFF), + surface = Color(0xFF000000), + onSurface = Color(0xFFFFFFFF), + surfaceVariant = Color(0xFF000000), + onSurfaceVariant = Color(0xFFFFFFFF), + outline = Color(0xFFFFFFFF), + outlineVariant = Color(0xFFFFFFFF), + scrim = Color(0xFF000000), + inverseSurface = Color(0xFFFFFFFF), + inverseOnSurface = Color(0xFF000000), + inversePrimary = Color(0xFF000000), + surfaceDim = Color(0xFF000000), + surfaceBright = Color(0xFFFFFFFF), + surfaceContainerLowest = Color(0xFF000000), + surfaceContainerLow = Color(0xFF000000), + surfaceContainer = Color(0xFF000000), + surfaceContainerHigh = Color(0xFF000000), + surfaceContainerHighest = Color(0xFF000000), + ) + + override val lightScheme = lightColorScheme( + primary = Color(0xFF000000), + onPrimary = Color(0xFFFFFFFF), + primaryContainer = Color(0xFF000000), + onPrimaryContainer = Color(0xFFFFFFFF), + secondary = Color(0xFF000000), + onSecondary = Color(0xFFFFFFFF), + secondaryContainer = Color(0xFF888888), + onSecondaryContainer = Color(0xFFFFFFFF), + tertiary = Color(0xFF888888), + onTertiary = Color(0xFFFFFFFF), + tertiaryContainer = Color(0xFF000000), + onTertiaryContainer = Color(0xFFFFFFFF), + error = Color(0xFF000000), + onError = Color(0xFFFFFFFF), + errorContainer = Color(0xFF000000), + onErrorContainer = Color(0xFFFFFFFF), + background = Color(0xFFFFFFFF), + onBackground = Color(0xFF000000), + surface = Color(0xFFFFFFFF), + onSurface = Color(0xFF000000), + surfaceVariant = Color(0xFFFFFFFF), + onSurfaceVariant = Color(0xFF000000), + outline = Color(0xFF000000), + outlineVariant = Color(0xFF000000), + scrim = Color(0xFF000000), + inverseSurface = Color(0xFF000000), + inverseOnSurface = Color(0xFFFFFFFF), + inversePrimary = Color(0xFFFFFFFF), + surfaceDim = Color(0xFFFFFFFF), + surfaceBright = Color(0xFFFFFFFF), + surfaceContainerLowest = Color(0xFFFFFFFF), + surfaceContainerLow = Color(0xFFFFFFFF), + surfaceContainer = Color(0xFFFFFFFF), + surfaceContainerHigh = Color(0xFFFFFFFF), + surfaceContainerHighest = Color(0xFFFFFFFF), + ) +} diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt index 8b3572f08..d08ca1e5d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt @@ -33,6 +33,7 @@ private val themeResources: Map = mapOf( AppTheme.GREEN_APPLE to R.style.Theme_Tachiyomi_GreenApple, AppTheme.LAVENDER to R.style.Theme_Tachiyomi_Lavender, AppTheme.MIDNIGHT_DUSK to R.style.Theme_Tachiyomi_MidnightDusk, + AppTheme.MONOCHROME to R.style.Theme_Tachiyomi_Monochrome, AppTheme.NORD to R.style.Theme_Tachiyomi_Nord, AppTheme.STRAWBERRY_DAIQUIRI to R.style.Theme_Tachiyomi_StrawberryDaiquiri, AppTheme.TAKO to R.style.Theme_Tachiyomi_Tako, diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 263e7610b..943fbe406 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -446,6 +446,45 @@ @color/nord_surfaceContainerLowest + + +