Skip to content

Commit 78eab28

Browse files
committed
Update and publish
1 parent 1013fdf commit 78eab28

File tree

1 file changed

+40
-24
lines changed
  • composeApp/src/wasmJsMain/kotlin/love/forte/simbot/codegen

1 file changed

+40
-24
lines changed

composeApp/src/wasmJsMain/kotlin/love/forte/simbot/codegen/App.kt

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,32 @@
11
package love.forte.simbot.codegen
22

33
import androidx.compose.foundation.isSystemInDarkTheme
4+
import androidx.compose.foundation.layout.Box
5+
import androidx.compose.foundation.layout.fillMaxSize
6+
import androidx.compose.material3.CircularProgressIndicator
47
import androidx.compose.material3.MaterialTheme
58
import androidx.compose.material3.darkColorScheme
69
import androidx.compose.material3.lightColorScheme
710
import androidx.compose.runtime.Composable
11+
import androidx.compose.runtime.getValue
12+
import androidx.compose.ui.Alignment
13+
import androidx.compose.ui.Modifier
814
import androidx.compose.ui.graphics.Color
915
import androidx.compose.ui.text.font.FontFamily
1016
import love.forte.simbot.codegen.gen.view.GradleSettingsView
11-
import org.jetbrains.compose.resources.Font
17+
import org.jetbrains.compose.resources.ExperimentalResourceApi
18+
import org.jetbrains.compose.resources.preloadFont
1219
import simbot_codegen.composeapp.generated.resources.LXGWNeoXiHeiScreen
1320
import simbot_codegen.composeapp.generated.resources.Res
1421

1522

1623
@Composable
1724
fun App() {
18-
val fm = FontFamily(Font(Res.font.LXGWNeoXiHeiScreen))
25+
@OptIn(ExperimentalResourceApi::class)
26+
val font by preloadFont(resource = Res.font.LXGWNeoXiHeiScreen)
27+
val fm = font?.let { FontFamily(it) }
28+
// val fm = FontFamily(Font(Res.font.LXGWNeoXiHeiScreen))
29+
// preloadFont()
1930

2031
val darkTheme = isSystemInDarkTheme()
2132

@@ -55,28 +66,33 @@ fun App() {
5566
)
5667
}
5768

58-
59-
MaterialTheme(
60-
colorScheme = colorScheme,
61-
typography = MaterialTheme.typography.copy(
62-
displayLarge = MaterialTheme.typography.displayLarge.copy(fontFamily = fm),
63-
displayMedium = MaterialTheme.typography.displayMedium.copy(fontFamily = fm),
64-
displaySmall = MaterialTheme.typography.displaySmall.copy(fontFamily = fm),
65-
headlineLarge = MaterialTheme.typography.headlineLarge.copy(fontFamily = fm),
66-
headlineMedium = MaterialTheme.typography.headlineMedium.copy(fontFamily = fm),
67-
headlineSmall = MaterialTheme.typography.headlineSmall.copy(fontFamily = fm),
68-
titleLarge = MaterialTheme.typography.titleLarge.copy(fontFamily = fm),
69-
titleMedium = MaterialTheme.typography.titleMedium.copy(fontFamily = fm),
70-
titleSmall = MaterialTheme.typography.titleSmall.copy(fontFamily = fm),
71-
bodyLarge = MaterialTheme.typography.bodyLarge.copy(fontFamily = fm),
72-
bodyMedium = MaterialTheme.typography.bodyMedium.copy(fontFamily = fm),
73-
bodySmall = MaterialTheme.typography.bodySmall.copy(fontFamily = fm),
74-
labelLarge = MaterialTheme.typography.labelLarge.copy(fontFamily = fm),
75-
labelMedium = MaterialTheme.typography.labelMedium.copy(fontFamily = fm),
76-
labelSmall = MaterialTheme.typography.labelSmall.copy(fontFamily = fm),
77-
)
78-
) {
79-
GradleSettingsView()
69+
if (fm == null) {
70+
Box(modifier = Modifier.fillMaxSize()) {
71+
CircularProgressIndicator(modifier = Modifier.align(Alignment.Center))
72+
}
73+
} else {
74+
MaterialTheme(
75+
colorScheme = colorScheme,
76+
typography = MaterialTheme.typography.copy(
77+
displayLarge = MaterialTheme.typography.displayLarge.copy(fontFamily = fm),
78+
displayMedium = MaterialTheme.typography.displayMedium.copy(fontFamily = fm),
79+
displaySmall = MaterialTheme.typography.displaySmall.copy(fontFamily = fm),
80+
headlineLarge = MaterialTheme.typography.headlineLarge.copy(fontFamily = fm),
81+
headlineMedium = MaterialTheme.typography.headlineMedium.copy(fontFamily = fm),
82+
headlineSmall = MaterialTheme.typography.headlineSmall.copy(fontFamily = fm),
83+
titleLarge = MaterialTheme.typography.titleLarge.copy(fontFamily = fm),
84+
titleMedium = MaterialTheme.typography.titleMedium.copy(fontFamily = fm),
85+
titleSmall = MaterialTheme.typography.titleSmall.copy(fontFamily = fm),
86+
bodyLarge = MaterialTheme.typography.bodyLarge.copy(fontFamily = fm),
87+
bodyMedium = MaterialTheme.typography.bodyMedium.copy(fontFamily = fm),
88+
bodySmall = MaterialTheme.typography.bodySmall.copy(fontFamily = fm),
89+
labelLarge = MaterialTheme.typography.labelLarge.copy(fontFamily = fm),
90+
labelMedium = MaterialTheme.typography.labelMedium.copy(fontFamily = fm),
91+
labelSmall = MaterialTheme.typography.labelSmall.copy(fontFamily = fm),
92+
)
93+
) {
94+
GradleSettingsView()
95+
}
8096
}
8197
}
8298
//

0 commit comments

Comments
 (0)