feat: add Settings tab to TV home screen and update color scheme

This commit is contained in:
2026-04-01 16:51:24 +02:00
parent 0df79f55a1
commit b90632063c
5 changed files with 54 additions and 472 deletions

View File

@@ -7,6 +7,7 @@ import androidx.compose.material.icons.outlined.Collections
import androidx.compose.material.icons.outlined.Home
import androidx.compose.material.icons.outlined.Movie
import androidx.compose.material.icons.outlined.Search
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material.icons.outlined.Tv
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
@@ -43,6 +44,13 @@ fun TvHomeScreen(
val tabs = remember(libraries) {
buildList {
add(
TvHomeTabItem(
destination = TvHomeTabDestination.SETTINGS,
label = "Settings",
icon = Icons.Outlined.Settings,
)
)
add(
TvHomeTabItem(
destination = TvHomeTabDestination.SEARCH,
@@ -100,6 +108,7 @@ fun TvHomeScreen(
}
) { innerPadding ->
when (selectedTab?.destination) {
TvHomeTabDestination.SETTINGS,
TvHomeTabDestination.LIBRARY -> {
TvLibraryContent(
libraryItems = selectedLibraryItems,
@@ -108,7 +117,6 @@ fun TvHomeScreen(
modifier = Modifier.padding(innerPadding)
)
}
TvHomeTabDestination.SEARCH,
TvHomeTabDestination.HOME,
null -> {

View File

@@ -13,7 +13,8 @@ data class TvHomeNavItem(
enum class TvHomeTabDestination {
SEARCH,
HOME,
LIBRARY
LIBRARY,
SETTINGS
}
data class TvHomeTabItem(

View File

@@ -1,12 +1,7 @@
package hu.bbara.purefin.tv.home.ui
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
@@ -17,7 +12,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
@OptIn(ExperimentalMaterial3Api::class)
@Composable
@@ -30,25 +24,10 @@ fun TvHomeTopBar(
val scheme = MaterialTheme.colorScheme
val safeSelectedTabIndex = selectedTabIndex.coerceIn(0, tabs.lastIndex.coerceAtLeast(0))
Box(
modifier = modifier
.fillMaxWidth()
.background(scheme.background.copy(alpha = 0.95f))
.zIndex(1f)
) {
Row(
modifier = Modifier
.statusBarsPadding()
.padding(horizontal = 16.dp, vertical = 16.dp)
.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(16.dp),
) {
PrimaryScrollableTabRow(
selectedTabIndex = safeSelectedTabIndex,
modifier = Modifier.weight(1f),
containerColor = scheme.surface,
contentColor = scheme.onSurface
contentColor = scheme.onSurface,
) {
tabs.forEachIndexed { index, tab ->
Tab(
@@ -69,6 +48,4 @@ fun TvHomeTopBar(
)
}
}
}
}
}

View File

@@ -5,218 +5,24 @@ import androidx.compose.ui.graphics.Color
private fun hslColor(hue: Float, saturation: Float, lightness: Float): Color =
Color.hsl(hue = hue, saturation = saturation / 100f, lightness = lightness / 100f)
val primaryLight = hslColor(26.9f, 61.4f, 33.5f)
val onPrimaryLight = hslColor(0f, 0f, 100f)
val primaryContainerLight = hslColor(23.8f, 100f, 88.6f)
val onPrimaryContainerLight = hslColor(28.2f, 81.7f, 23.5f)
val secondaryLight = hslColor(25f, 25.8f, 36.5f)
val onSecondaryLight = hslColor(0f, 0f, 100f)
val secondaryContainerLight = hslColor(23.8f, 100f, 88.6f)
val onSecondaryContainerLight = hslColor(24.5f, 31.9f, 27.1f)
val tertiaryLight = hslColor(64.1f, 29.3f, 29.4f)
val onTertiaryLight = hslColor(0f, 0f, 100f)
val tertiaryContainerLight = hslColor(62.1f, 52.8f, 79.2f)
val onTertiaryContainerLight = hslColor(64.4f, 39.0f, 20.6f)
val errorLight = hslColor(0f, 75.5f, 41.6f)
val onErrorLight = hslColor(0f, 0f, 100f)
val errorContainerLight = hslColor(5.9f, 100f, 92.0f)
val onErrorContainerLight = hslColor(355.9f, 100f, 28.8f)
val backgroundLight = hslColor(18f, 100f, 98.0f)
val onBackgroundLight = hslColor(23.1f, 23.6f, 10.8f)
val surfaceLight = hslColor(18f, 100f, 98.0f)
val onSurfaceLight = hslColor(23.1f, 23.6f, 10.8f)
val surfaceVariantLight = hslColor(23.6f, 57.9f, 88.8f)
val onSurfaceVariantLight = hslColor(23.5f, 16.3f, 27.6f)
val outlineLight = hslColor(23.1f, 10.9f, 46.7f)
val outlineVariantLight = hslColor(23.2f, 27.4f, 77.8f)
val scrimLight = hslColor(0f, 0f, 0f)
val inverseSurfaceLight = hslColor(24f, 15.5f, 19.0f)
val inverseOnSurfaceLight = hslColor(23.1f, 92.9f, 94.5f)
val inversePrimaryLight = hslColor(25.2f, 100f, 75.7f)
val surfaceDimLight = hslColor(21.6f, 34.2f, 85.7f)
val surfaceBrightLight = hslColor(18f, 100f, 98.0f)
val surfaceContainerLowestLight = hslColor(0f, 0f, 100f)
val surfaceContainerLowLight = hslColor(21.8f, 100f, 95.7f)
val surfaceContainerLight = hslColor(23.1f, 76.5f, 93.3f)
val surfaceContainerHighLight = hslColor(21.6f, 55.6f, 91.2f)
val surfaceContainerHighestLight = hslColor(20.8f, 46.4f, 89.0f)
val primaryLightMediumContrast = hslColor(29.0f, 100f, 17.1f)
val onPrimaryLightMediumContrast = hslColor(0f, 0f, 100f)
val primaryContainerLightMediumContrast = hslColor(26.4f, 54.2f, 39.4f)
val onPrimaryContainerLightMediumContrast = hslColor(0f, 0f, 100f)
val secondaryLightMediumContrast = hslColor(24.9f, 39.0f, 20.6f)
val onSecondaryLightMediumContrast = hslColor(0f, 0f, 100f)
val secondaryContainerLightMediumContrast = hslColor(24f, 23.1f, 42.4f)
val onSecondaryContainerLightMediumContrast = hslColor(0f, 0f, 100f)
val tertiaryLightMediumContrast = hslColor(64.5f, 54.1f, 14.5f)
val onTertiaryLightMediumContrast = hslColor(0f, 0f, 100f)
val tertiaryContainerLightMediumContrast = hslColor(63.9f, 25.8f, 34.9f)
val onTertiaryContainerLightMediumContrast = hslColor(0f, 0f, 100f)
val errorLightMediumContrast = hslColor(356.9f, 100f, 22.7f)
val onErrorLightMediumContrast = hslColor(0f, 0f, 100f)
val errorContainerLightMediumContrast = hslColor(1.8f, 68.3f, 48.2f)
val onErrorContainerLightMediumContrast = hslColor(0f, 0f, 100f)
val backgroundLightMediumContrast = hslColor(18f, 100f, 98.0f)
val onBackgroundLightMediumContrast = hslColor(23.1f, 23.6f, 10.8f)
val surfaceLightMediumContrast = hslColor(18f, 100f, 98.0f)
val onSurfaceLightMediumContrast = hslColor(25f, 35.3f, 6.7f)
val surfaceVariantLightMediumContrast = hslColor(23.6f, 57.9f, 88.8f)
val onSurfaceVariantLightMediumContrast = hslColor(25.7f, 19.6f, 21.0f)
val outlineLightMediumContrast = hslColor(25f, 14.6f, 32.2f)
val outlineVariantLightMediumContrast = hslColor(23.1f, 11.9f, 42.7f)
val scrimLightMediumContrast = hslColor(0f, 0f, 0f)
val inverseSurfaceLightMediumContrast = hslColor(24f, 15.5f, 19.0f)
val inverseOnSurfaceLightMediumContrast = hslColor(23.1f, 92.9f, 94.5f)
val inversePrimaryLightMediumContrast = hslColor(25.2f, 100f, 75.7f)
val surfaceDimLightMediumContrast = hslColor(22.5f, 21.4f, 78.0f)
val surfaceBrightLightMediumContrast = hslColor(18f, 100f, 98.0f)
val surfaceContainerLowestLightMediumContrast = hslColor(0f, 0f, 100f)
val surfaceContainerLowLightMediumContrast = hslColor(21.8f, 100f, 95.7f)
val surfaceContainerLightMediumContrast = hslColor(21.6f, 55.6f, 91.2f)
val surfaceContainerHighLightMediumContrast = hslColor(21.6f, 37.3f, 86.9f)
val surfaceContainerHighestLightMediumContrast = hslColor(22.5f, 26.7f, 82.4f)
val primaryLightHighContrast = hslColor(27.9f, 100f, 14.3f)
val onPrimaryLightHighContrast = hslColor(0f, 0f, 100f)
val primaryContainerLightHighContrast = hslColor(28.5f, 79.2f, 24.5f)
val onPrimaryContainerLightHighContrast = hslColor(0f, 0f, 100f)
val secondaryLightHighContrast = hslColor(25.3f, 45.2f, 16.5f)
val onSecondaryLightHighContrast = hslColor(0f, 0f, 100f)
val secondaryContainerLightHighContrast = hslColor(25.9f, 31.0f, 27.8f)
val onSecondaryContainerLightHighContrast = hslColor(0f, 0f, 100f)
val tertiaryLightHighContrast = hslColor(63.1f, 73.6f, 10.4f)
val onTertiaryLightHighContrast = hslColor(0f, 0f, 100f)
val tertiaryContainerLightHighContrast = hslColor(64.3f, 38.2f, 21.6f)
val onTertiaryContainerLightHighContrast = hslColor(0f, 0f, 100f)
val errorLightHighContrast = hslColor(357.5f, 100f, 18.8f)
val onErrorLightHighContrast = hslColor(0f, 0f, 100f)
val errorContainerLightHighContrast = hslColor(356.1f, 100f, 29.8f)
val onErrorContainerLightHighContrast = hslColor(0f, 0f, 100f)
val backgroundLightHighContrast = hslColor(18f, 100f, 98.0f)
val onBackgroundLightHighContrast = hslColor(23.1f, 23.6f, 10.8f)
val surfaceLightHighContrast = hslColor(18f, 100f, 98.0f)
val onSurfaceLightHighContrast = hslColor(0f, 0f, 0f)
val surfaceVariantLightHighContrast = hslColor(23.6f, 57.9f, 88.8f)
val onSurfaceVariantLightHighContrast = hslColor(0f, 0f, 0f)
val outlineLightHighContrast = hslColor(24f, 22.7f, 17.3f)
val outlineVariantLightHighContrast = hslColor(21.8f, 15.1f, 28.6f)
val scrimLightHighContrast = hslColor(0f, 0f, 0f)
val inverseSurfaceLightHighContrast = hslColor(24f, 15.5f, 19.0f)
val inverseOnSurfaceLightHighContrast = hslColor(0f, 0f, 100f)
val inversePrimaryLightHighContrast = hslColor(25.2f, 100f, 75.7f)
val surfaceDimLightHighContrast = hslColor(22.5f, 17.1f, 72.5f)
val surfaceBrightLightHighContrast = hslColor(18f, 100f, 98.0f)
val surfaceContainerLowestLightHighContrast = hslColor(0f, 0f, 100f)
val surfaceContainerLowLightHighContrast = hslColor(23.1f, 92.9f, 94.5f)
val surfaceContainerLightHighContrast = hslColor(20.8f, 46.4f, 89.0f)
val surfaceContainerHighLightHighContrast = hslColor(21.6f, 29.4f, 83.3f)
val surfaceContainerHighestLightHighContrast = hslColor(22.5f, 21.4f, 78.0f)
val primaryDark = hslColor(25.2f, 100f, 75.7f)
val onPrimaryDark = hslColor(28.1f, 100f, 15.5f)
val primaryContainerDark = hslColor(28.2f, 81.7f, 23.5f)
val onPrimaryContainerDark = hslColor(23.8f, 100f, 88.6f)
val secondaryDark = hslColor(23.6f, 53.0f, 77.5f)
val onSecondaryDark = hslColor(24.6f, 41.9f, 18.2f)
val secondaryContainerDark = hslColor(24.5f, 31.9f, 27.1f)
val onSecondaryContainerDark = hslColor(23.8f, 100f, 88.6f)
val tertiaryDark = hslColor(63.3f, 33.7f, 68.6f)
val onTertiaryDark = hslColor(64.5f, 64.5f, 12.2f)
val tertiaryContainerDark = hslColor(64.4f, 39.0f, 20.6f)
val onTertiaryContainerDark = hslColor(62.1f, 52.8f, 79.2f)
val errorDark = hslColor(6.4f, 100f, 83.5f)
val onErrorDark = hslColor(357.1f, 100f, 20.6f)
val errorContainerDark = hslColor(355.9f, 100f, 28.8f)
val onErrorContainerDark = hslColor(5.9f, 100f, 92.0f)
val backgroundDark = hslColor(25f, 31.6f, 7.5f)
val onBackgroundDark = hslColor(20.8f, 46.4f, 89.0f)
val surfaceDark = hslColor(25f, 31.6f, 7.5f)
val onSurfaceDark = hslColor(20.8f, 46.4f, 89.0f)
val surfaceVariantDark = hslColor(23.5f, 16.3f, 27.6f)
val onSurfaceVariantDark = hslColor(23.2f, 27.4f, 77.8f)
val outlineDark = hslColor(21.4f, 12.7f, 56.9f)
val outlineVariantDark = hslColor(23.5f, 16.3f, 27.6f)
val scrimDark = hslColor(0f, 0f, 0f)
val inverseSurfaceDark = hslColor(20.8f, 46.4f, 89.0f)
val inverseOnSurfaceDark = hslColor(24f, 15.5f, 19.0f)
val inversePrimaryDark = hslColor(26.9f, 61.4f, 33.5f)
val surfaceDimDark = hslColor(25f, 31.6f, 7.5f)
val surfaceBrightDark = hslColor(22.5f, 14.0f, 22.4f)
val surfaceContainerLowestDark = hslColor(25f, 42.9f, 5.5f)
val surfaceContainerLowDark = hslColor(23.1f, 23.6f, 10.8f)
val surfaceContainerDark = hslColor(25.7f, 22.6f, 12.2f)
val surfaceContainerHighDark = hslColor(24f, 18.1f, 16.3f)
val surfaceContainerHighestDark = hslColor(24f, 14.3f, 20.6f)
val primaryDarkMediumContrast = hslColor(24.2f, 100f, 85.9f)
val onPrimaryDarkMediumContrast = hslColor(26.7f, 100f, 12.4f)
val primaryContainerDarkMediumContrast = hslColor(25.7f, 50.6f, 53.9f)
val onPrimaryContainerDarkMediumContrast = hslColor(0f, 0f, 0f)
val secondaryDarkMediumContrast = hslColor(23.8f, 88.7f, 86.1f)
val onSecondaryDarkMediumContrast = hslColor(25.9f, 52.1f, 13.9f)
val secondaryContainerDarkMediumContrast = hslColor(24f, 24.7f, 56.3f)
val onSecondaryContainerDarkMediumContrast = hslColor(0f, 0f, 0f)
val tertiaryDarkMediumContrast = hslColor(63.3f, 47.0f, 77.1f)
val onTertiaryDarkMediumContrast = hslColor(64.9f, 86.0f, 8.4f)
val tertiaryContainerDarkMediumContrast = hslColor(63.7f, 19.8f, 48.4f)
val onTertiaryContainerDarkMediumContrast = hslColor(0f, 0f, 0f)
val errorDarkMediumContrast = hslColor(7.1f, 100f, 90f)
val onErrorDarkMediumContrast = hslColor(357.9f, 100f, 16.5f)
val errorContainerDarkMediumContrast = hslColor(3.6f, 100f, 64.3f)
val onErrorContainerDarkMediumContrast = hslColor(0f, 0f, 0f)
val backgroundDarkMediumContrast = hslColor(25f, 31.6f, 7.5f)
val onBackgroundDarkMediumContrast = hslColor(20.8f, 46.4f, 89.0f)
val surfaceDarkMediumContrast = hslColor(25f, 31.6f, 7.5f)
val onSurfaceDarkMediumContrast = hslColor(0f, 0f, 100f)
val surfaceVariantDarkMediumContrast = hslColor(23.5f, 16.3f, 27.6f)
val onSurfaceVariantDarkMediumContrast = hslColor(21.8f, 47.8f, 86.5f)
val outlineDarkMediumContrast = hslColor(22f, 19.5f, 69.8f)
val outlineVariantDarkMediumContrast = hslColor(23.6f, 12.6f, 56.5f)
val scrimDarkMediumContrast = hslColor(0f, 0f, 0f)
val inverseSurfaceDarkMediumContrast = hslColor(20.8f, 46.4f, 89.0f)
val inverseOnSurfaceDarkMediumContrast = hslColor(24f, 18.1f, 16.3f)
val inversePrimaryDarkMediumContrast = hslColor(27.9f, 80.5f, 24.1f)
val surfaceDimDarkMediumContrast = hslColor(25f, 31.6f, 7.5f)
val surfaceBrightDarkMediumContrast = hslColor(21.2f, 12.4f, 26.9f)
val surfaceContainerLowestDarkMediumContrast = hslColor(20f, 60f, 2.9f)
val surfaceContainerLowDarkMediumContrast = hslColor(25.7f, 24.1f, 11.4f)
val surfaceContainerDarkMediumContrast = hslColor(24f, 19.0f, 15.5f)
val surfaceContainerHighDarkMediumContrast = hslColor(24f, 14.9f, 19.8f)
val surfaceContainerHighestDarkMediumContrast = hslColor(24.7f, 13.8f, 24.1f)
val primaryDarkHighContrast = hslColor(20.7f, 100f, 94.3f)
val onPrimaryDarkHighContrast = hslColor(0f, 0f, 0f)
val primaryContainerDarkHighContrast = hslColor(25.5f, 98.5f, 73.7f)
val onPrimaryContainerDarkHighContrast = hslColor(18.3f, 100f, 4.5f)
val secondaryDarkHighContrast = hslColor(20.7f, 100f, 94.3f)
val onSecondaryDarkHighContrast = hslColor(0f, 0f, 0f)
val secondaryContainerDarkHighContrast = hslColor(23.6f, 49.6f, 75.9f)
val onSecondaryContainerDarkHighContrast = hslColor(18.3f, 100f, 4.5f)
val tertiaryDarkHighContrast = hslColor(63.2f, 72.2f, 84.5f)
val onTertiaryDarkHighContrast = hslColor(0f, 0f, 0f)
val tertiaryContainerDarkHighContrast = hslColor(63.4f, 31.7f, 67.3f)
val onTertiaryContainerDarkHighContrast = hslColor(65f, 100f, 2.4f)
val errorDarkHighContrast = hslColor(8.2f, 100f, 95.7f)
val onErrorDarkHighContrast = hslColor(0f, 0f, 0f)
val errorContainerDarkHighContrast = hslColor(6.6f, 100f, 82.2f)
val onErrorContainerDarkHighContrast = hslColor(358.2f, 100f, 6.7f)
val backgroundDarkHighContrast = hslColor(25f, 31.6f, 7.5f)
val onBackgroundDarkHighContrast = hslColor(20.8f, 46.4f, 89.0f)
val surfaceDarkHighContrast = hslColor(25f, 31.6f, 7.5f)
val onSurfaceDarkHighContrast = hslColor(0f, 0f, 100f)
val surfaceVariantDarkHighContrast = hslColor(23.5f, 16.3f, 27.6f)
val onSurfaceVariantDarkHighContrast = hslColor(0f, 0f, 100f)
val outlineDarkHighContrast = hslColor(20.7f, 100f, 94.3f)
val outlineVariantDarkHighContrast = hslColor(23.2f, 25.6f, 76.3f)
val scrimDarkHighContrast = hslColor(0f, 0f, 0f)
val inverseSurfaceDarkHighContrast = hslColor(20.8f, 46.4f, 89.0f)
val inverseOnSurfaceDarkHighContrast = hslColor(0f, 0f, 0f)
val inversePrimaryDarkHighContrast = hslColor(27.9f, 80.5f, 24.1f)
val surfaceDimDarkHighContrast = hslColor(25f, 31.6f, 7.5f)
val surfaceBrightDarkHighContrast = hslColor(23.3f, 11.2f, 31.4f)
val surfaceContainerLowestDarkHighContrast = hslColor(0f, 0f, 0f)
val surfaceContainerLowDarkHighContrast = hslColor(25.7f, 22.6f, 12.2f)
val surfaceContainerDarkHighContrast = hslColor(24f, 15.5f, 19.0f)
val surfaceContainerHighDarkHighContrast = hslColor(22.5f, 13.6f, 23.1f)
val surfaceContainerHighestDarkHighContrast = hslColor(24.7f, 12.1f, 27.6f)
val primaryDark = hslColor(255f, 70f, 70f)
val onPrimaryDark = hslColor(255f, 60f, 12f)
val primaryContainerDark = hslColor(255f, 70f, 70f)
val onPrimaryContainerDark = hslColor(255f, 60f, 12f)
val secondaryDark = hslColor(255f, 40f, 40f)
val onSecondaryDark = hslColor(255f, 40f, 88f)
val secondaryContainerDark = hslColor(255f, 40f, 40f)
val onSecondaryContainerDark = hslColor(255f, 40f, 88f)
val tertiaryDark = hslColor(255f, 15f, 65f)
val onTertiaryDark = hslColor(255f, 15f, 12f)
val tertiaryContainerDark = hslColor(255f, 15f, 65.0f)
val onTertiaryContainerDark = hslColor(255f, 15f, 12f)
val errorDark = hslColor(7f, 100f, 84f)
val onErrorDark = hslColor(357f, 100f, 21f)
val errorContainerDark = hslColor(355f, 100f, 29f)
val onErrorContainerDark = hslColor(6f, 100f, 92f)
val backgroundDark = hslColor(255f, 60f, 8f)
val onBackgroundDark = hslColor(255f, 60f, 94f)
val surfaceDark = hslColor(255f, 40f, 12f)
val onSurfaceDark = hslColor(255f, 40f, 92f)
val surfaceContainerDark = hslColor(255f, 40f, 12f)

View File

@@ -5,50 +5,10 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
private val lightScheme = lightColorScheme(
primary = primaryLight,
onPrimary = onPrimaryLight,
primaryContainer = primaryContainerLight,
onPrimaryContainer = onPrimaryContainerLight,
secondary = secondaryLight,
onSecondary = onSecondaryLight,
secondaryContainer = secondaryContainerLight,
onSecondaryContainer = onSecondaryContainerLight,
tertiary = tertiaryLight,
onTertiary = onTertiaryLight,
tertiaryContainer = tertiaryContainerLight,
onTertiaryContainer = onTertiaryContainerLight,
error = errorLight,
onError = onErrorLight,
errorContainer = errorContainerLight,
onErrorContainer = onErrorContainerLight,
background = backgroundLight,
onBackground = onBackgroundLight,
surface = surfaceLight,
onSurface = onSurfaceLight,
surfaceVariant = surfaceVariantLight,
onSurfaceVariant = onSurfaceVariantLight,
outline = outlineLight,
outlineVariant = outlineVariantLight,
scrim = scrimLight,
inverseSurface = inverseSurfaceLight,
inverseOnSurface = inverseOnSurfaceLight,
inversePrimary = inversePrimaryLight,
surfaceDim = surfaceDimLight,
surfaceBright = surfaceBrightLight,
surfaceContainerLowest = surfaceContainerLowestLight,
surfaceContainerLow = surfaceContainerLowLight,
surfaceContainer = surfaceContainerLight,
surfaceContainerHigh = surfaceContainerHighLight,
surfaceContainerHighest = surfaceContainerHighestLight,
)
private val darkScheme = darkColorScheme(
primary = primaryDark,
onPrimary = onPrimaryDark,
@@ -70,173 +30,7 @@ private val darkScheme = darkColorScheme(
onBackground = onBackgroundDark,
surface = surfaceDark,
onSurface = onSurfaceDark,
surfaceVariant = surfaceVariantDark,
onSurfaceVariant = onSurfaceVariantDark,
outline = outlineDark,
outlineVariant = outlineVariantDark,
scrim = scrimDark,
inverseSurface = inverseSurfaceDark,
inverseOnSurface = inverseOnSurfaceDark,
inversePrimary = inversePrimaryDark,
surfaceDim = surfaceDimDark,
surfaceBright = surfaceBrightDark,
surfaceContainerLowest = surfaceContainerLowestDark,
surfaceContainerLow = surfaceContainerLowDark,
surfaceContainer = surfaceContainerDark,
surfaceContainerHigh = surfaceContainerHighDark,
surfaceContainerHighest = surfaceContainerHighestDark,
)
private val mediumContrastLightColorScheme = lightColorScheme(
primary = primaryLightMediumContrast,
onPrimary = onPrimaryLightMediumContrast,
primaryContainer = primaryContainerLightMediumContrast,
onPrimaryContainer = onPrimaryContainerLightMediumContrast,
secondary = secondaryLightMediumContrast,
onSecondary = onSecondaryLightMediumContrast,
secondaryContainer = secondaryContainerLightMediumContrast,
onSecondaryContainer = onSecondaryContainerLightMediumContrast,
tertiary = tertiaryLightMediumContrast,
onTertiary = onTertiaryLightMediumContrast,
tertiaryContainer = tertiaryContainerLightMediumContrast,
onTertiaryContainer = onTertiaryContainerLightMediumContrast,
error = errorLightMediumContrast,
onError = onErrorLightMediumContrast,
errorContainer = errorContainerLightMediumContrast,
onErrorContainer = onErrorContainerLightMediumContrast,
background = backgroundLightMediumContrast,
onBackground = onBackgroundLightMediumContrast,
surface = surfaceLightMediumContrast,
onSurface = onSurfaceLightMediumContrast,
surfaceVariant = surfaceVariantLightMediumContrast,
onSurfaceVariant = onSurfaceVariantLightMediumContrast,
outline = outlineLightMediumContrast,
outlineVariant = outlineVariantLightMediumContrast,
scrim = scrimLightMediumContrast,
inverseSurface = inverseSurfaceLightMediumContrast,
inverseOnSurface = inverseOnSurfaceLightMediumContrast,
inversePrimary = inversePrimaryLightMediumContrast,
surfaceDim = surfaceDimLightMediumContrast,
surfaceBright = surfaceBrightLightMediumContrast,
surfaceContainerLowest = surfaceContainerLowestLightMediumContrast,
surfaceContainerLow = surfaceContainerLowLightMediumContrast,
surfaceContainer = surfaceContainerLightMediumContrast,
surfaceContainerHigh = surfaceContainerHighLightMediumContrast,
surfaceContainerHighest = surfaceContainerHighestLightMediumContrast,
)
private val highContrastLightColorScheme = lightColorScheme(
primary = primaryLightHighContrast,
onPrimary = onPrimaryLightHighContrast,
primaryContainer = primaryContainerLightHighContrast,
onPrimaryContainer = onPrimaryContainerLightHighContrast,
secondary = secondaryLightHighContrast,
onSecondary = onSecondaryLightHighContrast,
secondaryContainer = secondaryContainerLightHighContrast,
onSecondaryContainer = onSecondaryContainerLightHighContrast,
tertiary = tertiaryLightHighContrast,
onTertiary = onTertiaryLightHighContrast,
tertiaryContainer = tertiaryContainerLightHighContrast,
onTertiaryContainer = onTertiaryContainerLightHighContrast,
error = errorLightHighContrast,
onError = onErrorLightHighContrast,
errorContainer = errorContainerLightHighContrast,
onErrorContainer = onErrorContainerLightHighContrast,
background = backgroundLightHighContrast,
onBackground = onBackgroundLightHighContrast,
surface = surfaceLightHighContrast,
onSurface = onSurfaceLightHighContrast,
surfaceVariant = surfaceVariantLightHighContrast,
onSurfaceVariant = onSurfaceVariantLightHighContrast,
outline = outlineLightHighContrast,
outlineVariant = outlineVariantLightHighContrast,
scrim = scrimLightHighContrast,
inverseSurface = inverseSurfaceLightHighContrast,
inverseOnSurface = inverseOnSurfaceLightHighContrast,
inversePrimary = inversePrimaryLightHighContrast,
surfaceDim = surfaceDimLightHighContrast,
surfaceBright = surfaceBrightLightHighContrast,
surfaceContainerLowest = surfaceContainerLowestLightHighContrast,
surfaceContainerLow = surfaceContainerLowLightHighContrast,
surfaceContainer = surfaceContainerLightHighContrast,
surfaceContainerHigh = surfaceContainerHighLightHighContrast,
surfaceContainerHighest = surfaceContainerHighestLightHighContrast,
)
private val mediumContrastDarkColorScheme = darkColorScheme(
primary = primaryDarkMediumContrast,
onPrimary = onPrimaryDarkMediumContrast,
primaryContainer = primaryContainerDarkMediumContrast,
onPrimaryContainer = onPrimaryContainerDarkMediumContrast,
secondary = secondaryDarkMediumContrast,
onSecondary = onSecondaryDarkMediumContrast,
secondaryContainer = secondaryContainerDarkMediumContrast,
onSecondaryContainer = onSecondaryContainerDarkMediumContrast,
tertiary = tertiaryDarkMediumContrast,
onTertiary = onTertiaryDarkMediumContrast,
tertiaryContainer = tertiaryContainerDarkMediumContrast,
onTertiaryContainer = onTertiaryContainerDarkMediumContrast,
error = errorDarkMediumContrast,
onError = onErrorDarkMediumContrast,
errorContainer = errorContainerDarkMediumContrast,
onErrorContainer = onErrorContainerDarkMediumContrast,
background = backgroundDarkMediumContrast,
onBackground = onBackgroundDarkMediumContrast,
surface = surfaceDarkMediumContrast,
onSurface = onSurfaceDarkMediumContrast,
surfaceVariant = surfaceVariantDarkMediumContrast,
onSurfaceVariant = onSurfaceVariantDarkMediumContrast,
outline = outlineDarkMediumContrast,
outlineVariant = outlineVariantDarkMediumContrast,
scrim = scrimDarkMediumContrast,
inverseSurface = inverseSurfaceDarkMediumContrast,
inverseOnSurface = inverseOnSurfaceDarkMediumContrast,
inversePrimary = inversePrimaryDarkMediumContrast,
surfaceDim = surfaceDimDarkMediumContrast,
surfaceBright = surfaceBrightDarkMediumContrast,
surfaceContainerLowest = surfaceContainerLowestDarkMediumContrast,
surfaceContainerLow = surfaceContainerLowDarkMediumContrast,
surfaceContainer = surfaceContainerDarkMediumContrast,
surfaceContainerHigh = surfaceContainerHighDarkMediumContrast,
surfaceContainerHighest = surfaceContainerHighestDarkMediumContrast,
)
private val highContrastDarkColorScheme = darkColorScheme(
primary = primaryDarkHighContrast,
onPrimary = onPrimaryDarkHighContrast,
primaryContainer = primaryContainerDarkHighContrast,
onPrimaryContainer = onPrimaryContainerDarkHighContrast,
secondary = secondaryDarkHighContrast,
onSecondary = onSecondaryDarkHighContrast,
secondaryContainer = secondaryContainerDarkHighContrast,
onSecondaryContainer = onSecondaryContainerDarkHighContrast,
tertiary = tertiaryDarkHighContrast,
onTertiary = onTertiaryDarkHighContrast,
tertiaryContainer = tertiaryContainerDarkHighContrast,
onTertiaryContainer = onTertiaryContainerDarkHighContrast,
error = errorDarkHighContrast,
onError = onErrorDarkHighContrast,
errorContainer = errorContainerDarkHighContrast,
onErrorContainer = onErrorContainerDarkHighContrast,
background = backgroundDarkHighContrast,
onBackground = onBackgroundDarkHighContrast,
surface = surfaceDarkHighContrast,
onSurface = onSurfaceDarkHighContrast,
surfaceVariant = surfaceVariantDarkHighContrast,
onSurfaceVariant = onSurfaceVariantDarkHighContrast,
outline = outlineDarkHighContrast,
outlineVariant = outlineVariantDarkHighContrast,
scrim = scrimDarkHighContrast,
inverseSurface = inverseSurfaceDarkHighContrast,
inverseOnSurface = inverseOnSurfaceDarkHighContrast,
inversePrimary = inversePrimaryDarkHighContrast,
surfaceDim = surfaceDimDarkHighContrast,
surfaceBright = surfaceBrightDarkHighContrast,
surfaceContainerLowest = surfaceContainerLowestDarkHighContrast,
surfaceContainerLow = surfaceContainerLowDarkHighContrast,
surfaceContainer = surfaceContainerDarkHighContrast,
surfaceContainerHigh = surfaceContainerHighDarkHighContrast,
surfaceContainerHighest = surfaceContainerHighestDarkHighContrast,
surfaceContainer = surfaceContainerDark
)
@Immutable
@@ -247,10 +41,6 @@ data class ColorFamily(
val onColorContainer: Color
)
val unspecified_scheme = ColorFamily(
Color.Unspecified, Color.Unspecified, Color.Unspecified, Color.Unspecified
)
@Composable
fun AppTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
@@ -264,7 +54,7 @@ fun AppTheme(
}
darkTheme -> darkScheme
else -> lightScheme
else -> darkScheme
}
MaterialTheme(