From 327ff3786a17f5063ab87e55c55b59fe041ad622 Mon Sep 17 00:00:00 2001
From: Acclorite <140836141+Acclorite@users.noreply.github.com>
Date: Mon, 13 Jan 2025 14:20:01 +0200
Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20New=20"Ceres"=20theme?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* New purple colored theme
---
.../ua/acclorite/book_story/ui/theme/Color.kt | 7 +
.../ui/theme/color/PurpleGrayTheme.kt | 162 ++++++++++++++++++
.../color/{GrayTheme.kt => RedGrayTheme.kt} | 0
app/src/main/res/values-uk/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
5 files changed, 171 insertions(+)
create mode 100644 app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt
rename app/src/main/java/ua/acclorite/book_story/ui/theme/color/{GrayTheme.kt => RedGrayTheme.kt} (100%)
diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt
index ea194a30..c60ca16f 100644
--- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt
+++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt
@@ -15,6 +15,7 @@ import ua.acclorite.book_story.ui.theme.color.lavenderTheme
import ua.acclorite.book_story.ui.theme.color.marshTheme
import ua.acclorite.book_story.ui.theme.color.pink2Theme
import ua.acclorite.book_story.ui.theme.color.pinkTheme
+import ua.acclorite.book_story.ui.theme.color.purpleGrayTheme
import ua.acclorite.book_story.ui.theme.color.purpleTheme
import ua.acclorite.book_story.ui.theme.color.redGrayTheme
import ua.acclorite.book_story.ui.theme.color.redTheme
@@ -34,6 +35,7 @@ enum class Theme(
RED(hasThemeContrast = true, title = R.string.red_theme),
RED_GRAY(hasThemeContrast = false, title = R.string.red_gray_theme),
PURPLE(hasThemeContrast = true, title = R.string.purple_theme),
+ PURPLE_GRAY(hasThemeContrast = false, title = R.string.purple_gray_theme),
LAVENDER(hasThemeContrast = true, title = R.string.lavender_theme),
PINK(hasThemeContrast = true, title = R.string.pink_theme),
PINK2(hasThemeContrast = false, title = R.string.pink2_theme),
@@ -88,6 +90,11 @@ fun colorScheme(
purpleTheme(isDark = darkTheme, themeContrast = themeContrast)
}
+ Theme.PURPLE_GRAY -> {
+ /* Purple Gray Theme */
+ purpleGrayTheme(isDark = darkTheme)
+ }
+
Theme.GREEN -> {
/* Green Theme */
greenTheme(isDark = darkTheme, themeContrast = themeContrast)
diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt
new file mode 100644
index 00000000..1b603a16
--- /dev/null
+++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt
@@ -0,0 +1,162 @@
+package ua.acclorite.book_story.ui.theme.color
+
+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
+
+private val primaryLight = Color(0xFF55545D)
+private val onPrimaryLight = Color(0xFFFFFFFF)
+private val primaryContainerLight = Color(0xFFCBC8D3)
+private val onPrimaryContainerLight = Color(0xFF191921)
+private val secondaryLight = Color(0xFF5F5D67)
+private val onSecondaryLight = Color(0xFFFFFFFF)
+private val secondaryContainerLight = Color(0xFFE4E1EC)
+private val onSecondaryContainerLight = Color(0xFF1B1B23)
+private val tertiaryLight = Color(0xFF5E5C71)
+private val onTertiaryLight = Color(0xFFFFFFFF)
+private val tertiaryContainerLight = Color(0xFFE3E0F9)
+private val onTertiaryContainerLight = Color(0xFF1A1A2C)
+private val errorLight = Color(0xFFB3261E)
+private val onErrorLight = Color(0xFFFFFFFF)
+private val errorContainerLight = Color(0xFFF9DEDC)
+private val onErrorContainerLight = Color(0xFF410E0B)
+private val backgroundLight = Color(0xFFFCF8F9)
+private val onBackgroundLight = Color(0xFF1C1B1D)
+private val surfaceLight = Color(0xFFFCF8F9)
+private val onSurfaceLight = Color(0xFF1C1B1D)
+private val surfaceVariantLight = Color(0xFFE5E1E3)
+private val onSurfaceVariantLight = Color(0xFF484648)
+private val outlineLight = Color(0xFF777577)
+private val outlineVariantLight = Color(0xFFC9C5C7)
+private val scrimLight = Color(0xFF000000)
+private val inverseSurfaceLight = Color(0xFF313032)
+private val inverseOnSurfaceLight = Color(0xFFF4F0F1)
+private val inversePrimaryLight = Color(0xFFB2AFBA)
+private val surfaceDimLight = Color(0xFFDCD9DA)
+private val surfaceBrightLight = Color(0xFFFCF8F9)
+private val surfaceContainerLowestLight = Color(0xFFFFFFFF)
+private val surfaceContainerLowLight = Color(0xFFF6F3F4)
+private val surfaceContainerLight = Color(0xFFF0EDEE)
+private val surfaceContainerHighLight = Color(0xFFEAE7E8)
+private val surfaceContainerHighestLight = Color(0xFFE5E1E3)
+
+
+private val primaryDark = Color(0xFFB2AFBA)
+private val onPrimaryDark = Color(0xFF2C2B34)
+private val primaryContainerDark = Color(0xFF403F48)
+private val onPrimaryContainerDark = Color(0xFFCBC8D3)
+private val secondaryDark = Color(0xFFC8C5D0)
+private val onSecondaryDark = Color(0xFF302F38)
+private val secondaryContainerDark = Color(0xFF47464F)
+private val onSecondaryContainerDark = Color(0xFFE4E1EC)
+private val tertiaryDark = Color(0xFFC7C4DD)
+private val onTertiaryDark = Color(0xFF2F2E42)
+private val tertiaryContainerDark = Color(0xFF464559)
+private val onTertiaryContainerDark = Color(0xFFE3E0F9)
+private val errorDark = Color(0xFFF2B8B5)
+private val onErrorDark = Color(0xFF601410)
+private val errorContainerDark = Color(0xFF8C1D18)
+private val onErrorContainerDark = Color(0xFFF9DEDC)
+private val backgroundDark = Color(0xFF131314)
+private val onBackgroundDark = Color(0xFFE5E1E3)
+private val surfaceDark = Color(0xFF111111)
+private val onSurfaceDark = Color(0xFFE5E1E3)
+private val surfaceVariantDark = Color(0xFF484648)
+private val onSurfaceVariantDark = Color(0xFFC9C5C7)
+private val outlineDark = Color(0xFF929092)
+private val outlineVariantDark = Color(0xFF484648)
+private val scrimDark = Color(0xFF000000)
+private val inverseSurfaceDark = Color(0xFFE5E1E3)
+private val inverseOnSurfaceDark = Color(0xFF313032)
+private val inversePrimaryDark = Color(0xFF55545D)
+private val surfaceDimDark = Color(0xFF131314)
+private val surfaceBrightDark = Color(0xFF39393A)
+private val surfaceContainerLowestDark = Color(0xFF0A0A0B)
+private val surfaceContainerLowDark = Color(0xFF1C1B1D)
+private val surfaceContainerDark = Color(0xFF201F20)
+private val surfaceContainerHighDark = Color(0xFF2A2A2B)
+private val surfaceContainerHighestDark = Color(0xFF353435)
+
+
+@Composable
+fun purpleGrayTheme(isDark: Boolean): ColorScheme {
+ return if (isDark) {
+ 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,
+ )
+ } else {
+ 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,
+ )
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt
similarity index 100%
rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/GrayTheme.kt
rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 51040f32..bf8d7470 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -293,6 +293,7 @@
Марс
Каллісто
Юпітер
+ Церера
Сатурн
Ганімед
Еріс
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d0def73c..b362f7da 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -352,6 +352,7 @@
Mars
Callisto
Jupiter
+ Ceres
Saturn
Ganymede
Eris