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,23 +36,25 @@ 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)
private fun getThemeForMood (mood: PossibleMood) : ColorScheme = when (mood) {
PossibleMood.HAPPY -> HappyColorTheme
PossibleMood.RELAXED -> RelaxedColorTheme
PossibleMood.CONTENT -> ContentColorTheme
PossibleMood.SAD -> SadColorTheme
PossibleMood.ANGRY -> AngryColorTheme
PossibleMood.DISAPPOINTED -> DisappointedColorTheme
PossibleMood.EMPTY -> EmptyColorTheme
PossibleMood.ANXIOUS -> AnxiousColorTheme
PossibleMood.NERVOUS -> NervousColorTheme
PossibleMood.PANIC -> PanicColorTheme
}
@Composable @Composable
fun SoulEchoTheme( fun SoulEchoTheme(
content: @Composable () -> Unit content: @Composable () -> Unit
) { ) {
val currentTheme = LocalMoodState.current.mood val currentMood = LocalMoodState.current.mood
val colorScheme = when (currentTheme) { val colorScheme = getThemeForMood(currentMood)
PossibleMood.HAPPY -> HappyColorTheme
PossibleMood.RELAXED -> RelaxedColorTheme
PossibleMood.CONTENT -> ContentColorTheme
PossibleMood.SAD -> SadColorTheme
PossibleMood.ANGRY -> AngryColorTheme
PossibleMood.DISAPPOINTED -> DisappointedColorTheme
PossibleMood.EMPTY -> EmptyColorTheme
PossibleMood.ANXIOUS -> AnxiousColorTheme
PossibleMood.NERVOUS -> NervousColorTheme
PossibleMood.PANIC -> PanicColorTheme
}
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> </resources>
<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>

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>