Add "Allow black theme" feature flag

This commit is contained in:
Timur Gilfanov 2026-04-05 12:03:50 +04:00
parent 104ae4752a
commit 5e6a6af409
16 changed files with 139 additions and 9 deletions

View file

@ -20,6 +20,10 @@ enum class Theme {
Light,
}
private fun Theme.coerceBlackTheme(allowBlackTheme: Boolean): Theme {
return if (this == Theme.Black && !allowBlackTheme) Theme.Dark else this
}
@Composable
fun Theme.isDark(): Boolean {
return when (this) {
@ -29,9 +33,9 @@ fun Theme.isDark(): Boolean {
}
}
fun Flow<String?>.mapToTheme(): Flow<Theme> = map {
fun Flow<String?>.mapToTheme(allowBlackTheme: Boolean = true): Flow<Theme> = map {
when (it) {
null -> Theme.System
else -> Theme.valueOf(it)
}
}.coerceBlackTheme(allowBlackTheme)
}