Add black theme (#15)

This commit is contained in:
vfsfitvnm 2022-06-08 13:09:14 +02:00
parent 5d1754b6c7
commit bf74be01db
3 changed files with 16 additions and 18 deletions

View file

@ -40,10 +40,7 @@ import it.vfsfitvnm.vimusic.ui.components.BottomSheetMenu
import it.vfsfitvnm.vimusic.ui.components.LocalMenuState
import it.vfsfitvnm.vimusic.ui.components.rememberMenuState
import it.vfsfitvnm.vimusic.ui.screens.HomeScreen
import it.vfsfitvnm.vimusic.ui.styling.LocalColorPalette
import it.vfsfitvnm.vimusic.ui.styling.LocalTypography
import it.vfsfitvnm.vimusic.ui.styling.rememberColorPalette
import it.vfsfitvnm.vimusic.ui.styling.rememberTypography
import it.vfsfitvnm.vimusic.ui.styling.*
import it.vfsfitvnm.vimusic.utils.*
private val Context.dataStore by preferencesDataStore(name = "preferences")
@ -64,14 +61,16 @@ class MainActivity : ComponentActivity() {
val preferences by rememberPreferences(dataStore)
val systemUiController = rememberSystemUiController()
val isDarkTheme = when (preferences.colorPaletteMode) {
ColorPaletteMode.Light -> false
ColorPaletteMode.Dark -> true
ColorPaletteMode.System -> isSystemInDarkTheme()
val (isDarkTheme, colorPalette) = when (preferences.colorPaletteMode) {
ColorPaletteMode.Light -> false to LightColorPalette
ColorPaletteMode.Dark -> true to DarkColorPalette
ColorPaletteMode.Black -> true to BlackColorPalette
ColorPaletteMode.System -> when (isSystemInDarkTheme()) {
true -> true to DarkColorPalette
false -> false to LightColorPalette
}
}
val colorPalette = rememberColorPalette(isDarkTheme)
val rippleTheme = remember(colorPalette.text, isDarkTheme) {
object : RippleTheme {
@Composable

View file

@ -3,5 +3,6 @@ package it.vfsfitvnm.vimusic.enums
enum class ColorPaletteMode {
Light,
Dark,
Black,
System
}

View file

@ -1,6 +1,5 @@
package it.vfsfitvnm.vimusic.ui.styling
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.*
import androidx.compose.ui.graphics.Color
@ -45,6 +44,12 @@ val DarkColorPalette = ColorPalette(
iconOnPrimaryContainer = Color.White,
)
val BlackColorPalette = DarkColorPalette.copy(
background = Color.Black,
lightBackground = Color(0xff0d0d12),
elevatedBackground = Color(0xff0d0d12),
)
val LightColorPalette = ColorPalette(
background = Color(0xfffdfdfe),
lightBackground = Color(0xFFf8f8fc),
@ -69,10 +74,3 @@ val LightColorPalette = ColorPalette(
)
val LocalColorPalette = staticCompositionLocalOf { LightColorPalette }
@Composable
fun rememberColorPalette(isDarkTheme: Boolean = isSystemInDarkTheme()): ColorPalette {
return remember(isDarkTheme) {
if (isDarkTheme) DarkColorPalette else LightColorPalette
}
}