Skip to content

Commit 8e30405

Browse files
Update main.kt
1 parent d4057fc commit 8e30405

File tree

1 file changed

+24
-2
lines changed
  • composeApp/src/wasmJsMain/kotlin/com/krossovochkin/chesskt

1 file changed

+24
-2
lines changed
Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,37 @@
11
package com.krossovochkin.chesskt
22

3+
import androidx.compose.runtime.*
4+
import androidx.compose.material.Text
35
import androidx.compose.ui.ExperimentalComposeUiApi
46
import androidx.compose.ui.window.ComposeViewport
57
import kotlinx.browser.document
6-
import kotlin.math.min
78
import kotlinx.browser.window
9+
import kotlin.math.min
810
import org.jetbrains.compose.resources.ExperimentalResourceApi
11+
import org.w3c.dom.HTMLElement
912

1013
@OptIn(ExperimentalComposeUiApi::class, ExperimentalResourceApi::class)
1114
fun main() {
1215
ComposeViewport(document.body!!) {
13-
App(screenSizePx = min(window.innerWidth, window.innerHeight))
16+
var size by remember { mutableStateOf<Int?>(null) }
17+
18+
LaunchedEffect(Unit) {
19+
size = getContainerSize()
20+
}
21+
22+
if (size != null) {
23+
App(screenSizePx = size!!)
24+
} else {
25+
Text("Loading...")
26+
}
27+
}
28+
}
29+
30+
private fun getContainerSize(): Int {
31+
val iframe = window.asDynamic().frameElement as? HTMLElement
32+
return if (iframe != null) {
33+
min(iframe.offsetWidth, iframe.offsetHeight)
34+
} else {
35+
min(window.innerWidth, window.innerHeight)
1436
}
1537
}

0 commit comments

Comments
 (0)