commonMain.com.softartdev.theme.material.PreferableMaterialTheme.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of theme-material Show documentation
Show all versions of theme-material Show documentation
Kotlin Multiplatform library for easy switching Dark/Light Material themes on Compose.
package com.softartdev.theme.material
import androidx.compose.material.Colors
import androidx.compose.material.MaterialTheme
import androidx.compose.material.darkColors
import androidx.compose.material.lightColors
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import com.softartdev.theme.pref.*
@Composable
fun PreferableMaterialTheme(
preferHelper: PreferenceHelper = rememberPreferenceHelper(),
dialogHolder: DialogHolder = DialogHolder(),
darkColorPalette: Colors = darkColors(),
lightColorPalette: Colors = lightColors(),
content: @Composable PreferableMaterialTheme.() -> Unit
) {
val themePrefs = rememberThemePrefs(preferHelper, dialogHolder, darkColorPalette, lightColorPalette)
CompositionLocalProvider(
LocalThemePrefs provides themePrefs,
) {
MaterialTheme(
colors = themePrefs.colors,
content = { PreferableMaterialTheme.content() }
)
}
}