@@ -2,6 +2,8 @@ package org.kotlang.portfolio.components.layouts
22
33import androidx.compose.runtime.Composable
44import androidx.compose.runtime.LaunchedEffect
5+ import androidx.compose.runtime.getValue
6+ import androidx.compose.runtime.setValue
57import com.varabyte.kobweb.compose.foundation.layout.Box
68import com.varabyte.kobweb.compose.foundation.layout.Column
79import com.varabyte.kobweb.compose.ui.Alignment
@@ -12,14 +14,29 @@ import com.varabyte.kobweb.compose.ui.modifiers.padding
1214import com.varabyte.kobweb.core.PageContext
1315import com.varabyte.kobweb.core.layout.Layout
1416import com.varabyte.kobweb.silk.style.toModifier
17+ import com.varabyte.kobweb.silk.theme.colors.ColorMode
18+ import kotlinx.browser.window
1519import org.jetbrains.compose.web.css.px
1620import org.kotlang.portfolio.theme.MarkdownStyle
1721import org.kotlang.portfolio.util.setPageMetadata
22+ import org.w3c.dom.url.URLSearchParams
1823
1924@Layout
2025@Composable
2126fun MarkdownLayout (ctx : PageContext , content : @Composable () -> Unit ) {
2227
28+ var colorMode by ColorMode .currentState
29+
30+ LaunchedEffect (ctx.route) {
31+ val theme = window.location.search.let {
32+ val params = URLSearchParams (it)
33+ params.get(" theme" )
34+ }
35+
36+ if (theme == " dark" ) colorMode = ColorMode .DARK
37+ else if (theme == " light" ) colorMode = ColorMode .LIGHT
38+ }
39+
2340 LaunchedEffect (Unit ) {
2441 setPageMetadata(
2542 title = " Privacy Policy - Kinex: Gym Workouts Guide" ,
0 commit comments