From 71d611f936c1fe8afb6c5acb89fc2b0b0772a90b Mon Sep 17 00:00:00 2001 From: Eugene Date: Sun, 30 Aug 2026 14:29:18 +0300 Subject: [PATCH] update colors, use new LargeFlexibleTopAppBar --- .../vbox/shared/presentation/MainScreen.kt | 10 +- .../presentation/saved/SavedMovieScreen.kt | 4 +- .../presentation/settings/auth/AuthScreen.kt | 18 +- .../kotlin/ru/shadowsparky/ui/AppScaffold.kt | 9 +- .../ui/components/LargeFlexibleTopAppBar.kt | 50 ++++ .../shadowsparky/ui/components/TopAppBar.kt | 2 +- .../kotlin/ru/shadowsparky/ui/theme/Color.kt | 234 ++++-------------- 7 files changed, 125 insertions(+), 202 deletions(-) create mode 100644 libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/LargeFlexibleTopAppBar.kt diff --git a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt index 2052e10..42e6c60 100644 --- a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt +++ b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt @@ -3,9 +3,10 @@ package ru.shadowsparky.vbox.shared.presentation import androidx.compose.foundation.layout.PaddingValues import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import ru.shadowsparky.ui.AppScaffold -import ru.shadowsparky.ui.components.TopAppBar +import ru.shadowsparky.ui.components.LargeFlexibleTopAppBar import ru.shadowsparky.vbox.shared.presentation.chat.ChatScreen import ru.shadowsparky.vbox.shared.presentation.list.VideoContent import ru.shadowsparky.vbox.shared.presentation.nav.Child @@ -39,7 +40,8 @@ fun MainScreenScaffold( appBar = { appBar() }, currentRoute = route, onSelectNavigation = { onNavigate(it) }, - navigationEntries = createNavigationList() + navigationEntries = createNavigationList(), + scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior() ) { padding -> content(padding) } } @@ -49,7 +51,9 @@ private fun MainScreenInternal(route: Route, child: Child, onNavigate: (Route) - val navList = createNavigationList() MainScreenScaffold( appBar = { - navList.findTitle(route)?.let { title -> TopAppBar(title = { Text(title) }) } + navList.findTitle(route)?.let { title -> + LargeFlexibleTopAppBar(title = { Text(title) }) + } }, route = route, onNavigate = onNavigate, diff --git a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt index e7c825a..5b52dd3 100644 --- a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt +++ b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt @@ -30,8 +30,8 @@ import org.jetbrains.compose.resources.painterResource import org.jetbrains.compose.resources.stringResource import ru.shadowsparky.ui.components.AlertContent import ru.shadowsparky.ui.components.IconButton +import ru.shadowsparky.ui.components.LargeFlexibleTopAppBar import ru.shadowsparky.ui.components.LazyColumn -import ru.shadowsparky.ui.components.TopAppBar import ru.shadowsparky.vbox.shared.domain.tag.TagInfo import ru.shadowsparky.vbox.shared.presentation.MainScreenScaffold import ru.shadowsparky.vbox.shared.presentation.list.VideoScreenContent @@ -44,7 +44,7 @@ fun SavedMovieScreen(comp: SavedMovieComponent, route: Route, onNavigate: (Route var filterBottomSheetVisible by rememberSaveable { mutableStateOf(false) } MainScreenScaffold( appBar = { - TopAppBar( + LargeFlexibleTopAppBar( title = { Text(stringResource(Res.string.saved_movies)) }, actions = { IconButton( diff --git a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/settings/auth/AuthScreen.kt b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/settings/auth/AuthScreen.kt index 6cb659a..cc359ed 100644 --- a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/settings/auth/AuthScreen.kt +++ b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/settings/auth/AuthScreen.kt @@ -19,7 +19,6 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.OutlinedButton import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState @@ -29,7 +28,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.unit.dp @@ -38,6 +36,7 @@ import org.jetbrains.compose.resources.stringResource import ru.shadowsparky.ui.AppScaffold import ru.shadowsparky.ui.components.BackButton import ru.shadowsparky.ui.components.ErrorAlert +import ru.shadowsparky.ui.components.LargeFlexibleTopAppBar import ru.shadowsparky.ui.components.Loading import ru.shadowsparky.ui.components.PasswordTextField import ru.shadowsparky.vbox.shared.domain.model.EmptyLoginException @@ -95,22 +94,19 @@ fun BaseLogin( } AppScaffold( appBar = { - TopAppBar( + LargeFlexibleTopAppBar( title = { Text(title) }, - navigationIcon = { - doBack?.let { BackButton { it() } } - } + navigationIcon = { doBack?.let { BackButton { it() } } } ) }, content = { if (state is AuthState.Loading) { Loading() } else { - Box(Modifier.padding(it).fillMaxSize()) { - Column( - horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.padding(8.dp) - ) { + Box( + Modifier.fillMaxSize().padding(it) + ) { + Column(modifier = Modifier.padding(8.dp)) { if (errorInfo != null && state is AuthState.Error) { ErrorAlert( errorInfo!!.toMessage(), diff --git a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt index 41af505..7ce3d58 100644 --- a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt +++ b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt @@ -14,6 +14,7 @@ import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteType import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.Immutable +import androidx.compose.runtime.compositionLocalOf import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.input.nestedscroll.nestedScroll @@ -26,6 +27,9 @@ data class NavigationEntry( val painter: Painter ) +@OptIn(ExperimentalMaterial3Api::class) +internal val LocalTopAppBarScrollBehavior = compositionLocalOf { null } + @OptIn(ExperimentalMaterial3Api::class) @Composable fun AppScaffold( @@ -65,7 +69,10 @@ fun AppScaffold( else -> NavigationSuiteScaffoldDefaults.navigationSuiteType(currentWindowAdaptiveInfoV2()) } val blurState = rememberBlurState() - CompositionLocalProvider(LocalBlurState provides blurState) { + CompositionLocalProvider( + LocalBlurState provides blurState, + LocalTopAppBarScrollBehavior provides scrollBehavior + ) { if (navigationEntries?.isNotEmpty() == true) { when (navigationSuiteType) { NavigationSuiteType.ShortNavigationBarCompact, diff --git a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/LargeFlexibleTopAppBar.kt b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/LargeFlexibleTopAppBar.kt new file mode 100644 index 0000000..9f7d1c8 --- /dev/null +++ b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/LargeFlexibleTopAppBar.kt @@ -0,0 +1,50 @@ +package ru.shadowsparky.ui.components + +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi +import androidx.compose.material3.TopAppBarColors +import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.material3.TopAppBarScrollBehavior +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.Dp +import ru.shadowsparky.ui.LocalTopAppBarScrollBehavior +import ru.shadowsparky.ui.blurEffect + +@OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) +@Composable +fun LargeFlexibleTopAppBar( + title: @Composable () -> Unit, + modifier: Modifier = Modifier, + subtitle: (@Composable () -> Unit)? = null, + navigationIcon: @Composable () -> Unit = {}, + actions: @Composable RowScope.() -> Unit = {}, + titleHorizontalAlignment: Alignment.Horizontal = Alignment.Start, + collapsedHeight: Dp = TopAppBarDefaults.LargeAppBarCollapsedHeight, + expandedHeight: Dp = + if (subtitle != null) { + TopAppBarDefaults.LargeFlexibleAppBarWithSubtitleExpandedHeight + } else { + TopAppBarDefaults.LargeFlexibleAppBarWithoutSubtitleExpandedHeight + }, + windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, + colors: TopAppBarColors = topAppBarColors(), + scrollBehavior: TopAppBarScrollBehavior? = LocalTopAppBarScrollBehavior.current, +) { + androidx.compose.material3.LargeFlexibleTopAppBar( + title = title, + modifier = modifier.blurEffect(), + subtitle = subtitle, + navigationIcon = navigationIcon, + actions = actions, + titleHorizontalAlignment = titleHorizontalAlignment, + collapsedHeight = collapsedHeight, + expandedHeight = expandedHeight, + windowInsets = windowInsets, + colors = colors, + scrollBehavior = scrollBehavior + ) +} diff --git a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/TopAppBar.kt b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/TopAppBar.kt index 4452b61..89610ce 100644 --- a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/TopAppBar.kt +++ b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/components/TopAppBar.kt @@ -42,7 +42,7 @@ fun TopAppBar( } @Composable -private fun topAppBarColors(): TopAppBarColors { +internal fun topAppBarColors(): TopAppBarColors { return if (isBlurEnabled()) { TopAppBarDefaults.topAppBarColors( Color.Transparent, diff --git a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/theme/Color.kt b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/theme/Color.kt index 54e065f..656d32e 100644 --- a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/theme/Color.kt +++ b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/theme/Color.kt @@ -2,26 +2,30 @@ package ru.shadowsparky.ui.theme import androidx.compose.ui.graphics.Color -val primaryLight = Color(0xFF465D91) +val primaryLight = Color(0xFF1E4FD9) val onPrimaryLight = Color(0xFFFFFFFF) -val primaryContainerLight = Color(0xFFD9E2FF) -val onPrimaryContainerLight = Color(0xFF2D4678) -val secondaryLight = Color(0xFF575E71) +val primaryContainerLight = Color(0xFFDCE2FF) +val onPrimaryContainerLight = Color(0xFF001543) + +val secondaryLight = Color(0xFF405A93) val onSecondaryLight = Color(0xFFFFFFFF) -val secondaryContainerLight = Color(0xFFDBE2F9) -val onSecondaryContainerLight = Color(0xFF3F4759) -val tertiaryLight = Color(0xFF725573) +val secondaryContainerLight = Color(0xFFDCE2FF) +val onSecondaryContainerLight = Color(0xFF001543) + +val tertiaryLight = Color(0xFF5353A7) val onTertiaryLight = Color(0xFFFFFFFF) -val tertiaryContainerLight = Color(0xFFFCD7FB) -val onTertiaryContainerLight = Color(0xFF593E5A) +val tertiaryContainerLight = Color(0xFFE2E0FF) +val onTertiaryContainerLight = Color(0xFF0C0664) + val errorLight = Color(0xFFBA1A1A) val onErrorLight = Color(0xFFFFFFFF) val errorContainerLight = Color(0xFFFFDAD6) val onErrorContainerLight = Color(0xFF93000A) -val backgroundLight = Color(0xFFFAF9FF) -val onBackgroundLight = Color(0xFF1A1B20) -val surfaceLight = Color(0xFFFAF9FF) -val onSurfaceLight = Color(0xFF1A1B20) + +val backgroundLight = Color(0xFFF8F9FF) +val onBackgroundLight = Color(0xFF151B2C) +val surfaceLight = Color(0xFFF8F9FF) +val onSurfaceLight = Color(0xFF151B2C) val surfaceVariantLight = Color(0xFFE1E2EC) val onSurfaceVariantLight = Color(0xFF44464F) val outlineLight = Color(0xFF757780) @@ -30,190 +34,52 @@ val scrimLight = Color(0xFF000000) val inverseSurfaceLight = Color(0xFF2F3036) val inverseOnSurfaceLight = Color(0xFFF1F0F7) val inversePrimaryLight = Color(0xFFAFC6FF) -val surfaceDimLight = Color(0xFFDAD9E0) -val surfaceBrightLight = Color(0xFFFAF9FF) +val surfaceDimLight = Color(0xFFD9DAE2) +val surfaceBrightLight = Color(0xFFF8F9FF) val surfaceContainerLowestLight = Color(0xFFFFFFFF) -val surfaceContainerLowLight = Color(0xFFF3F3FA) -val surfaceContainerLight = Color(0xFFEEEDF4) -val surfaceContainerHighLight = Color(0xFFE8E7EF) -val surfaceContainerHighestLight = Color(0xFFE2E2E9) +val surfaceContainerLowLight = Color(0xFFF2F3FA) +val surfaceContainerLight = Color(0xFFECEEF4) +val surfaceContainerHighLight = Color(0xFFE6E8EE) +val surfaceContainerHighestLight = Color(0xFFE0E2E9) -val primaryLightMediumContrast = Color(0xFF1A3566) -val onPrimaryLightMediumContrast = Color(0xFFFFFFFF) -val primaryContainerLightMediumContrast = Color(0xFF556CA1) -val onPrimaryContainerLightMediumContrast = Color(0xFFFFFFFF) -val secondaryLightMediumContrast = Color(0xFF2F3648) -val onSecondaryLightMediumContrast = Color(0xFFFFFFFF) -val secondaryContainerLightMediumContrast = Color(0xFF666D80) -val onSecondaryContainerLightMediumContrast = Color(0xFFFFFFFF) -val tertiaryLightMediumContrast = Color(0xFF472D49) -val onTertiaryLightMediumContrast = Color(0xFFFFFFFF) -val tertiaryContainerLightMediumContrast = Color(0xFF816382) -val onTertiaryContainerLightMediumContrast = Color(0xFFFFFFFF) -val errorLightMediumContrast = Color(0xFF740006) -val onErrorLightMediumContrast = Color(0xFFFFFFFF) -val errorContainerLightMediumContrast = Color(0xFFCF2C27) -val onErrorContainerLightMediumContrast = Color(0xFFFFFFFF) -val backgroundLightMediumContrast = Color(0xFFFAF9FF) -val onBackgroundLightMediumContrast = Color(0xFF1A1B20) -val surfaceLightMediumContrast = Color(0xFFFAF9FF) -val onSurfaceLightMediumContrast = Color(0xFF0F1116) -val surfaceVariantLightMediumContrast = Color(0xFFE1E2EC) -val onSurfaceVariantLightMediumContrast = Color(0xFF34363E) -val outlineLightMediumContrast = Color(0xFF50525A) -val outlineVariantLightMediumContrast = Color(0xFF6B6D75) -val scrimLightMediumContrast = Color(0xFF000000) -val inverseSurfaceLightMediumContrast = Color(0xFF2F3036) -val inverseOnSurfaceLightMediumContrast = Color(0xFFF1F0F7) -val inversePrimaryLightMediumContrast = Color(0xFFAFC6FF) -val surfaceDimLightMediumContrast = Color(0xFFC6C6CD) -val surfaceBrightLightMediumContrast = Color(0xFFFAF9FF) -val surfaceContainerLowestLightMediumContrast = Color(0xFFFFFFFF) -val surfaceContainerLowLightMediumContrast = Color(0xFFF3F3FA) -val surfaceContainerLightMediumContrast = Color(0xFFE8E7EF) -val surfaceContainerHighLightMediumContrast = Color(0xFFDCDCE3) -val surfaceContainerHighestLightMediumContrast = Color(0xFFD1D1D8) +val primaryDark = Color(0xFF3F75FF) +val onPrimaryDark = Color(0xFF002984) +val primaryContainerDark = Color(0xFF003EBD) +val onPrimaryContainerDark = Color(0xFFE1E6FF) -val primaryLightHighContrast = Color(0xFF0D2A5B) -val onPrimaryLightHighContrast = Color(0xFFFFFFFF) -val primaryContainerLightHighContrast = Color(0xFF30487B) -val onPrimaryContainerLightHighContrast = Color(0xFFFFFFFF) -val secondaryLightHighContrast = Color(0xFF252C3D) -val onSecondaryLightHighContrast = Color(0xFFFFFFFF) -val secondaryContainerLightHighContrast = Color(0xFF42495B) -val onSecondaryContainerLightHighContrast = Color(0xFFFFFFFF) -val tertiaryLightHighContrast = Color(0xFF3C233E) -val onTertiaryLightHighContrast = Color(0xFFFFFFFF) -val tertiaryContainerLightHighContrast = Color(0xFF5B405D) -val onTertiaryContainerLightHighContrast = Color(0xFFFFFFFF) -val errorLightHighContrast = Color(0xFF600004) -val onErrorLightHighContrast = Color(0xFFFFFFFF) -val errorContainerLightHighContrast = Color(0xFF98000A) -val onErrorContainerLightHighContrast = Color(0xFFFFFFFF) -val backgroundLightHighContrast = Color(0xFFFAF9FF) -val onBackgroundLightHighContrast = Color(0xFF1A1B20) -val surfaceLightHighContrast = Color(0xFFFAF9FF) -val onSurfaceLightHighContrast = Color(0xFF000000) -val surfaceVariantLightHighContrast = Color(0xFFE1E2EC) -val onSurfaceVariantLightHighContrast = Color(0xFF000000) -val outlineLightHighContrast = Color(0xFF292C33) -val outlineVariantLightHighContrast = Color(0xFF474951) -val scrimLightHighContrast = Color(0xFF000000) -val inverseSurfaceLightHighContrast = Color(0xFF2F3036) -val inverseOnSurfaceLightHighContrast = Color(0xFFFFFFFF) -val inversePrimaryLightHighContrast = Color(0xFFAFC6FF) -val surfaceDimLightHighContrast = Color(0xFFB8B8BF) -val surfaceBrightLightHighContrast = Color(0xFFFAF9FF) -val surfaceContainerLowestLightHighContrast = Color(0xFFFFFFFF) -val surfaceContainerLowLightHighContrast = Color(0xFFF1F0F7) -val surfaceContainerLightHighContrast = Color(0xFFE2E2E9) -val surfaceContainerHighLightHighContrast = Color(0xFFD4D4DB) -val surfaceContainerHighestLightHighContrast = Color(0xFFC6C6CD) +val secondaryDark = Color(0xFF709CFF) +val onSecondaryDark = Color(0xFF002D71) +val secondaryContainerDark = Color(0xFF1A438F) +val onSecondaryContainerDark = Color(0xFFDCE2FF) + +val tertiaryDark = Color(0xFFC0C1FF) +val onTertiaryDark = Color(0xFF222275) +val tertiaryContainerDark = Color(0xFF3A3A8C) +val onTertiaryContainerDark = Color(0xFFE2E0FF) -val primaryDark = Color(0xFFAFC6FF) -val onPrimaryDark = Color(0xFF132F60) -val primaryContainerDark = Color(0xFF2D4678) -val onPrimaryContainerDark = Color(0xFFD9E2FF) -val secondaryDark = Color(0xFFBFC6DC) -val onSecondaryDark = Color(0xFF293042) -val secondaryContainerDark = Color(0xFF3F4759) -val onSecondaryContainerDark = Color(0xFFDBE2F9) -val tertiaryDark = Color(0xFFDFBBDE) -val onTertiaryDark = Color(0xFF412743) -val tertiaryContainerDark = Color(0xFF593E5A) -val onTertiaryContainerDark = Color(0xFFFCD7FB) val errorDark = Color(0xFFFFB4AB) val onErrorDark = Color(0xFF690005) val errorContainerDark = Color(0xFF93000A) val onErrorContainerDark = Color(0xFFFFDAD6) -val backgroundDark = Color(0xFF121318) + +val backgroundDark = Color(0xFF050B1E) val onBackgroundDark = Color(0xFFE2E2E9) -val surfaceDark = Color(0xFF121318) +val surfaceDark = Color(0xFF050B1E) val onSurfaceDark = Color(0xFFE2E2E9) -val surfaceVariantDark = Color(0xFF44464F) + +val surfaceVariantDark = Color(0xFF1F2535) val onSurfaceVariantDark = Color(0xFFC5C6D0) val outlineDark = Color(0xFF8F9099) val outlineVariantDark = Color(0xFF44464F) val scrimDark = Color(0xFF000000) val inverseSurfaceDark = Color(0xFFE2E2E9) -val inverseOnSurfaceDark = Color(0xFF2F3036) -val inversePrimaryDark = Color(0xFF465D91) -val surfaceDimDark = Color(0xFF121318) -val surfaceBrightDark = Color(0xFF38393E) -val surfaceContainerLowestDark = Color(0xFF0C0E13) -val surfaceContainerLowDark = Color(0xFF1A1B20) -val surfaceContainerDark = Color(0xFF1E1F25) -val surfaceContainerHighDark = Color(0xFF282A2F) -val surfaceContainerHighestDark = Color(0xFF33353A) +val inverseOnSurfaceDark = Color(0xFF050B1E) +val inversePrimaryDark = Color(0xFF1E4FD9) -val primaryDarkMediumContrast = Color(0xFFD0DCFF) -val onPrimaryDarkMediumContrast = Color(0xFF042355) -val primaryContainerDarkMediumContrast = Color(0xFF7990C7) -val onPrimaryContainerDarkMediumContrast = Color(0xFF000000) -val secondaryDarkMediumContrast = Color(0xFFD5DCF3) -val onSecondaryDarkMediumContrast = Color(0xFF1E2536) -val secondaryContainerDarkMediumContrast = Color(0xFF8990A5) -val onSecondaryContainerDarkMediumContrast = Color(0xFF000000) -val tertiaryDarkMediumContrast = Color(0xFFF6D1F4) -val onTertiaryDarkMediumContrast = Color(0xFF351D37) -val tertiaryContainerDarkMediumContrast = Color(0xFFA786A7) -val onTertiaryContainerDarkMediumContrast = Color(0xFF000000) -val errorDarkMediumContrast = Color(0xFFFFD2CC) -val onErrorDarkMediumContrast = Color(0xFF540003) -val errorContainerDarkMediumContrast = Color(0xFFFF5449) -val onErrorContainerDarkMediumContrast = Color(0xFF000000) -val backgroundDarkMediumContrast = Color(0xFF121318) -val onBackgroundDarkMediumContrast = Color(0xFFE2E2E9) -val surfaceDarkMediumContrast = Color(0xFF121318) -val onSurfaceDarkMediumContrast = Color(0xFFFFFFFF) -val surfaceVariantDarkMediumContrast = Color(0xFF44464F) -val onSurfaceVariantDarkMediumContrast = Color(0xFFDBDCE6) -val outlineDarkMediumContrast = Color(0xFFB0B1BB) -val outlineVariantDarkMediumContrast = Color(0xFF8E9099) -val scrimDarkMediumContrast = Color(0xFF000000) -val inverseSurfaceDarkMediumContrast = Color(0xFFE2E2E9) -val inverseOnSurfaceDarkMediumContrast = Color(0xFF282A2F) -val inversePrimaryDarkMediumContrast = Color(0xFF2E4779) -val surfaceDimDarkMediumContrast = Color(0xFF121318) -val surfaceBrightDarkMediumContrast = Color(0xFF43444A) -val surfaceContainerLowestDarkMediumContrast = Color(0xFF06070C) -val surfaceContainerLowDarkMediumContrast = Color(0xFF1C1D23) -val surfaceContainerDarkMediumContrast = Color(0xFF26282D) -val surfaceContainerHighDarkMediumContrast = Color(0xFF313238) -val surfaceContainerHighestDarkMediumContrast = Color(0xFF3C3D43) - -val primaryDarkHighContrast = Color(0xFFECEFFF) -val onPrimaryDarkHighContrast = Color(0xFF000000) -val primaryContainerDarkHighContrast = Color(0xFFAAC2FD) -val onPrimaryContainerDarkHighContrast = Color(0xFF000A23) -val secondaryDarkHighContrast = Color(0xFFECEFFF) -val onSecondaryDarkHighContrast = Color(0xFF000000) -val secondaryContainerDarkHighContrast = Color(0xFFBBC2D8) -val onSecondaryContainerDarkHighContrast = Color(0xFF040B1B) -val tertiaryDarkHighContrast = Color(0xFFFFEAFB) -val onTertiaryDarkHighContrast = Color(0xFF000000) -val tertiaryContainerDarkHighContrast = Color(0xFFDBB8DA) -val onTertiaryContainerDarkHighContrast = Color(0xFF18031B) -val errorDarkHighContrast = Color(0xFFFFECE9) -val onErrorDarkHighContrast = Color(0xFF000000) -val errorContainerDarkHighContrast = Color(0xFFFFAEA4) -val onErrorContainerDarkHighContrast = Color(0xFF220001) -val backgroundDarkHighContrast = Color(0xFF121318) -val onBackgroundDarkHighContrast = Color(0xFFE2E2E9) -val surfaceDarkHighContrast = Color(0xFF121318) -val onSurfaceDarkHighContrast = Color(0xFFFFFFFF) -val surfaceVariantDarkHighContrast = Color(0xFF44464F) -val onSurfaceVariantDarkHighContrast = Color(0xFFFFFFFF) -val outlineDarkHighContrast = Color(0xFFEFEFF9) -val outlineVariantDarkHighContrast = Color(0xFFC1C2CC) -val scrimDarkHighContrast = Color(0xFF000000) -val inverseSurfaceDarkHighContrast = Color(0xFFE2E2E9) -val inverseOnSurfaceDarkHighContrast = Color(0xFF000000) -val inversePrimaryDarkHighContrast = Color(0xFF2E4779) -val surfaceDimDarkHighContrast = Color(0xFF121318) -val surfaceBrightDarkHighContrast = Color(0xFF4F5056) -val surfaceContainerLowestDarkHighContrast = Color(0xFF000000) -val surfaceContainerLowDarkHighContrast = Color(0xFF1E1F25) -val surfaceContainerDarkHighContrast = Color(0xFF2F3036) -val surfaceContainerHighDarkHighContrast = Color(0xFF3A3B41) -val surfaceContainerHighestDarkHighContrast = Color(0xFF45464C) +val surfaceDimDark = Color(0xFF050B1E) +val surfaceBrightDark = Color(0xFF242A3D) +val surfaceContainerLowestDark = Color(0xFF020613) +val surfaceContainerLowDark = Color(0xFF0A1024) +val surfaceContainerDark = Color(0xFF0E152A) +val surfaceContainerHighDark = Color(0xFF181F36) +val surfaceContainerHighestDark = Color(0xFF232A42)