diff --git a/clients/compose/build.gradle.kts b/clients/compose/build.gradle.kts index aa55454..b62aaf9 100644 --- a/clients/compose/build.gradle.kts +++ b/clients/compose/build.gradle.kts @@ -13,7 +13,7 @@ plugins { alias(libs.plugins.buildconfig) } -version = PhoebenchVersion(1, 1, 1) +version = PhoebenchVersion(1, 1, 2) if((version as PhoebenchVersion) < (rootProject.version as PhoebenchVersion)) throw GradleException("UI Clients version must be at least as high as protocol/common version") diff --git a/clients/compose/src/wasmJsMain/kotlin/com/jaytux/phoebench/clients/Main.kt b/clients/compose/src/wasmJsMain/kotlin/com/jaytux/phoebench/clients/Main.kt index f1f4928..3da1537 100644 --- a/clients/compose/src/wasmJsMain/kotlin/com/jaytux/phoebench/clients/Main.kt +++ b/clients/compose/src/wasmJsMain/kotlin/com/jaytux/phoebench/clients/Main.kt @@ -1,14 +1,30 @@ package com.jaytux.phoebench.clients +import androidx.compose.runtime.CompositionLocal +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.ExperimentalComposeUiApi +import androidx.compose.ui.platform.LocalWindowInfo +import androidx.compose.ui.unit.dp import androidx.compose.ui.window.ComposeViewport +import com.jaytux.phoebench.clients.theme.GlobalUiMode +import com.jaytux.phoebench.clients.theme.UiMode import kotlinx.browser.document +import kotlinx.browser.window @OptIn(ExperimentalComposeUiApi::class) suspend fun main() { config = loadConfig() ComposeViewport(document.body!!) { - App() + val width = LocalWindowInfo.current.containerSize + var mode by remember(width) { mutableStateOf(UiMode.fromDp(width.width.dp)) } + + CompositionLocalProvider(GlobalUiMode provides mode) { + App() + } } } \ No newline at end of file