From 13b478ae90546295f723f04aafa25f0bf59a9ca3 Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Fri, 21 Jul 2023 15:21:30 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E8=B7=9F=E9=9A=8F=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=A4=9C=E9=97=B4=E6=A8=A1=E5=BC=8F=E6=97=B6=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tieba/post/ui/page/main/user/UserPage.kt | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/ui/page/main/user/UserPage.kt b/app/src/main/java/com/huanchengfly/tieba/post/ui/page/main/user/UserPage.kt index 3c2007cb..5793144a 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/ui/page/main/user/UserPage.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/ui/page/main/user/UserPage.kt @@ -59,14 +59,17 @@ import com.huanchengfly.tieba.post.ui.page.destinations.HistoryPageDestination import com.huanchengfly.tieba.post.ui.page.destinations.SettingsPageDestination import com.huanchengfly.tieba.post.ui.page.destinations.ThreadStorePageDestination import com.huanchengfly.tieba.post.ui.widgets.compose.Avatar +import com.huanchengfly.tieba.post.ui.widgets.compose.ConfirmDialog import com.huanchengfly.tieba.post.ui.widgets.compose.HorizontalDivider import com.huanchengfly.tieba.post.ui.widgets.compose.ListMenuItem import com.huanchengfly.tieba.post.ui.widgets.compose.Sizes import com.huanchengfly.tieba.post.ui.widgets.compose.Switch import com.huanchengfly.tieba.post.ui.widgets.compose.VerticalDivider +import com.huanchengfly.tieba.post.ui.widgets.compose.rememberDialogState import com.huanchengfly.tieba.post.utils.CuidUtils import com.huanchengfly.tieba.post.utils.StringUtil import com.huanchengfly.tieba.post.utils.ThemeUtil +import com.huanchengfly.tieba.post.utils.appPreferences @Composable private fun StatCardPlaceholder(modifier: Modifier = Modifier) { @@ -243,6 +246,21 @@ fun UserPage( prop1 = UserUiState::account, initial = null ) + + val switchToNightDialogState = rememberDialogState() + ConfirmDialog( + dialogState = switchToNightDialogState, + onConfirm = {}, + onCancel = { + context.appPreferences.followSystemNight = false + ThemeUtil.switchNightMode() + }, + confirmText = stringResource(id = R.string.btn_keep_following), + cancelText = stringResource(id = R.string.btn_close_following) + ) { + Text(text = stringResource(id = R.string.message_dialog_follow_system_night)) + } + Scaffold( backgroundColor = Color.Transparent, modifier = Modifier @@ -340,7 +358,13 @@ fun UserPage( Spacer(modifier = Modifier.width(16.dp)) Switch( checked = ThemeUtil.isNightMode(ThemeUtil.themeState.value), - onCheckedChange = { ThemeUtil.switchNightMode() } + onCheckedChange = { + if (context.appPreferences.followSystemNight) { + switchToNightDialogState.show() + } else { + ThemeUtil.switchNightMode() + } + } ) } if (account != null) {