diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/components/Dialogs.kt b/app/src/main/kotlin/cn/super12138/todo/ui/components/Dialogs.kt index 91842d4..baf89df 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/components/Dialogs.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/components/Dialogs.kt @@ -27,6 +27,7 @@ fun ConfirmDialog( title: String = stringResource(R.string.title_warning), text: String, confirmButtonText: String = stringResource(R.string.action_confirm), + showDismissButton: Boolean = true, dismissButtonText: String = stringResource(R.string.action_cancel), properties: DialogProperties = DialogProperties(), onConfirm: () -> Unit, @@ -38,7 +39,7 @@ fun ConfirmDialog( title = title, text = { Text(text) }, // 已经实现好滚动了 confirmButton = confirmButtonText, - dismissButton = dismissButtonText, + dismissButton = if (showDismissButton) dismissButtonText else null, onConfirm = { onConfirm() onDismiss() @@ -57,7 +58,7 @@ fun BasicDialog( title: String, text: @Composable (() -> Unit)? = null, confirmButton: String, - dismissButton: String, + dismissButton: String? = null, onConfirm: () -> Unit, onDismiss: () -> Unit, properties: DialogProperties = DialogProperties() @@ -88,13 +89,15 @@ fun BasicDialog( } }, dismissButton = { - TextButton( - onClick = { - VibrationUtils.performHapticFeedback(view) - onDismiss() + dismissButton?.let { + TextButton( + onClick = { + VibrationUtils.performHapticFeedback(view) + onDismiss() + } + ) { + Text(it) } - ) { - Text(dismissButton) } }, onDismissRequest = onDismiss, diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsData.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsData.kt index d58cee7..1c2d70c 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsData.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsData.kt @@ -139,12 +139,17 @@ fun SettingsData( icon = Icons.Outlined.RestartAlt, title = stringResource(R.string.tip_tips), text = stringResource(R.string.tip_restore_success), + showDismissButton = false, onConfirm = { restartApp(context) }, onDismiss = { showRestoreDialog = false }, properties = DialogProperties(dismissOnBackPress = false, dismissOnClickOutside = false) ) } +/** + * 重启应用 + * @param context 上下文 + */ private fun restartApp(context: Context) { val intent = Intent( context,