1+ import androidx.compose.foundation.clickable
2+ import androidx.compose.foundation.layout.Column
13import androidx.compose.foundation.layout.PaddingValues
4+ import androidx.compose.foundation.layout.Row
25import androidx.compose.foundation.layout.height
36import androidx.compose.foundation.layout.padding
47import androidx.compose.runtime.Composable
58import androidx.compose.runtime.MutableState
9+ import androidx.compose.runtime.mutableStateOf
10+ import androidx.compose.runtime.remember
11+ import androidx.compose.ui.Alignment
612import 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
717import androidx.compose.ui.unit.dp
818import top.yukonga.miuix.kmp.basic.Card
919import top.yukonga.miuix.kmp.basic.LazyColumn
1020import 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
1224import top.yukonga.miuix.kmp.extra.SuperDropdown
1325import top.yukonga.miuix.kmp.extra.SuperSwitch
26+ import top.yukonga.miuix.kmp.theme.MiuixTheme
27+ import top.yukonga.miuix.kmp.utils.MiuixPopupUtil.Companion.dismissDialog
1428import top.yukonga.miuix.kmp.utils.getWindowSize
1529import 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}
0 commit comments