add web appbar color customization

This commit is contained in:
2026-08-15 08:30:39 +03:00
parent d6a0d058ed
commit 036aeba245
7 changed files with 43 additions and 7 deletions
@@ -38,4 +38,3 @@ class SearchSyncStrategy(
}
}
}
@@ -39,14 +39,14 @@ fun Modifier.imePaddingInternal(): Modifier {
}
@Composable
fun Nav(root: VBoxRootComponent) {
fun Nav(root: VBoxRootComponent, onAttach: @Composable () -> Unit = {}) {
CompositionLocalProvider(
LocalImageLoader provides remember { root.imageLoaderProvider.provide() }
) { NavInternal(root) }
) { NavInternal(root, onAttach) }
}
@Composable
private fun NavInternal(root: VBoxRootComponent) {
private fun NavInternal(root: VBoxRootComponent, onAttach: @Composable () -> Unit) {
Nav(root) { child, route ->
when (child) {
is Child.PlayerChild -> PlayerScreen(child.component)
@@ -76,6 +76,7 @@ private fun NavInternal(root: VBoxRootComponent) {
}
}
}
onAttach()
UpdateDialog(root.updateComponent)
}
}
@@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
@@ -26,6 +27,7 @@ import ru.shadowsparky.domain.AppConfig
import ru.shadowsparky.koin
import ru.shadowsparky.ui.hideElementById
import ru.shadowsparky.ui.hookPageVisibility
import ru.shadowsparky.ui.updateBrowserAppBarColor
import ru.shadowsparky.vbox.shared.presentation.Nav
import ru.shadowsparky.vbox.shared.presentation.RootFactory
import ru.shadowsparky.vbox.shared.presentation.UrlRoutes
@@ -71,7 +73,10 @@ fun mainInternal() {
root.onFinish.collect { root.navReplace(Route.Loading()) }
}
Box(Modifier.fillMaxSize().padding(WindowInsets.safeDrawing.asPaddingValues())) {
Nav(root)
Nav(root) {
val color = MaterialTheme.colorScheme.background
LaunchedEffect(color) { updateBrowserAppBarColor(color) }
}
}
}
}