ADD: theming optimization

This commit is contained in:
webfussel 2025-08-02 07:57:35 +02:00
parent 4b30d4f446
commit ee21050e73
3 changed files with 22 additions and 27 deletions

View file

@ -1,14 +1,10 @@
package de.webfussel.soulecho.ui.theme package de.webfussel.soulecho.ui.theme
import android.os.Build import androidx.compose.material3.ColorScheme
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.material3.lightColorScheme import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import de.webfussel.soulecho.LocalMoodState import de.webfussel.soulecho.LocalMoodState
import de.webfussel.soulecho.mood.PossibleMood import de.webfussel.soulecho.mood.PossibleMood
@ -40,12 +36,7 @@ private val AnxiousColorTheme = createEmotionColorScheme(AnxiousFg, AnxiousBg)
private val NervousColorTheme = createEmotionColorScheme(NervousFg, NervousBg) private val NervousColorTheme = createEmotionColorScheme(NervousFg, NervousBg)
private val PanicColorTheme = createEmotionColorScheme(PanicFg, PanicBg) private val PanicColorTheme = createEmotionColorScheme(PanicFg, PanicBg)
@Composable private fun getThemeForMood (mood: PossibleMood) : ColorScheme = when (mood) {
fun SoulEchoTheme(
content: @Composable () -> Unit
) {
val currentTheme = LocalMoodState.current.mood
val colorScheme = when (currentTheme) {
PossibleMood.HAPPY -> HappyColorTheme PossibleMood.HAPPY -> HappyColorTheme
PossibleMood.RELAXED -> RelaxedColorTheme PossibleMood.RELAXED -> RelaxedColorTheme
PossibleMood.CONTENT -> ContentColorTheme PossibleMood.CONTENT -> ContentColorTheme
@ -56,7 +47,14 @@ fun SoulEchoTheme(
PossibleMood.ANXIOUS -> AnxiousColorTheme PossibleMood.ANXIOUS -> AnxiousColorTheme
PossibleMood.NERVOUS -> NervousColorTheme PossibleMood.NERVOUS -> NervousColorTheme
PossibleMood.PANIC -> PanicColorTheme PossibleMood.PANIC -> PanicColorTheme
} }
@Composable
fun SoulEchoTheme(
content: @Composable () -> Unit
) {
val currentMood = LocalMoodState.current.mood
val colorScheme = getThemeForMood(currentMood)
MaterialTheme( MaterialTheme(
colorScheme = colorScheme, colorScheme = colorScheme,

View file

@ -1,10 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="purple_200">#FFBB86FC</color> <color name="transparent">#00000000</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
</resources> </resources>

View file

@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="Theme.SoulEcho" parent="android:Theme.Material.Light.NoActionBar"/> <style name="Theme.SoulEcho" parent="android:Theme.Material.Light.NoActionBar">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
</style>
</resources> </resources>