Add black theme (#15)
This commit is contained in:
parent
5d1754b6c7
commit
bf74be01db
3 changed files with 16 additions and 18 deletions
|
@ -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
|
||||
|
|
|
@ -3,5 +3,6 @@ package it.vfsfitvnm.vimusic.enums
|
|||
enum class ColorPaletteMode {
|
||||
Light,
|
||||
Dark,
|
||||
Black,
|
||||
System
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue