Skip to content

Commit f627c8f

Browse files
committed
theme param added in MarkdownLayout.kt
1 parent 865b089 commit f627c8f

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

site/src/jsMain/kotlin/org/kotlang/portfolio/components/layouts/MarkdownLayout.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package org.kotlang.portfolio.components.layouts
22

33
import androidx.compose.runtime.Composable
44
import androidx.compose.runtime.LaunchedEffect
5+
import androidx.compose.runtime.getValue
6+
import androidx.compose.runtime.setValue
57
import com.varabyte.kobweb.compose.foundation.layout.Box
68
import com.varabyte.kobweb.compose.foundation.layout.Column
79
import com.varabyte.kobweb.compose.ui.Alignment
@@ -12,14 +14,29 @@ import com.varabyte.kobweb.compose.ui.modifiers.padding
1214
import com.varabyte.kobweb.core.PageContext
1315
import com.varabyte.kobweb.core.layout.Layout
1416
import com.varabyte.kobweb.silk.style.toModifier
17+
import com.varabyte.kobweb.silk.theme.colors.ColorMode
18+
import kotlinx.browser.window
1519
import org.jetbrains.compose.web.css.px
1620
import org.kotlang.portfolio.theme.MarkdownStyle
1721
import org.kotlang.portfolio.util.setPageMetadata
22+
import org.w3c.dom.url.URLSearchParams
1823

1924
@Layout
2025
@Composable
2126
fun 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

Comments
 (0)