From f0171641bb349b6d45657d7a75969f8660881bba Mon Sep 17 00:00:00 2001
From: Acclorite <140836141+Acclorite@users.noreply.github.com>
Date: Sat, 24 Aug 2024 19:43:19 +0300
Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20New=20green=20"Titan"=20theme?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Added new greenish theme "Titan".
---
.../book_story/domain/util/Constants.kt | 1 +
.../book_story/presentation/ui/Color.kt | 9 +-
.../presentation/ui/theme/MarshTheme.kt | 474 ++++++++++++++++++
app/src/main/res/values-uk/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
5 files changed, 485 insertions(+), 1 deletion(-)
create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/ui/theme/MarshTheme.kt
diff --git a/app/src/main/java/ua/acclorite/book_story/domain/util/Constants.kt b/app/src/main/java/ua/acclorite/book_story/domain/util/Constants.kt
index 915584a9..41013a87 100644
--- a/app/src/main/java/ua/acclorite/book_story/domain/util/Constants.kt
+++ b/app/src/main/java/ua/acclorite/book_story/domain/util/Constants.kt
@@ -106,6 +106,7 @@ private fun provideThemes() = listOf(
Pair(Theme.DYNAMIC, UIText.StringResource(R.string.dynamic_theme)),
Pair(Theme.BLUE, UIText.StringResource(R.string.blue_theme)),
Pair(Theme.GREEN, UIText.StringResource(R.string.green_theme)),
+ Pair(Theme.MARSH, UIText.StringResource(R.string.marsh_theme)),
Pair(Theme.RED, UIText.StringResource(R.string.red_theme)),
Pair(Theme.PURPLE, UIText.StringResource(R.string.purple_theme)),
Pair(Theme.PINK, UIText.StringResource(R.string.pink_theme)),
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/ui/Color.kt b/app/src/main/java/ua/acclorite/book_story/presentation/ui/Color.kt
index c5279f9d..d2b026fd 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/ui/Color.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/ui/Color.kt
@@ -11,6 +11,7 @@ import ua.acclorite.book_story.presentation.ui.theme.aquaTheme
import ua.acclorite.book_story.presentation.ui.theme.blackTheme
import ua.acclorite.book_story.presentation.ui.theme.blueTheme
import ua.acclorite.book_story.presentation.ui.theme.greenTheme
+import ua.acclorite.book_story.presentation.ui.theme.marshTheme
import ua.acclorite.book_story.presentation.ui.theme.pinkTheme
import ua.acclorite.book_story.presentation.ui.theme.purpleTheme
import ua.acclorite.book_story.presentation.ui.theme.redTheme
@@ -25,7 +26,8 @@ enum class Theme {
PURPLE,
PINK,
YELLOW,
- AQUA
+ AQUA,
+ MARSH,
}
/**
@@ -75,6 +77,11 @@ fun colorScheme(
greenTheme(isDark = darkTheme, themeContrast = themeContrast)
}
+ Theme.MARSH -> {
+ /* Marsh Theme */
+ marshTheme(isDark = darkTheme, themeContrast = themeContrast)
+ }
+
Theme.PINK -> {
/* Pink Theme */
pinkTheme(isDark = darkTheme, themeContrast = themeContrast)
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/ui/theme/MarshTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/ui/theme/MarshTheme.kt
new file mode 100644
index 00000000..cb4ba11b
--- /dev/null
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/ui/theme/MarshTheme.kt
@@ -0,0 +1,474 @@
+package ua.acclorite.book_story.presentation.ui.theme
+
+import androidx.compose.material3.ColorScheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.graphics.Color
+import ua.acclorite.book_story.presentation.ui.ThemeContrast
+
+private val primaryLight = Color(0xFF006A65)
+private val onPrimaryLight = Color(0xFFFFFFFF)
+private val primaryContainerLight = Color(0xFF9DF2EA)
+private val onPrimaryContainerLight = Color(0xFF00201E)
+private val secondaryLight = Color(0xFF4A6361)
+private val onSecondaryLight = Color(0xFFFFFFFF)
+private val secondaryContainerLight = Color(0xFFCCE8E5)
+private val onSecondaryContainerLight = Color(0xFF051F1E)
+private val tertiaryLight = Color(0xFF48607B)
+private val onTertiaryLight = Color(0xFFFFFFFF)
+private val tertiaryContainerLight = Color(0xFFD0E4FF)
+private val onTertiaryContainerLight = Color(0xFF001D34)
+private val errorLight = Color(0xFFBA1A1A)
+private val onErrorLight = Color(0xFFFFFFFF)
+private val errorContainerLight = Color(0xFFFFDAD6)
+private val onErrorContainerLight = Color(0xFF410002)
+private val backgroundLight = Color(0xFFF4FBF9)
+private val onBackgroundLight = Color(0xFF161D1C)
+private val surfaceLight = Color(0xFFF4FBF9)
+private val onSurfaceLight = Color(0xFF161D1C)
+private val surfaceVariantLight = Color(0xFFDAE5E3)
+private val onSurfaceVariantLight = Color(0xFF3F4947)
+private val outlineLight = Color(0xFF6F7978)
+private val outlineVariantLight = Color(0xFFBEC9C7)
+private val scrimLight = Color(0xFF000000)
+private val inverseSurfaceLight = Color(0xFF2B3231)
+private val inverseOnSurfaceLight = Color(0xFFECF2F0)
+private val inversePrimaryLight = Color(0xFF81D5CE)
+private val surfaceDimLight = Color(0xFFD5DBDA)
+private val surfaceBrightLight = Color(0xFFF4FBF9)
+private val surfaceContainerLowestLight = Color(0xFFFFFFFF)
+private val surfaceContainerLowLight = Color(0xFFEFF5F3)
+private val surfaceContainerLight = Color(0xFFE9EFED)
+private val surfaceContainerHighLight = Color(0xFFE3E9E8)
+private val surfaceContainerHighestLight = Color(0xFFDDE4E2)
+
+private val primaryLightMediumContrast = Color(0xFF004B48)
+private val onPrimaryLightMediumContrast = Color(0xFFFFFFFF)
+private val primaryContainerLightMediumContrast = Color(0xFF25817C)
+private val onPrimaryContainerLightMediumContrast = Color(0xFFFFFFFF)
+private val secondaryLightMediumContrast = Color(0xFF2E4745)
+private val onSecondaryLightMediumContrast = Color(0xFFFFFFFF)
+private val secondaryContainerLightMediumContrast = Color(0xFF607A77)
+private val onSecondaryContainerLightMediumContrast = Color(0xFFFFFFFF)
+private val tertiaryLightMediumContrast = Color(0xFF2C455E)
+private val onTertiaryLightMediumContrast = Color(0xFFFFFFFF)
+private val tertiaryContainerLightMediumContrast = Color(0xFF5E7792)
+private val onTertiaryContainerLightMediumContrast = Color(0xFFFFFFFF)
+private val errorLightMediumContrast = Color(0xFF8C0009)
+private val onErrorLightMediumContrast = Color(0xFFFFFFFF)
+private val errorContainerLightMediumContrast = Color(0xFFDA342E)
+private val onErrorContainerLightMediumContrast = Color(0xFFFFFFFF)
+private val backgroundLightMediumContrast = Color(0xFFF4FBF9)
+private val onBackgroundLightMediumContrast = Color(0xFF161D1C)
+private val surfaceLightMediumContrast = Color(0xFFF4FBF9)
+private val onSurfaceLightMediumContrast = Color(0xFF161D1C)
+private val surfaceVariantLightMediumContrast = Color(0xFFDAE5E3)
+private val onSurfaceVariantLightMediumContrast = Color(0xFF3B4544)
+private val outlineLightMediumContrast = Color(0xFF576160)
+private val outlineVariantLightMediumContrast = Color(0xFF737D7B)
+private val scrimLightMediumContrast = Color(0xFF000000)
+private val inverseSurfaceLightMediumContrast = Color(0xFF2B3231)
+private val inverseOnSurfaceLightMediumContrast = Color(0xFFECF2F0)
+private val inversePrimaryLightMediumContrast = Color(0xFF81D5CE)
+private val surfaceDimLightMediumContrast = Color(0xFFD5DBDA)
+private val surfaceBrightLightMediumContrast = Color(0xFFF4FBF9)
+private val surfaceContainerLowestLightMediumContrast = Color(0xFFFFFFFF)
+private val surfaceContainerLowLightMediumContrast = Color(0xFFEFF5F3)
+private val surfaceContainerLightMediumContrast = Color(0xFFE9EFED)
+private val surfaceContainerHighLightMediumContrast = Color(0xFFE3E9E8)
+private val surfaceContainerHighestLightMediumContrast = Color(0xFFDDE4E2)
+
+private val primaryLightHighContrast = Color(0xFF002725)
+private val onPrimaryLightHighContrast = Color(0xFFFFFFFF)
+private val primaryContainerLightHighContrast = Color(0xFF004B48)
+private val onPrimaryContainerLightHighContrast = Color(0xFFFFFFFF)
+private val secondaryLightHighContrast = Color(0xFF0C2624)
+private val onSecondaryLightHighContrast = Color(0xFFFFFFFF)
+private val secondaryContainerLightHighContrast = Color(0xFF2E4745)
+private val onSecondaryContainerLightHighContrast = Color(0xFFFFFFFF)
+private val tertiaryLightHighContrast = Color(0xFF07243B)
+private val onTertiaryLightHighContrast = Color(0xFFFFFFFF)
+private val tertiaryContainerLightHighContrast = Color(0xFF2C455E)
+private val onTertiaryContainerLightHighContrast = Color(0xFFFFFFFF)
+private val errorLightHighContrast = Color(0xFF4E0002)
+private val onErrorLightHighContrast = Color(0xFFFFFFFF)
+private val errorContainerLightHighContrast = Color(0xFF8C0009)
+private val onErrorContainerLightHighContrast = Color(0xFFFFFFFF)
+private val backgroundLightHighContrast = Color(0xFFF4FBF9)
+private val onBackgroundLightHighContrast = Color(0xFF161D1C)
+private val surfaceLightHighContrast = Color(0xFFF4FBF9)
+private val onSurfaceLightHighContrast = Color(0xFF000000)
+private val surfaceVariantLightHighContrast = Color(0xFFDAE5E3)
+private val onSurfaceVariantLightHighContrast = Color(0xFF1C2625)
+private val outlineLightHighContrast = Color(0xFF3B4544)
+private val outlineVariantLightHighContrast = Color(0xFF3B4544)
+private val scrimLightHighContrast = Color(0xFF000000)
+private val inverseSurfaceLightHighContrast = Color(0xFF2B3231)
+private val inverseOnSurfaceLightHighContrast = Color(0xFFFFFFFF)
+private val inversePrimaryLightHighContrast = Color(0xFFA6FBF4)
+private val surfaceDimLightHighContrast = Color(0xFFD5DBDA)
+private val surfaceBrightLightHighContrast = Color(0xFFF4FBF9)
+private val surfaceContainerLowestLightHighContrast = Color(0xFFFFFFFF)
+private val surfaceContainerLowLightHighContrast = Color(0xFFEFF5F3)
+private val surfaceContainerLightHighContrast = Color(0xFFE9EFED)
+private val surfaceContainerHighLightHighContrast = Color(0xFFE3E9E8)
+private val surfaceContainerHighestLightHighContrast = Color(0xFFDDE4E2)
+
+private val primaryDark = Color(0xFF81D5CE)
+private val onPrimaryDark = Color(0xFF003734)
+private val primaryContainerDark = Color(0xFF00504C)
+private val onPrimaryContainerDark = Color(0xFF9DF2EA)
+private val secondaryDark = Color(0xFFB0CCC9)
+private val onSecondaryDark = Color(0xFF1C3533)
+private val secondaryContainerDark = Color(0xFF324B49)
+private val onSecondaryContainerDark = Color(0xFFCCE8E5)
+private val tertiaryDark = Color(0xFFB0C9E7)
+private val onTertiaryDark = Color(0xFF19324A)
+private val tertiaryContainerDark = Color(0xFF304962)
+private val onTertiaryContainerDark = Color(0xFFD0E4FF)
+private val errorDark = Color(0xFFFFB4AB)
+private val onErrorDark = Color(0xFF690005)
+private val errorContainerDark = Color(0xFF93000A)
+private val onErrorContainerDark = Color(0xFFFFDAD6)
+private val backgroundDark = Color(0xFF0E1514)
+private val onBackgroundDark = Color(0xFFDDE4E2)
+private val surfaceDark = Color(0xFF0E1514)
+private val onSurfaceDark = Color(0xFFDDE4E2)
+private val surfaceVariantDark = Color(0xFF3F4947)
+private val onSurfaceVariantDark = Color(0xFFBEC9C7)
+private val outlineDark = Color(0xFF889391)
+private val outlineVariantDark = Color(0xFF3F4947)
+private val scrimDark = Color(0xFF000000)
+private val inverseSurfaceDark = Color(0xFFDDE4E2)
+private val inverseOnSurfaceDark = Color(0xFF2B3231)
+private val inversePrimaryDark = Color(0xFF006A65)
+private val surfaceDimDark = Color(0xFF0E1514)
+private val surfaceBrightDark = Color(0xFF343A3A)
+private val surfaceContainerLowestDark = Color(0xFF090F0F)
+private val surfaceContainerLowDark = Color(0xFF161D1C)
+private val surfaceContainerDark = Color(0xFF1A2120)
+private val surfaceContainerHighDark = Color(0xFF252B2A)
+private val surfaceContainerHighestDark = Color(0xFF2F3635)
+
+private val primaryDarkMediumContrast = Color(0xFF85D9D3)
+private val onPrimaryDarkMediumContrast = Color(0xFF001A18)
+private val primaryContainerDarkMediumContrast = Color(0xFF489E98)
+private val onPrimaryContainerDarkMediumContrast = Color(0xFF000000)
+private val secondaryDarkMediumContrast = Color(0xFFB5D0CD)
+private val onSecondaryDarkMediumContrast = Color(0xFF011A18)
+private val secondaryContainerDarkMediumContrast = Color(0xFF7B9693)
+private val onSecondaryContainerDarkMediumContrast = Color(0xFF000000)
+private val tertiaryDarkMediumContrast = Color(0xFFB4CDEC)
+private val onTertiaryDarkMediumContrast = Color(0xFF00172C)
+private val tertiaryContainerDarkMediumContrast = Color(0xFF7A93AF)
+private val onTertiaryContainerDarkMediumContrast = Color(0xFF000000)
+private val errorDarkMediumContrast = Color(0xFFFFBAB1)
+private val onErrorDarkMediumContrast = Color(0xFF370001)
+private val errorContainerDarkMediumContrast = Color(0xFFFF5449)
+private val onErrorContainerDarkMediumContrast = Color(0xFF000000)
+private val backgroundDarkMediumContrast = Color(0xFF0E1514)
+private val onBackgroundDarkMediumContrast = Color(0xFFDDE4E2)
+private val surfaceDarkMediumContrast = Color(0xFF0E1514)
+private val onSurfaceDarkMediumContrast = Color(0xFFF6FCFA)
+private val surfaceVariantDarkMediumContrast = Color(0xFF3F4947)
+private val onSurfaceVariantDarkMediumContrast = Color(0xFFC2CDCB)
+private val outlineDarkMediumContrast = Color(0xFF9BA5A3)
+private val outlineVariantDarkMediumContrast = Color(0xFF7B8584)
+private val scrimDarkMediumContrast = Color(0xFF000000)
+private val inverseSurfaceDarkMediumContrast = Color(0xFFDDE4E2)
+private val inverseOnSurfaceDarkMediumContrast = Color(0xFF252B2A)
+private val inversePrimaryDarkMediumContrast = Color(0xFF00514D)
+private val surfaceDimDarkMediumContrast = Color(0xFF0E1514)
+private val surfaceBrightDarkMediumContrast = Color(0xFF343A3A)
+private val surfaceContainerLowestDarkMediumContrast = Color(0xFF090F0F)
+private val surfaceContainerLowDarkMediumContrast = Color(0xFF161D1C)
+private val surfaceContainerDarkMediumContrast = Color(0xFF1A2120)
+private val surfaceContainerHighDarkMediumContrast = Color(0xFF252B2A)
+private val surfaceContainerHighestDarkMediumContrast = Color(0xFF2F3635)
+
+private val primaryDarkHighContrast = Color(0xFFEAFFFC)
+private val onPrimaryDarkHighContrast = Color(0xFF000000)
+private val primaryContainerDarkHighContrast = Color(0xFF85D9D3)
+private val onPrimaryContainerDarkHighContrast = Color(0xFF000000)
+private val secondaryDarkHighContrast = Color(0xFFEAFFFC)
+private val onSecondaryDarkHighContrast = Color(0xFF000000)
+private val secondaryContainerDarkHighContrast = Color(0xFFB5D0CD)
+private val onSecondaryContainerDarkHighContrast = Color(0xFF000000)
+private val tertiaryDarkHighContrast = Color(0xFFFAFAFF)
+private val onTertiaryDarkHighContrast = Color(0xFF000000)
+private val tertiaryContainerDarkHighContrast = Color(0xFFB4CDEC)
+private val onTertiaryContainerDarkHighContrast = Color(0xFF000000)
+private val errorDarkHighContrast = Color(0xFFFFF9F9)
+private val onErrorDarkHighContrast = Color(0xFF000000)
+private val errorContainerDarkHighContrast = Color(0xFFFFBAB1)
+private val onErrorContainerDarkHighContrast = Color(0xFF000000)
+private val backgroundDarkHighContrast = Color(0xFF0E1514)
+private val onBackgroundDarkHighContrast = Color(0xFFDDE4E2)
+private val surfaceDarkHighContrast = Color(0xFF0E1514)
+private val onSurfaceDarkHighContrast = Color(0xFFFFFFFF)
+private val surfaceVariantDarkHighContrast = Color(0xFF3F4947)
+private val onSurfaceVariantDarkHighContrast = Color(0xFFF3FDFB)
+private val outlineDarkHighContrast = Color(0xFFC2CDCB)
+private val outlineVariantDarkHighContrast = Color(0xFFC2CDCB)
+private val scrimDarkHighContrast = Color(0xFF000000)
+private val inverseSurfaceDarkHighContrast = Color(0xFFDDE4E2)
+private val inverseOnSurfaceDarkHighContrast = Color(0xFF000000)
+private val inversePrimaryDarkHighContrast = Color(0xFF00302D)
+private val surfaceDimDarkHighContrast = Color(0xFF0E1514)
+private val surfaceBrightDarkHighContrast = Color(0xFF343A3A)
+private val surfaceContainerLowestDarkHighContrast = Color(0xFF090F0F)
+private val surfaceContainerLowDarkHighContrast = Color(0xFF161D1C)
+private val surfaceContainerDarkHighContrast = Color(0xFF1A2120)
+private val surfaceContainerHighDarkHighContrast = Color(0xFF252B2A)
+private val surfaceContainerHighestDarkHighContrast = Color(0xFF2F3635)
+
+
+@Composable
+fun marshTheme(isDark: Boolean, themeContrast: ThemeContrast): ColorScheme {
+ return if (isDark) {
+ when (themeContrast) {
+ ThemeContrast.STANDARD -> {
+ darkColorScheme(
+ primary = primaryDark,
+ onPrimary = onPrimaryDark,
+ primaryContainer = primaryContainerDark,
+ onPrimaryContainer = onPrimaryContainerDark,
+ secondary = secondaryDark,
+ onSecondary = onSecondaryDark,
+ secondaryContainer = secondaryContainerDark,
+ onSecondaryContainer = onSecondaryContainerDark,
+ tertiary = tertiaryDark,
+ onTertiary = onTertiaryDark,
+ tertiaryContainer = tertiaryContainerDark,
+ onTertiaryContainer = onTertiaryContainerDark,
+ error = errorDark,
+ onError = onErrorDark,
+ errorContainer = errorContainerDark,
+ onErrorContainer = onErrorContainerDark,
+ background = backgroundDark,
+ onBackground = onBackgroundDark,
+ surface = surfaceDark,
+ onSurface = onSurfaceDark,
+ surfaceVariant = surfaceVariantDark,
+ onSurfaceVariant = onSurfaceVariantDark,
+ outline = outlineDark,
+ outlineVariant = outlineVariantDark,
+ scrim = scrimDark,
+ inverseSurface = inverseSurfaceDark,
+ inverseOnSurface = inverseOnSurfaceDark,
+ inversePrimary = inversePrimaryDark,
+ surfaceDim = surfaceDimDark,
+ surfaceBright = surfaceBrightDark,
+ surfaceContainerLowest = surfaceContainerLowestDark,
+ surfaceContainerLow = surfaceContainerLowDark,
+ surfaceContainer = surfaceContainerDark,
+ surfaceContainerHigh = surfaceContainerHighDark,
+ surfaceContainerHighest = surfaceContainerHighestDark,
+ )
+ }
+
+ ThemeContrast.MEDIUM -> {
+ darkColorScheme(
+ primary = primaryDarkMediumContrast,
+ onPrimary = onPrimaryDarkMediumContrast,
+ primaryContainer = primaryContainerDarkMediumContrast,
+ onPrimaryContainer = onPrimaryContainerDarkMediumContrast,
+ secondary = secondaryDarkMediumContrast,
+ onSecondary = onSecondaryDarkMediumContrast,
+ secondaryContainer = secondaryContainerDarkMediumContrast,
+ onSecondaryContainer = onSecondaryContainerDarkMediumContrast,
+ tertiary = tertiaryDarkMediumContrast,
+ onTertiary = onTertiaryDarkMediumContrast,
+ tertiaryContainer = tertiaryContainerDarkMediumContrast,
+ onTertiaryContainer = onTertiaryContainerDarkMediumContrast,
+ error = errorDarkMediumContrast,
+ onError = onErrorDarkMediumContrast,
+ errorContainer = errorContainerDarkMediumContrast,
+ onErrorContainer = onErrorContainerDarkMediumContrast,
+ background = backgroundDarkMediumContrast,
+ onBackground = onBackgroundDarkMediumContrast,
+ surface = surfaceDarkMediumContrast,
+ onSurface = onSurfaceDarkMediumContrast,
+ surfaceVariant = surfaceVariantDarkMediumContrast,
+ onSurfaceVariant = onSurfaceVariantDarkMediumContrast,
+ outline = outlineDarkMediumContrast,
+ outlineVariant = outlineVariantDarkMediumContrast,
+ scrim = scrimDarkMediumContrast,
+ inverseSurface = inverseSurfaceDarkMediumContrast,
+ inverseOnSurface = inverseOnSurfaceDarkMediumContrast,
+ inversePrimary = inversePrimaryDarkMediumContrast,
+ surfaceDim = surfaceDimDarkMediumContrast,
+ surfaceBright = surfaceBrightDarkMediumContrast,
+ surfaceContainerLowest = surfaceContainerLowestDarkMediumContrast,
+ surfaceContainerLow = surfaceContainerLowDarkMediumContrast,
+ surfaceContainer = surfaceContainerDarkMediumContrast,
+ surfaceContainerHigh = surfaceContainerHighDarkMediumContrast,
+ surfaceContainerHighest = surfaceContainerHighestDarkMediumContrast,
+ )
+ }
+
+ ThemeContrast.HIGH -> {
+ darkColorScheme(
+ primary = primaryDarkHighContrast,
+ onPrimary = onPrimaryDarkHighContrast,
+ primaryContainer = primaryContainerDarkHighContrast,
+ onPrimaryContainer = onPrimaryContainerDarkHighContrast,
+ secondary = secondaryDarkHighContrast,
+ onSecondary = onSecondaryDarkHighContrast,
+ secondaryContainer = secondaryContainerDarkHighContrast,
+ onSecondaryContainer = onSecondaryContainerDarkHighContrast,
+ tertiary = tertiaryDarkHighContrast,
+ onTertiary = onTertiaryDarkHighContrast,
+ tertiaryContainer = tertiaryContainerDarkHighContrast,
+ onTertiaryContainer = onTertiaryContainerDarkHighContrast,
+ error = errorDarkHighContrast,
+ onError = onErrorDarkHighContrast,
+ errorContainer = errorContainerDarkHighContrast,
+ onErrorContainer = onErrorContainerDarkHighContrast,
+ background = backgroundDarkHighContrast,
+ onBackground = onBackgroundDarkHighContrast,
+ surface = surfaceDarkHighContrast,
+ onSurface = onSurfaceDarkHighContrast,
+ surfaceVariant = surfaceVariantDarkHighContrast,
+ onSurfaceVariant = onSurfaceVariantDarkHighContrast,
+ outline = outlineDarkHighContrast,
+ outlineVariant = outlineVariantDarkHighContrast,
+ scrim = scrimDarkHighContrast,
+ inverseSurface = inverseSurfaceDarkHighContrast,
+ inverseOnSurface = inverseOnSurfaceDarkHighContrast,
+ inversePrimary = inversePrimaryDarkHighContrast,
+ surfaceDim = surfaceDimDarkHighContrast,
+ surfaceBright = surfaceBrightDarkHighContrast,
+ surfaceContainerLowest = surfaceContainerLowestDarkHighContrast,
+ surfaceContainerLow = surfaceContainerLowDarkHighContrast,
+ surfaceContainer = surfaceContainerDarkHighContrast,
+ surfaceContainerHigh = surfaceContainerHighDarkHighContrast,
+ surfaceContainerHighest = surfaceContainerHighestDarkHighContrast,
+ )
+ }
+ }
+ } else {
+ when (themeContrast) {
+ ThemeContrast.STANDARD -> {
+ lightColorScheme(
+ primary = primaryLight,
+ onPrimary = onPrimaryLight,
+ primaryContainer = primaryContainerLight,
+ onPrimaryContainer = onPrimaryContainerLight,
+ secondary = secondaryLight,
+ onSecondary = onSecondaryLight,
+ secondaryContainer = secondaryContainerLight,
+ onSecondaryContainer = onSecondaryContainerLight,
+ tertiary = tertiaryLight,
+ onTertiary = onTertiaryLight,
+ tertiaryContainer = tertiaryContainerLight,
+ onTertiaryContainer = onTertiaryContainerLight,
+ error = errorLight,
+ onError = onErrorLight,
+ errorContainer = errorContainerLight,
+ onErrorContainer = onErrorContainerLight,
+ background = backgroundLight,
+ onBackground = onBackgroundLight,
+ surface = surfaceLight,
+ onSurface = onSurfaceLight,
+ surfaceVariant = surfaceVariantLight,
+ onSurfaceVariant = onSurfaceVariantLight,
+ outline = outlineLight,
+ outlineVariant = outlineVariantLight,
+ scrim = scrimLight,
+ inverseSurface = inverseSurfaceLight,
+ inverseOnSurface = inverseOnSurfaceLight,
+ inversePrimary = inversePrimaryLight,
+ surfaceDim = surfaceDimLight,
+ surfaceBright = surfaceBrightLight,
+ surfaceContainerLowest = surfaceContainerLowestLight,
+ surfaceContainerLow = surfaceContainerLowLight,
+ surfaceContainer = surfaceContainerLight,
+ surfaceContainerHigh = surfaceContainerHighLight,
+ surfaceContainerHighest = surfaceContainerHighestLight,
+ )
+ }
+
+ ThemeContrast.MEDIUM -> {
+ lightColorScheme(
+ primary = primaryLightMediumContrast,
+ onPrimary = onPrimaryLightMediumContrast,
+ primaryContainer = primaryContainerLightMediumContrast,
+ onPrimaryContainer = onPrimaryContainerLightMediumContrast,
+ secondary = secondaryLightMediumContrast,
+ onSecondary = onSecondaryLightMediumContrast,
+ secondaryContainer = secondaryContainerLightMediumContrast,
+ onSecondaryContainer = onSecondaryContainerLightMediumContrast,
+ tertiary = tertiaryLightMediumContrast,
+ onTertiary = onTertiaryLightMediumContrast,
+ tertiaryContainer = tertiaryContainerLightMediumContrast,
+ onTertiaryContainer = onTertiaryContainerLightMediumContrast,
+ error = errorLightMediumContrast,
+ onError = onErrorLightMediumContrast,
+ errorContainer = errorContainerLightMediumContrast,
+ onErrorContainer = onErrorContainerLightMediumContrast,
+ background = backgroundLightMediumContrast,
+ onBackground = onBackgroundLightMediumContrast,
+ surface = surfaceLightMediumContrast,
+ onSurface = onSurfaceLightMediumContrast,
+ surfaceVariant = surfaceVariantLightMediumContrast,
+ onSurfaceVariant = onSurfaceVariantLightMediumContrast,
+ outline = outlineLightMediumContrast,
+ outlineVariant = outlineVariantLightMediumContrast,
+ scrim = scrimLightMediumContrast,
+ inverseSurface = inverseSurfaceLightMediumContrast,
+ inverseOnSurface = inverseOnSurfaceLightMediumContrast,
+ inversePrimary = inversePrimaryLightMediumContrast,
+ surfaceDim = surfaceDimLightMediumContrast,
+ surfaceBright = surfaceBrightLightMediumContrast,
+ surfaceContainerLowest = surfaceContainerLowestLightMediumContrast,
+ surfaceContainerLow = surfaceContainerLowLightMediumContrast,
+ surfaceContainer = surfaceContainerLightMediumContrast,
+ surfaceContainerHigh = surfaceContainerHighLightMediumContrast,
+ surfaceContainerHighest = surfaceContainerHighestLightMediumContrast,
+ )
+ }
+
+ ThemeContrast.HIGH -> {
+ lightColorScheme(
+ primary = primaryLightHighContrast,
+ onPrimary = onPrimaryLightHighContrast,
+ primaryContainer = primaryContainerLightHighContrast,
+ onPrimaryContainer = onPrimaryContainerLightHighContrast,
+ secondary = secondaryLightHighContrast,
+ onSecondary = onSecondaryLightHighContrast,
+ secondaryContainer = secondaryContainerLightHighContrast,
+ onSecondaryContainer = onSecondaryContainerLightHighContrast,
+ tertiary = tertiaryLightHighContrast,
+ onTertiary = onTertiaryLightHighContrast,
+ tertiaryContainer = tertiaryContainerLightHighContrast,
+ onTertiaryContainer = onTertiaryContainerLightHighContrast,
+ error = errorLightHighContrast,
+ onError = onErrorLightHighContrast,
+ errorContainer = errorContainerLightHighContrast,
+ onErrorContainer = onErrorContainerLightHighContrast,
+ background = backgroundLightHighContrast,
+ onBackground = onBackgroundLightHighContrast,
+ surface = surfaceLightHighContrast,
+ onSurface = onSurfaceLightHighContrast,
+ surfaceVariant = surfaceVariantLightHighContrast,
+ onSurfaceVariant = onSurfaceVariantLightHighContrast,
+ outline = outlineLightHighContrast,
+ outlineVariant = outlineVariantLightHighContrast,
+ scrim = scrimLightHighContrast,
+ inverseSurface = inverseSurfaceLightHighContrast,
+ inverseOnSurface = inverseOnSurfaceLightHighContrast,
+ inversePrimary = inversePrimaryLightHighContrast,
+ surfaceDim = surfaceDimLightHighContrast,
+ surfaceBright = surfaceBrightLightHighContrast,
+ surfaceContainerLowest = surfaceContainerLowestLightHighContrast,
+ surfaceContainerLow = surfaceContainerLowLightHighContrast,
+ surfaceContainer = surfaceContainerLightHighContrast,
+ surfaceContainerHigh = surfaceContainerHighLightHighContrast,
+ surfaceContainerHighest = surfaceContainerHighestLightHighContrast,
+ )
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index fbe09d73..895825a4 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -298,6 +298,7 @@
Марс
Юпітер
Сатурн
+ Титан
Венера
Уран
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3cfc2582..49949f47 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -317,6 +317,7 @@
Mars
Jupiter
Saturn
+ Titan
Venus
Uranus