Skip to content

Commit 7bfc5e5

Browse files
committed
example: Add an about dialog to ThirdPage
1 parent dda376f commit 7bfc5e5

File tree

2 files changed

+86
-10
lines changed

2 files changed

+86
-10
lines changed

composeApp/src/commonMain/kotlin/ThirdPage.kt

Lines changed: 83 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
1+
import androidx.compose.foundation.clickable
2+
import androidx.compose.foundation.layout.Column
13
import androidx.compose.foundation.layout.PaddingValues
4+
import androidx.compose.foundation.layout.Row
25
import androidx.compose.foundation.layout.height
36
import androidx.compose.foundation.layout.padding
47
import androidx.compose.runtime.Composable
58
import androidx.compose.runtime.MutableState
9+
import androidx.compose.runtime.mutableStateOf
10+
import androidx.compose.runtime.remember
11+
import androidx.compose.ui.Alignment
612
import androidx.compose.ui.Modifier
13+
import androidx.compose.ui.platform.LocalUriHandler
14+
import androidx.compose.ui.text.AnnotatedString
15+
import androidx.compose.ui.text.SpanStyle
16+
import androidx.compose.ui.text.style.TextDecoration
717
import androidx.compose.ui.unit.dp
818
import top.yukonga.miuix.kmp.basic.Card
919
import top.yukonga.miuix.kmp.basic.LazyColumn
1020
import top.yukonga.miuix.kmp.basic.ScrollBehavior
11-
import top.yukonga.miuix.kmp.basic.SmallTitle
21+
import top.yukonga.miuix.kmp.basic.Text
22+
import top.yukonga.miuix.kmp.extra.SuperArrow
23+
import top.yukonga.miuix.kmp.extra.SuperDialog
1224
import top.yukonga.miuix.kmp.extra.SuperDropdown
1325
import top.yukonga.miuix.kmp.extra.SuperSwitch
26+
import top.yukonga.miuix.kmp.theme.MiuixTheme
27+
import top.yukonga.miuix.kmp.utils.MiuixPopupUtil.Companion.dismissDialog
1428
import top.yukonga.miuix.kmp.utils.getWindowSize
1529
import utils.VersionInfo
1630

@@ -30,6 +44,7 @@ fun ThirdPage(
3044
onEnablePageUserScrollChange: (Boolean) -> Unit,
3145
colorMode: MutableState<Int>
3246
) {
47+
val showDialog = remember { mutableStateOf(false) }
3348
LazyColumn(
3449
modifier = Modifier.height(getWindowSize().height.dp),
3550
contentPadding = PaddingValues(top = padding.calculateTopPadding()),
@@ -38,8 +53,7 @@ fun ThirdPage(
3853
item {
3954
Card(
4055
modifier = Modifier
41-
.padding(horizontal = 12.dp)
42-
.padding(top = 12.dp, bottom = 6.dp)
56+
.padding(12.dp)
4357
) {
4458
SuperSwitch(
4559
title = "Show FPS Monitor",
@@ -73,10 +87,72 @@ fun ThirdPage(
7387
onSelectedIndexChange = { colorMode.value = it }
7488
)
7589
}
76-
SmallTitle(
77-
modifier = Modifier.padding(bottom = 6.dp + padding.calculateBottomPadding()),
78-
text = "Current Version: " + VersionInfo.VERSION_NAME + " (" + VersionInfo.VERSION_CODE + ")"
79-
)
90+
Card(
91+
modifier = Modifier
92+
.padding(horizontal = 12.dp)
93+
) {
94+
SuperArrow(
95+
title = "About",
96+
summary = "About this app",
97+
onClick = {
98+
showDialog.value = true
99+
}
100+
)
101+
}
80102
}
81103
}
104+
dialog(showDialog)
105+
}
106+
107+
@Composable
108+
fun dialog(showDialog: MutableState<Boolean>) {
109+
SuperDialog(
110+
title = "About",
111+
summary = "Demo app for Miuix",
112+
show = showDialog,
113+
onDismissRequest = { dismissDialog(showDialog) },
114+
content = {
115+
Column {
116+
val uriHandler = LocalUriHandler.current
117+
Text(
118+
text = "Version: " + VersionInfo.VERSION_NAME + " (" + VersionInfo.VERSION_CODE + ")"
119+
)
120+
Row(
121+
verticalAlignment = Alignment.CenterVertically
122+
) {
123+
Text(
124+
text = "View Source: "
125+
)
126+
Text(
127+
text = AnnotatedString(
128+
text = "GitHub",
129+
spanStyle = SpanStyle(textDecoration = TextDecoration.Underline, color = MiuixTheme.colorScheme.primary)
130+
),
131+
modifier = Modifier.clickable(
132+
onClick = {
133+
uriHandler.openUri("https://github.com/miuix-kotlin-multiplatform/miuix")
134+
}
135+
)
136+
)
137+
}
138+
Row(
139+
verticalAlignment = Alignment.CenterVertically
140+
) {
141+
Text(
142+
text = "Join Group: "
143+
)
144+
Text(
145+
text = AnnotatedString(
146+
text = "Telegram",
147+
spanStyle = SpanStyle(textDecoration = TextDecoration.Underline, color = MiuixTheme.colorScheme.primary)
148+
),
149+
modifier = Modifier.clickable(
150+
onClick = {
151+
uriHandler.openUri("https://t.me/YuKongA13579")
152+
},
153+
)
154+
)
155+
}
156+
}
157+
})
82158
}

composeApp/src/commonMain/kotlin/component/TextComponent.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,6 @@ fun TextComponent() {
328328
dialog2(showDialog2)
329329
}
330330

331-
332331
@Composable
333332
fun dialog(showDialog: MutableState<Boolean>) {
334333
val value = remember { mutableStateOf("") }
@@ -376,13 +375,14 @@ fun dialog2(showDialog: MutableState<Boolean>) {
376375
var miuixSuperSwitchState by remember { mutableStateOf(false) }
377376
SuperDialog(
378377
title = "Dialog 2",
379-
backgroundColor = MiuixTheme.colorScheme.background,
380378
show = showDialog,
381379
onDismissRequest = {
382380
dismissDialog(showDialog)
383381
}
384382
) {
385-
Card {
383+
Card(
384+
color = MiuixTheme.colorScheme.secondaryContainer,
385+
) {
386386
SuperDropdown(
387387
title = "Dropdown",
388388
items = dropdownOptions,

0 commit comments

Comments
 (0)