Add easter egg color scheme
This commit is contained in:
parent
cc2d63c926
commit
bc718bd343
@ -17,6 +17,7 @@ message Settings {
|
|||||||
BlackAndWhite = 1;
|
BlackAndWhite = 1;
|
||||||
DebugMaterialYouCompat = 2;
|
DebugMaterialYouCompat = 2;
|
||||||
Custom = 3;
|
Custom = 3;
|
||||||
|
EasterEgg = 4;
|
||||||
}
|
}
|
||||||
ColorScheme color_scheme = 6;
|
ColorScheme color_scheme = 6;
|
||||||
message CustomColors {
|
message CustomColors {
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import androidx.compose.material3.dynamicLightColorScheme
|
|||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import de.mm20.launcher2.preferences.LauncherDataStore
|
import de.mm20.launcher2.preferences.LauncherDataStore
|
||||||
|
import de.mm20.launcher2.preferences.Settings
|
||||||
import de.mm20.launcher2.preferences.Settings.AppearanceSettings
|
import de.mm20.launcher2.preferences.Settings.AppearanceSettings
|
||||||
import de.mm20.launcher2.preferences.Settings.AppearanceSettings.Theme
|
import de.mm20.launcher2.preferences.Settings.AppearanceSettings.Theme
|
||||||
import de.mm20.launcher2.ui.theme.colorscheme.*
|
import de.mm20.launcher2.ui.theme.colorscheme.*
|
||||||
@ -24,7 +25,12 @@ fun LauncherTheme(
|
|||||||
|
|
||||||
val dataStore: LauncherDataStore by inject()
|
val dataStore: LauncherDataStore by inject()
|
||||||
|
|
||||||
val colorSchemePreference by remember { dataStore.data.map { it.appearance.colorScheme } }.collectAsState(
|
val colorSchemePreference by remember {
|
||||||
|
dataStore.data.map {
|
||||||
|
if (it.easterEgg) Settings.AppearanceSettings.ColorScheme.EasterEgg
|
||||||
|
else it.appearance.colorScheme
|
||||||
|
}
|
||||||
|
}.collectAsState(
|
||||||
AppearanceSettings.ColorScheme.Default
|
AppearanceSettings.ColorScheme.Default
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -57,6 +63,13 @@ fun colorSchemeAsState(colorScheme: AppearanceSettings.ColorScheme): MutableStat
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
AppearanceSettings.ColorScheme.EasterEgg -> {
|
||||||
|
return remember(darkTheme) {
|
||||||
|
mutableStateOf(
|
||||||
|
if (darkTheme) DarkEasterEggColorScheme else LightEasterEggColorScheme
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
AppearanceSettings.ColorScheme.Custom -> {
|
AppearanceSettings.ColorScheme.Custom -> {
|
||||||
val colors by remember(darkTheme) {
|
val colors by remember(darkTheme) {
|
||||||
dataStore.data.map { if (darkTheme) it.appearance.customColors.darkScheme else it.appearance.customColors.lightScheme }
|
dataStore.data.map { if (darkTheme) it.appearance.customColors.darkScheme else it.appearance.customColors.lightScheme }
|
||||||
|
|||||||
@ -0,0 +1,63 @@
|
|||||||
|
package de.mm20.launcher2.ui.theme.colorscheme
|
||||||
|
|
||||||
|
import androidx.compose.material3.darkColorScheme
|
||||||
|
import androidx.compose.material3.lightColorScheme
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
|
||||||
|
val LightEasterEggColorScheme = lightColorScheme(
|
||||||
|
primary = Color(0xFFB30080),
|
||||||
|
onPrimary = Color(0xFFFFFFFF),
|
||||||
|
primaryContainer = Color(0xFFFFD8EB),
|
||||||
|
onPrimaryContainer = Color(0xFF3C002A),
|
||||||
|
inversePrimary = Color(0xFFFFAEDA),
|
||||||
|
secondary = Color(0xFF9E00C6),
|
||||||
|
onSecondary = Color(0xFFFFFFFF),
|
||||||
|
secondaryContainer = Color(0xFFFED6FF),
|
||||||
|
onSecondaryContainer = Color(0xFF340044),
|
||||||
|
tertiary = Color(0xFF8F4E00),
|
||||||
|
onTertiary = Color(0xFFFFFFFF),
|
||||||
|
tertiaryContainer = Color(0xFFFFDCBE),
|
||||||
|
onTertiaryContainer = Color(0xFF2E1500),
|
||||||
|
background = Color(0xFFFCFCF6),
|
||||||
|
onBackground = Color(0xFF1A1C19),
|
||||||
|
surface = Color(0xFFFCFCF6),
|
||||||
|
onSurface = Color(0xFF1A1C19),
|
||||||
|
surfaceVariant = Color(0xFFFFD6F5),
|
||||||
|
onSurfaceVariant = Color(0xFF6F2E67),
|
||||||
|
inverseSurface = Color(0xFF2F312D),
|
||||||
|
inverseOnSurface = Color(0xFFF1F1EB),
|
||||||
|
error = Color(0xFFB4271F),
|
||||||
|
onError = Color(0xFFFFFFFF),
|
||||||
|
errorContainer = Color(0xFFFFDAD3),
|
||||||
|
onErrorContainer = Color(0xFF410001),
|
||||||
|
outline = Color(0xFFA55E9A),
|
||||||
|
)
|
||||||
|
|
||||||
|
val DarkEasterEggColorScheme = darkColorScheme(
|
||||||
|
primary = Color(0xFFFFAEDA),
|
||||||
|
onPrimary = Color(0xFF620044),
|
||||||
|
primaryContainer = Color(0xFF890061),
|
||||||
|
onPrimaryContainer = Color(0xFFFFD8EB),
|
||||||
|
inversePrimary = Color(0xFFB30080),
|
||||||
|
secondary = Color(0xFFF5ADFF),
|
||||||
|
onSecondary = Color(0xFF55006C),
|
||||||
|
secondaryContainer = Color(0xFF780097),
|
||||||
|
onSecondaryContainer = Color(0xFFFED6FF),
|
||||||
|
tertiary = Color(0xFFFFB773),
|
||||||
|
onTertiary = Color(0xFF4C2700),
|
||||||
|
tertiaryContainer = Color(0xFF6D3A00),
|
||||||
|
onTertiaryContainer = Color(0xFFFFDCBE),
|
||||||
|
background = Color(0xFF1A1C19),
|
||||||
|
onBackground = Color(0xFFE2E3DC),
|
||||||
|
surface = Color(0xFF1A1C19),
|
||||||
|
onSurface = Color(0xFFE2E3DC),
|
||||||
|
surfaceVariant = Color(0xFF6F2E67),
|
||||||
|
onSurfaceVariant = Color(0xFFFEACEE),
|
||||||
|
inverseSurface = Color(0xFFE2E3DC),
|
||||||
|
inverseOnSurface = Color(0xFF2F312D),
|
||||||
|
error = Color(0xFFFFB4A8),
|
||||||
|
onError = Color(0xFF690001),
|
||||||
|
errorContainer = Color(0xFF910809),
|
||||||
|
onErrorContainer = Color(0xFFFFB4A8),
|
||||||
|
outline = Color(0xFFC277B5),
|
||||||
|
)
|
||||||
Loading…
x
Reference in New Issue
Block a user