mirror of
https://github.com/owenlejeune/TVTime.git
synced 2025-11-08 04:32:43 -05:00
refactor system bar color configuration
This commit is contained in:
@@ -41,11 +41,13 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavController
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.BuildConfig
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.ui.navigation.AppNavItem
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.utils.SessionManager
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -303,9 +305,9 @@ fun ProfileMenuContainer(
|
||||
colors.navBarColor
|
||||
}
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(statusBarColor)
|
||||
systemUiController.setNavigationBarColor(navBarColor)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = statusBarColor
|
||||
applicationViewModel.navigationBarColor.value = navBarColor
|
||||
|
||||
Box {
|
||||
content()
|
||||
|
||||
@@ -48,10 +48,11 @@ import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavController
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.BuildConfig
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.utils.FileUtils
|
||||
import dev.jeziellago.compose.markdowntext.MarkdownText
|
||||
|
||||
@@ -60,9 +61,9 @@ import dev.jeziellago.compose.markdowntext.MarkdownText
|
||||
fun AboutScreen(
|
||||
appNavController: NavController
|
||||
) {
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val context = LocalContext.current
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ import com.google.accompanist.pager.ExperimentalPagerApi
|
||||
import com.google.accompanist.pager.HorizontalPager
|
||||
import com.google.accompanist.pager.PagerState
|
||||
import com.google.accompanist.pager.rememberPagerState
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.*
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.AccountList
|
||||
@@ -44,6 +43,7 @@ import com.owenlejeune.tvtime.ui.components.ScrollableTabs
|
||||
import com.owenlejeune.tvtime.ui.navigation.AppNavItem
|
||||
import com.owenlejeune.tvtime.ui.screens.tabs.AccountTabNavItem
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.AccountViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.utils.SessionManager
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
@@ -57,9 +57,9 @@ fun AccountScreen(
|
||||
appNavController: NavHostController,
|
||||
doSignInPartTwo: Boolean = false
|
||||
) {
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val currentSessionState = remember { SessionManager.currentSession }
|
||||
val currentSession = currentSessionState.value
|
||||
|
||||
@@ -27,13 +27,13 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavController
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.CrewMember
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.MovieCastMember
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TvCastMember
|
||||
import com.owenlejeune.tvtime.ui.components.MediaResultCard
|
||||
import com.owenlejeune.tvtime.ui.components.PillSegmentedControl
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.MainViewModel
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
@@ -46,10 +46,10 @@ fun CastCrewListScreen(
|
||||
id: Int
|
||||
) {
|
||||
val mainViewModel = viewModel<MainViewModel>()
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val topAppBarScrollState = rememberTopAppBarState()
|
||||
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(topAppBarScrollState)
|
||||
|
||||
@@ -27,9 +27,9 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavController
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.ui.components.PosterItem
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.MainViewModel
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
@@ -41,9 +41,9 @@ fun GalleryView(
|
||||
type: MediaViewType,
|
||||
appNavController: NavController
|
||||
) {
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val topAppBarScrollState = rememberTopAppBarState()
|
||||
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(topAppBarScrollState)
|
||||
|
||||
@@ -28,7 +28,6 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavController
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailCrew
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.MovieCast
|
||||
@@ -37,6 +36,7 @@ import com.owenlejeune.tvtime.extensions.bringToFront
|
||||
import com.owenlejeune.tvtime.extensions.getCalendarYear
|
||||
import com.owenlejeune.tvtime.ui.components.MediaResultCard
|
||||
import com.owenlejeune.tvtime.ui.components.PillSegmentedControl
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.MainViewModel
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
|
||||
@@ -47,10 +47,10 @@ fun KnownForScreen(
|
||||
id: Int
|
||||
) {
|
||||
val mainViewModel = viewModel<MainViewModel>()
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val peopleMap = remember { mainViewModel.peopleMap }
|
||||
val person = peopleMap[id]
|
||||
|
||||
@@ -34,7 +34,6 @@ import androidx.navigation.NavController
|
||||
import coil.compose.AsyncImage
|
||||
import coil.request.CachePolicy
|
||||
import coil.request.ImageRequest
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.ListV4Service
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.*
|
||||
@@ -48,6 +47,7 @@ import com.owenlejeune.tvtime.ui.components.SwitchPreference
|
||||
import com.owenlejeune.tvtime.ui.navigation.AppNavItem
|
||||
import com.owenlejeune.tvtime.ui.theme.*
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.AccountViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
import de.charlex.compose.RevealDirection
|
||||
import de.charlex.compose.RevealSwipe
|
||||
@@ -68,9 +68,9 @@ fun ListDetailScreen(
|
||||
accountViewModel.getList(itemId)
|
||||
}
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val listMap = remember { accountViewModel.listMap }
|
||||
val parentList = listMap[itemId]
|
||||
|
||||
@@ -76,7 +76,6 @@ import com.google.accompanist.flowlayout.FlowRow
|
||||
import com.google.accompanist.pager.ExperimentalPagerApi
|
||||
import com.google.accompanist.pager.PagerState
|
||||
import com.google.accompanist.pager.rememberPagerState
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedItem
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedMovie
|
||||
@@ -118,6 +117,7 @@ import com.owenlejeune.tvtime.ui.components.RoundedChip
|
||||
import com.owenlejeune.tvtime.ui.components.RoundedTextField
|
||||
import com.owenlejeune.tvtime.ui.components.TwoLineImageTextCard
|
||||
import com.owenlejeune.tvtime.ui.navigation.AppNavItem
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.MainViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.SpecialFeaturesViewModel
|
||||
import com.owenlejeune.tvtime.utils.SessionManager
|
||||
@@ -164,10 +164,10 @@ fun MediaDetailScreen(
|
||||
val scope = rememberCoroutineScope()
|
||||
|
||||
val mainViewModel = viewModel<MainViewModel>()
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val mediaItems: Map<Int, DetailedItem> = remember { mainViewModel.produceDetailsFor(type) }
|
||||
val mediaItem = mediaItems[itemId]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.owenlejeune.tvtime.ui.screens
|
||||
|
||||
import android.graphics.Paint.Align
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -46,7 +45,6 @@ import androidx.compose.ui.unit.sp
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavController
|
||||
import com.google.accompanist.pager.ExperimentalPagerApi
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailPerson
|
||||
import com.owenlejeune.tvtime.ui.components.ContentCard
|
||||
@@ -56,6 +54,7 @@ import com.owenlejeune.tvtime.ui.components.ExternalIdsArea
|
||||
import com.owenlejeune.tvtime.ui.components.PosterItem
|
||||
import com.owenlejeune.tvtime.ui.components.TwoLineImageTextCard
|
||||
import com.owenlejeune.tvtime.ui.navigation.AppNavItem
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.MainViewModel
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
@@ -88,9 +87,9 @@ fun PersonDetailScreen(
|
||||
fetchData(mainViewModel, personId)
|
||||
}
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val peopleMap = remember { mainViewModel.peopleMap }
|
||||
val person = peopleMap[personId]
|
||||
|
||||
@@ -24,7 +24,6 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.paging.LoadState
|
||||
import androidx.paging.compose.collectAsLazyPagingItems
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.MoviesService
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.TvService
|
||||
@@ -33,6 +32,7 @@ import com.owenlejeune.tvtime.extensions.getCalendarYear
|
||||
import com.owenlejeune.tvtime.extensions.lazyPagingItems
|
||||
import com.owenlejeune.tvtime.ui.components.MediaResultCard
|
||||
import com.owenlejeune.tvtime.ui.components.PillSegmentedControl
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.MainViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.SearchViewModel
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
@@ -47,10 +47,10 @@ fun SearchScreen(
|
||||
mediaViewType: MediaViewType
|
||||
) {
|
||||
val searchViewModel = viewModel<SearchViewModel>()
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val viewType = remember { mutableStateOf(mediaViewType) }
|
||||
|
||||
|
||||
@@ -62,13 +62,12 @@ import androidx.navigation.NavController
|
||||
import coil.compose.AsyncImage
|
||||
import coil.request.CachePolicy
|
||||
import coil.request.ImageRequest
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.owenlejeune.tvtime.R
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Episode
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Season
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.MainViewModel
|
||||
import com.owenlejeune.tvtime.utils.TmdbUtils
|
||||
import com.skydoves.cloudy.Cloudy
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
@@ -78,9 +77,9 @@ fun SeasonListScreen(
|
||||
) {
|
||||
val mainViewModel = viewModel<MainViewModel>()
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
LaunchedEffect(Unit) {
|
||||
val numSeasons = mainViewModel.detailedTv[id]!!.numberOfSeasons
|
||||
|
||||
@@ -60,7 +60,6 @@ import androidx.navigation.NavController
|
||||
import androidx.recyclerview.widget.ItemTouchHelper
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.kieronquinn.monetcompat.core.MonetCompat
|
||||
import com.owenlejeune.tvtime.BuildConfig
|
||||
import com.owenlejeune.tvtime.OnboardingActivity
|
||||
@@ -74,6 +73,7 @@ import com.owenlejeune.tvtime.ui.components.SliderPreference
|
||||
import com.owenlejeune.tvtime.ui.components.SwitchPreference
|
||||
import com.owenlejeune.tvtime.ui.navigation.SettingsNavItem
|
||||
import com.owenlejeune.tvtime.ui.navigation.SettingsNavigationHost
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.SettingsViewModel
|
||||
import com.owenlejeune.tvtime.ui.views.HomeTabRecyclerAdapter
|
||||
import com.owenlejeune.tvtime.ui.views.ItemMoveCallback
|
||||
@@ -85,9 +85,9 @@ import kotlinx.coroutines.launch
|
||||
fun SettingsScreen(
|
||||
appNavController: NavController
|
||||
) {
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
val topAppBarScrollState = rememberTopAppBarState()
|
||||
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(topAppBarScrollState)
|
||||
|
||||
@@ -19,11 +19,12 @@ import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SmallTopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.navigation.NavController
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.google.accompanist.web.AccompanistWebViewClient
|
||||
import com.google.accompanist.web.WebView
|
||||
import com.google.accompanist.web.rememberWebViewState
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import com.owenlejeune.tvtime.utils.SessionManager
|
||||
import org.koin.core.component.KoinComponent
|
||||
import org.koin.core.component.inject
|
||||
@@ -34,9 +35,9 @@ fun WebLinkScreen(
|
||||
url: String,
|
||||
appNavController: NavController
|
||||
) {
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = MaterialTheme.colorScheme.background)
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
applicationViewModel.statusBarColor.value = MaterialTheme.colorScheme.background
|
||||
applicationViewModel.navigationBarColor.value = MaterialTheme.colorScheme.background
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
|
||||
@@ -6,10 +6,13 @@ import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.material3.darkColorScheme
|
||||
import androidx.compose.material3.lightColorScheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.compositeOver
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.kieronquinn.monetcompat.core.MonetCompat
|
||||
import com.owenlejeune.tvtime.preferences.AppPreferences
|
||||
import com.owenlejeune.tvtime.ui.viewmodel.ApplicationViewModel
|
||||
import org.koin.java.KoinJavaComponent.get
|
||||
|
||||
private val DarkColorPalette = darkColorScheme(
|
||||
@@ -113,11 +116,15 @@ fun TVTimeTheme(
|
||||
),
|
||||
shapes = Shapes,
|
||||
content = {
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = androidx.compose.material3.MaterialTheme.colorScheme.background)
|
||||
systemUiController.setNavigationBarColor(color = androidx.compose.material3.MaterialTheme.colorScheme.background)
|
||||
|
||||
content()
|
||||
|
||||
val applicationViewModel = viewModel<ApplicationViewModel>()
|
||||
val statusBarColor by remember { applicationViewModel.statusBarColor }
|
||||
val navigationBarColor by remember { applicationViewModel.navigationBarColor }
|
||||
|
||||
val systemUiController = rememberSystemUiController()
|
||||
systemUiController.setStatusBarColor(color = statusBarColor)
|
||||
systemUiController.setNavigationBarColor(color = navigationBarColor)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.owenlejeune.tvtime.ui.viewmodel
|
||||
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
class ApplicationViewModel: ViewModel() {
|
||||
|
||||
private object Backer {
|
||||
val statusBarColor = mutableStateOf(Color.Transparent)
|
||||
val navigationBarColor = mutableStateOf(Color.Transparent)
|
||||
}
|
||||
|
||||
val statusBarColor = Backer.statusBarColor
|
||||
val navigationBarColor = Backer.navigationBarColor
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user