feat(themes): add 4 new themes (#1021)

This commit is contained in:
jmir1 2023-06-06 20:36:50 +02:00 committed by GitHub
parent e3301235bf
commit 7834b18298
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 418 additions and 0 deletions

View file

@ -14,6 +14,10 @@ enum class AppTheme(val titleResId: Int?) {
TIDAL_WAVE(R.string.theme_tidalwave),
YINYANG(R.string.theme_yinyang),
YOTSUBA(R.string.theme_yotsuba),
CLOUDFLARE(R.string.theme_cloudflare),
SAPPHIRE(R.string.theme_sapphire),
DOOM(R.string.theme_doom),
MATRIX(R.string.theme_matrix),
// Deprecated
DARK_BLUE(null),

View file

@ -41,6 +41,18 @@ interface ThemingDelegate {
AppTheme.YOTSUBA -> {
resIds += R.style.Theme_Tachiyomi_Yotsuba
}
AppTheme.CLOUDFLARE -> {
resIds += R.style.Theme_Tachiyomi_Cloudflare
}
AppTheme.SAPPHIRE -> {
resIds += R.style.Theme_Tachiyomi_Sapphire
}
AppTheme.DOOM -> {
resIds += R.style.Theme_Tachiyomi_Doom
}
AppTheme.MATRIX -> {
resIds += R.style.Theme_Tachiyomi_Matrix
}
AppTheme.TIDAL_WAVE -> {
resIds += R.style.Theme_Tachiyomi_TidalWave
}

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Cloudflare theme (Dark Mode)
~
~ Key colors:
~ Primary #F38020
~ Secondary #F38020
~ Tertiary #1B1B22
~ Neutral #1B1B22
-->
<resources>
<color name="cloudflare_primary">#F38020</color>
<color name="cloudflare_onPrimary">#1B1B22</color>
<color name="cloudflare_primaryContainer">#F38020</color>
<color name="cloudflare_onPrimaryContainer">#1B1B22</color>
<color name="cloudflare_secondary">#F38020</color>
<color name="cloudflare_onSecondary">#1B1B22</color>
<color name="cloudflare_secondaryContainer">#F38020</color>
<color name="cloudflare_onSecondaryContainer">#1B1B22</color>
<color name="cloudflare_tertiary">#1B1B22</color>
<color name="cloudflare_onTertiary">#F38020</color>
<color name="cloudflare_tertiaryContainer">#1B1B22</color>
<color name="cloudflare_onTertiaryContainer">#F38020</color>
<color name="cloudflare_background">#1B1B22</color>
<color name="cloudflare_onBackground">#EFF2F5</color>
<color name="cloudflare_surface">#1B1B22</color>
<color name="cloudflare_onSurface">#EFF2F5</color>
<color name="cloudflare_surfaceVariant">#3F3F46</color>
<color name="cloudflare_onSurfaceVariant">#D8FFFFFF</color>
<color name="cloudflare_outline">#F38020</color>
<color name="cloudflare_inverseOnSurface">#313033</color>
<color name="cloudflare_inverseSurface">#F3EFF4</color>
<color name="cloudflare_primaryInverse">#D6BAFF</color>
<color name="cloudflare_elevationOverlay">@color/cloudflare_primary</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Doom theme
~
~ Key colors:
~ Primary #FF5722
~ Secondary #FF5722
~ Tertiary #FFECE4
~ Neutral #FFFFFF
-->
<resources>
<color name="doom_primary">#FF0000</color>
<color name="doom_onPrimary">#FAFAFA</color>
<color name="doom_primaryContainer">#FF0000</color>
<color name="doom_onPrimaryContainer">#FAFAFA</color>
<color name="doom_secondary">#FF0000</color>
<color name="doom_onSecondary">#FAFAFA</color>
<color name="doom_secondaryContainer">#FF0000</color>
<color name="doom_onSecondaryContainer">#FAFAFA</color>
<color name="doom_tertiary">#BFBFBF</color>
<color name="doom_onTertiary">#FF0000</color>
<color name="doom_tertiaryContainer">#BFBFBF</color>
<color name="doom_onTertiaryContainer">#FF0000</color>
<color name="doom_background">#1B1B1B</color>
<color name="doom_onBackground">#FFFFFF</color>
<color name="doom_surface">#1B1B1B</color>
<color name="doom_onSurface">#FFFFFF</color>
<color name="doom_surfaceVariant">#303030</color>
<color name="doom_onSurfaceVariant">#D8FFFFFF</color>
<color name="doom_outline">#FF0000</color>
<color name="doom_inverseOnSurface">#313131</color>
<color name="doom_inverseSurface">#FAFAFA</color>
<color name="doom_primaryInverse">#6D0D0B</color>
<color name="doom_elevationOverlay">@color/doom_primary</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Doom theme
~
~ Key colors:
~ Primary #FF5722
~ Secondary #FF5722
~ Tertiary #FFECE4
~ Neutral #FFFFFF
-->
<resources>
<color name="matrix_primary">#00FF00</color>
<color name="matrix_onPrimary">#FAFAFA</color>
<color name="matrix_primaryContainer">#00FF00</color>
<color name="matrix_onPrimaryContainer">#FAFAFA</color>
<color name="matrix_secondary">#00FF00</color>
<color name="matrix_onSecondary">#FAFAFA</color>
<color name="matrix_secondaryContainer">#00FF00</color>
<color name="matrix_onSecondaryContainer">#FAFAFA</color>
<color name="matrix_tertiary">#FFFFFF</color>
<color name="matrix_onTertiary">#00FF00</color>
<color name="matrix_tertiaryContainer">#FFFFFF</color>
<color name="matrix_onTertiaryContainer">#00FF00</color>
<color name="matrix_background">#111111</color>
<color name="matrix_onBackground">#FFFFFF</color>
<color name="matrix_surface">#111111</color>
<color name="matrix_onSurface">#FFFFFF</color>
<color name="matrix_surfaceVariant">#212121</color>
<color name="matrix_onSurfaceVariant">#D8FFFFFF</color>
<color name="matrix_outline">#00FF00</color>
<color name="matrix_inverseOnSurface">#313131</color>
<color name="matrix_inverseSurface">#FAFAFA</color>
<color name="matrix_primaryInverse">#007700</color>
<color name="matrix_elevationOverlay">@color/matrix_primary</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Sapphire theme
~
~ Key colors:
~ Primary #FF5722
~ Secondary #FF5722
~ Tertiary #FFECE4
~ Neutral #FFFFFF
-->
<resources>
<color name="sapphire_primary">#1E88E5</color>
<color name="sapphire_onPrimary">#FAFAFA</color>
<color name="sapphire_primaryContainer">#1E88E5</color>
<color name="sapphire_onPrimaryContainer">#FAFAFA</color>
<color name="sapphire_secondary">#1E88E5</color>
<color name="sapphire_onSecondary">#FAFAFA</color>
<color name="sapphire_secondaryContainer">#1E88E5</color>
<color name="sapphire_onSecondaryContainer">#FAFAFA</color>
<color name="sapphire_tertiary">#212121</color>
<color name="sapphire_onTertiary">#1E88E5</color>
<color name="sapphire_tertiaryContainer">#212121</color>
<color name="sapphire_onTertiaryContainer">#1E88E5</color>
<color name="sapphire_background">#212121</color>
<color name="sapphire_onBackground">#FFFFFF</color>
<color name="sapphire_surface">#212121</color>
<color name="sapphire_onSurface">#FFFFFF</color>
<color name="sapphire_surfaceVariant">#424242</color>
<color name="sapphire_onSurfaceVariant">#D8FFFFFF</color>
<color name="sapphire_outline">#1E88E5</color>
<color name="sapphire_inverseOnSurface">#313131</color>
<color name="sapphire_inverseSurface">#FAFAFA</color>
<color name="sapphire_primaryInverse">#2979FF</color>
<color name="sapphire_elevationOverlay">@color/sapphire_primary</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Cloudflare theme
~
~ Key colors:
~ Primary #F38020
~ Secondary #F38020
~ Tertiary #EFF2F5
~ Neutral #EFF2F5
-->
<resources>
<color name="cloudflare_primary">#F38020</color>
<color name="cloudflare_onPrimary">#EFF2F5</color>
<color name="cloudflare_primaryContainer">#F38020</color>
<color name="cloudflare_onPrimaryContainer">#EFF2F5</color>
<color name="cloudflare_secondary">#F38020</color>
<color name="cloudflare_onSecondary">#EFF2F5</color>
<color name="cloudflare_secondaryContainer">#F38020</color>
<color name="cloudflare_onSecondaryContainer">#EFF2F5</color>
<color name="cloudflare_tertiary">#EFF2F5</color>
<color name="cloudflare_onTertiary">#F38020</color>
<color name="cloudflare_tertiaryContainer">#EFF2F5</color>
<color name="cloudflare_onTertiaryContainer">#F38020</color>
<color name="cloudflare_background">#EFF2F5</color>
<color name="cloudflare_onBackground">#1B1B22</color>
<color name="cloudflare_surface">#EFF2F5</color>
<color name="cloudflare_onSurface">#1B1B22</color>
<color name="cloudflare_surfaceVariant">#B9B0CC</color>
<color name="cloudflare_onSurfaceVariant">#D849454E</color>
<color name="cloudflare_outline">#F38020</color>
<color name="cloudflare_inverseOnSurface">#F3EFF4</color>
<color name="cloudflare_inverseSurface">#313033</color>
<color name="cloudflare_primaryInverse">#D6BAFF</color>
<color name="cloudflare_elevationOverlay">@color/cloudflare_primary</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Doom theme
~
~ Key colors:
~ Primary #FF5722
~ Secondary #FF5722
~ Tertiary #FFECE4
~ Neutral #FFFFFF
-->
<resources>
<color name="doom_primary">#FF0000</color>
<color name="doom_onPrimary">#FFFFFF</color>
<color name="doom_primaryContainer">#FF0000</color>
<color name="doom_onPrimaryContainer">#FFFFFF</color>
<color name="doom_secondary">#FF0000</color>
<color name="doom_onSecondary">#FFFFFF</color>
<color name="doom_secondaryContainer">#FF0000</color>
<color name="doom_onSecondaryContainer">#FFFFFF</color>
<color name="doom_tertiary">#BFBFBF</color>
<color name="doom_onTertiary">#FF0000</color>
<color name="doom_tertiaryContainer">#BFBFBF</color>
<color name="doom_onTertiaryContainer">#FF0000</color>
<color name="doom_background">#212121</color>
<color name="doom_onBackground">#FFFFFF</color>
<color name="doom_surface">#212121</color>
<color name="doom_onSurface">#FFFFFF</color>
<color name="doom_surfaceVariant">#4D4D4D</color>
<color name="doom_onSurfaceVariant">#D849454E</color>
<color name="doom_outline">#FF0000</color>
<color name="doom_inverseOnSurface">#FAFAFA</color>
<color name="doom_inverseSurface">#424242</color>
<color name="doom_primaryInverse">#6D0D0B</color>
<color name="doom_elevationOverlay">@color/doom_primary</color>
</resources>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Doom theme
~
~ Key colors:
~ Primary #FF5722
~ Secondary #FF5722
~ Tertiary #FFECE4
~ Neutral #FFFFFF
-->
<resources>
<color name="matrix_primary">#00FF00</color>
<color name="matrix_onPrimary">#000000</color>
<color name="matrix_primaryContainer">#00FF00</color>
<color name="matrix_onPrimaryContainer">#000000</color>
<color name="matrix_secondary">#00FF00</color>
<color name="matrix_onSecondary">#000000</color>
<color name="matrix_secondaryContainer">#00FF00</color>
<color name="matrix_onSecondaryContainer">#000000</color>
<color name="matrix_tertiary">#000000</color>
<color name="matrix_onTertiary">#00FF00</color>
<color name="matrix_tertiaryContainer">#000000</color>
<color name="matrix_onTertiaryContainer">#00FF00</color>
<color name="matrix_background">#000000</color>
<color name="matrix_onBackground">#FFFFFF</color>
<color name="matrix_surface">#000000</color>
<color name="matrix_onSurface">#FFFFFF</color>
<color name="matrix_surfaceVariant">#111111</color>
<color name="matrix_onSurfaceVariant">#D849454E</color>
<color name="matrix_outline">#00FF00</color>
<color name="matrix_inverseOnSurface">#FAFAFA</color>
<color name="matrix_inverseSurface">#424242</color>
<color name="matrix_primaryInverse">#007700</color>
<color name="matrix_elevationOverlay">@color/matrix_primary</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Sapphire theme
~
~ Key colors:
~ Primary #FF5722
~ Secondary #FF5722
~ Tertiary #FFECE4
~ Neutral #FFFFFF
-->
<resources>
<color name="sapphire_primary">#1E88E5</color>
<color name="sapphire_onPrimary">#FFFFFF</color>
<color name="sapphire_primaryContainer">#1E88E5</color>
<color name="sapphire_onPrimaryContainer">#FFFFFF</color>
<color name="sapphire_secondary">#1E88E5</color>
<color name="sapphire_onSecondary">#FFFFFF</color>
<color name="sapphire_secondaryContainer">#1E88E5</color>
<color name="sapphire_onSecondaryContainer">#FFFFFF</color>
<color name="sapphire_tertiary">#E1F5FE</color>
<color name="sapphire_onTertiary">#1E88E5</color>
<color name="sapphire_tertiaryContainer">#E1F5FE</color>
<color name="sapphire_onTertiaryContainer">#1E88E5</color>
<color name="sapphire_background">#FFFFFF</color>
<color name="sapphire_onBackground">#212121</color>
<color name="sapphire_surface">#FFFFFF</color>
<color name="sapphire_onSurface">#212121</color>
<color name="sapphire_surfaceVariant">#B3E5FC</color>
<color name="sapphire_onSurfaceVariant">#D849454E</color>
<color name="sapphire_outline">#1E88E5</color>
<color name="sapphire_inverseOnSurface">#FAFAFA</color>
<color name="sapphire_inverseSurface">#424242</color>
<color name="sapphire_primaryInverse">#2979FF</color>
<color name="sapphire_elevationOverlay">@color/sapphire_primary</color>
</resources>

View file

@ -310,6 +310,114 @@
<item name="colorPrimaryInverse">@color/yotsuba_primaryInverse</item>
</style>
<!--== Cloudflare Theme ==-->
<style name="Theme.Tachiyomi.Cloudflare">
<!-- Theme Colors -->
<item name="colorPrimary">@color/cloudflare_primary</item>
<item name="colorOnPrimary">@color/cloudflare_onPrimary</item>
<item name="colorPrimaryContainer">@color/cloudflare_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/cloudflare_onPrimaryContainer</item>
<item name="colorSecondary">@color/cloudflare_secondary</item>
<item name="colorOnSecondary">@color/cloudflare_onSecondary</item>
<item name="colorSecondaryContainer">@color/cloudflare_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/cloudflare_onSecondaryContainer</item>
<item name="colorTertiary">@color/cloudflare_tertiary</item>
<item name="colorOnTertiary">@color/cloudflare_onTertiary</item>
<item name="colorTertiaryContainer">@color/cloudflare_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/cloudflare_onTertiaryContainer</item>
<item name="android:colorBackground">@color/cloudflare_background</item>
<item name="colorOnBackground">@color/cloudflare_onBackground</item>
<item name="colorSurface">@color/cloudflare_surface</item>
<item name="colorOnSurface">@color/cloudflare_onSurface</item>
<item name="colorSurfaceVariant">@color/cloudflare_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/cloudflare_onSurfaceVariant</item>
<item name="colorOutline">@color/cloudflare_outline</item>
<item name="colorOnSurfaceInverse">@color/cloudflare_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/cloudflare_inverseSurface</item>
<item name="colorPrimaryInverse">@color/cloudflare_primaryInverse</item>
</style>
<!--== Sapphire Theme ==-->
<style name="Theme.Tachiyomi.Sapphire">
<!-- Theme Colors -->
<item name="colorPrimary">@color/sapphire_primary</item>
<item name="colorOnPrimary">@color/sapphire_onPrimary</item>
<item name="colorPrimaryContainer">@color/sapphire_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/sapphire_onPrimaryContainer</item>
<item name="colorSecondary">@color/sapphire_secondary</item>
<item name="colorOnSecondary">@color/sapphire_onSecondary</item>
<item name="colorSecondaryContainer">@color/sapphire_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/sapphire_onSecondaryContainer</item>
<item name="colorTertiary">@color/sapphire_tertiary</item>
<item name="colorOnTertiary">@color/sapphire_onTertiary</item>
<item name="colorTertiaryContainer">@color/sapphire_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/sapphire_onTertiaryContainer</item>
<item name="android:colorBackground">@color/sapphire_background</item>
<item name="colorOnBackground">@color/sapphire_onBackground</item>
<item name="colorSurface">@color/sapphire_surface</item>
<item name="colorOnSurface">@color/sapphire_onSurface</item>
<item name="colorSurfaceVariant">@color/sapphire_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/sapphire_onSurfaceVariant</item>
<item name="colorOutline">@color/sapphire_outline</item>
<item name="colorOnSurfaceInverse">@color/sapphire_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/sapphire_inverseSurface</item>
<item name="colorPrimaryInverse">@color/sapphire_primaryInverse</item>
</style>
<!--== Doom Theme ==-->
<style name="Theme.Tachiyomi.Doom">
<!-- Theme Colors -->
<item name="colorPrimary">@color/doom_primary</item>
<item name="colorOnPrimary">@color/doom_onPrimary</item>
<item name="colorPrimaryContainer">@color/doom_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/doom_onPrimaryContainer</item>
<item name="colorSecondary">@color/doom_secondary</item>
<item name="colorOnSecondary">@color/doom_onSecondary</item>
<item name="colorSecondaryContainer">@color/doom_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/doom_onSecondaryContainer</item>
<item name="colorTertiary">@color/doom_tertiary</item>
<item name="colorOnTertiary">@color/doom_onTertiary</item>
<item name="colorTertiaryContainer">@color/doom_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/doom_onTertiaryContainer</item>
<item name="android:colorBackground">@color/doom_background</item>
<item name="colorOnBackground">@color/doom_onBackground</item>
<item name="colorSurface">@color/doom_surface</item>
<item name="colorOnSurface">@color/doom_onSurface</item>
<item name="colorSurfaceVariant">@color/doom_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/doom_onSurfaceVariant</item>
<item name="colorOutline">@color/doom_outline</item>
<item name="colorOnSurfaceInverse">@color/doom_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/doom_inverseSurface</item>
<item name="colorPrimaryInverse">@color/doom_primaryInverse</item>
</style>
<!--== Matrix Theme ==-->
<style name="Theme.Tachiyomi.Matrix">
<!-- Theme Colors -->
<item name="colorPrimary">@color/matrix_primary</item>
<item name="colorOnPrimary">@color/matrix_onPrimary</item>
<item name="colorPrimaryContainer">@color/matrix_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/matrix_onPrimaryContainer</item>
<item name="colorSecondary">@color/matrix_secondary</item>
<item name="colorOnSecondary">@color/matrix_onSecondary</item>
<item name="colorSecondaryContainer">@color/matrix_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/matrix_onSecondaryContainer</item>
<item name="colorTertiary">@color/matrix_tertiary</item>
<item name="colorOnTertiary">@color/matrix_onTertiary</item>
<item name="colorTertiaryContainer">@color/matrix_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/matrix_onTertiaryContainer</item>
<item name="android:colorBackground">@color/matrix_background</item>
<item name="colorOnBackground">@color/matrix_onBackground</item>
<item name="colorSurface">@color/matrix_surface</item>
<item name="colorOnSurface">@color/matrix_onSurface</item>
<item name="colorSurfaceVariant">@color/matrix_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/matrix_onSurfaceVariant</item>
<item name="colorOutline">@color/matrix_outline</item>
<item name="colorOnSurfaceInverse">@color/matrix_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/matrix_inverseSurface</item>
<item name="colorPrimaryInverse">@color/matrix_primaryInverse</item>
</style>
<!--== Tidal Wave Theme ==-->
<style name="Theme.Tachiyomi.TidalWave">
<!-- Theme Colors -->

View file

@ -188,6 +188,10 @@
<string name="theme_tealturquoise">Teal &amp; Turquoise</string>
<string name="theme_yinyang">Yin &amp; Yang</string>
<string name="theme_yotsuba">Yotsuba</string>
<string name="theme_cloudflare">Cloudflare</string>
<string name="theme_sapphire">Sapphire</string>
<string name="theme_doom">Doom</string>
<string name="theme_matrix">Matrix</string>
<string name="theme_tidalwave">Tidal Wave</string>
<string name="pref_dark_theme_pure_black">Pure black dark mode</string>
<string name="pref_category_timestamps">Timestamps</string>