diff --git a/frontend/appflowy_flutter/lib/mobile/presentation/database/board/widgets/mobile_hidden_groups_column.dart b/frontend/appflowy_flutter/lib/mobile/presentation/database/board/widgets/mobile_hidden_groups_column.dart index 520dfff0d9b1..078da42b9d86 100644 --- a/frontend/appflowy_flutter/lib/mobile/presentation/database/board/widgets/mobile_hidden_groups_column.dart +++ b/frontend/appflowy_flutter/lib/mobile/presentation/database/board/widgets/mobile_hidden_groups_column.dart @@ -215,8 +215,10 @@ class MobileHiddenGroup extends StatelessWidget { ), onTap: () => showFlowyMobileConfirmDialog( context, - title: LocaleKeys.board_mobile_unhideGroup.tr(), - content: LocaleKeys.board_mobile_unhideGroupContent.tr(), + title: FlowyText(LocaleKeys.board_mobile_unhideGroup.tr()), + content: FlowyText( + LocaleKeys.board_mobile_unhideGroupContent.tr(), + ), actionButtonTitle: LocaleKeys.button_yes.tr(), actionButtonColor: Theme.of(context).colorScheme.primary, onActionButtonPressed: () => context.read().add( diff --git a/frontend/appflowy_flutter/lib/mobile/presentation/home/mobile_home_trash_page.dart b/frontend/appflowy_flutter/lib/mobile/presentation/home/mobile_home_trash_page.dart index 03f93db7c69c..7df84cd04fa1 100644 --- a/frontend/appflowy_flutter/lib/mobile/presentation/home/mobile_home_trash_page.dart +++ b/frontend/appflowy_flutter/lib/mobile/presentation/home/mobile_home_trash_page.dart @@ -5,6 +5,7 @@ import 'package:appflowy/mobile/presentation/widgets/widgets.dart'; import 'package:appflowy/plugins/trash/application/prelude.dart'; import 'package:appflowy/startup/startup.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:flowy_infra_ui/flowy_infra_ui.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:fluttertoast/fluttertoast.dart'; @@ -107,12 +108,16 @@ class _TrashActionAllButton extends StatelessWidget { context.pop(); showFlowyMobileConfirmDialog( context, - title: isDeleteAll - ? LocaleKeys.trash_confirmDeleteAll_title.tr() - : LocaleKeys.trash_restoreAll.tr(), - content: isDeleteAll - ? LocaleKeys.trash_confirmDeleteAll_caption.tr() - : LocaleKeys.trash_confirmRestoreAll_caption.tr(), + title: FlowyText( + isDeleteAll + ? LocaleKeys.trash_confirmDeleteAll_title.tr() + : LocaleKeys.trash_restoreAll.tr(), + ), + content: FlowyText( + isDeleteAll + ? LocaleKeys.trash_confirmDeleteAll_caption.tr() + : LocaleKeys.trash_confirmRestoreAll_caption.tr(), + ), actionButtonTitle: isDeleteAll ? LocaleKeys.trash_deleteAll.tr() : LocaleKeys.trash_restoreAll.tr(), diff --git a/frontend/appflowy_flutter/lib/mobile/presentation/setting/user_session_setting_group.dart b/frontend/appflowy_flutter/lib/mobile/presentation/setting/user_session_setting_group.dart index c7e2af5d229b..b83081afece2 100644 --- a/frontend/appflowy_flutter/lib/mobile/presentation/setting/user_session_setting_group.dart +++ b/frontend/appflowy_flutter/lib/mobile/presentation/setting/user_session_setting_group.dart @@ -1,4 +1,5 @@ import 'package:appflowy/generated/locale_keys.g.dart'; +import 'package:appflowy/mobile/presentation/widgets/show_flowy_mobile_confirm_dialog.dart'; import 'package:appflowy/startup/startup.dart'; import 'package:appflowy/user/application/auth/auth_service.dart'; import 'package:appflowy/user/application/sign_in_bloc.dart'; @@ -44,8 +45,18 @@ class UserSessionSettingGroup extends StatelessWidget { MobileSignInOrLogoutButton( labelText: LocaleKeys.settings_menu_logout.tr(), onPressed: () async { - await getIt().signOut(); - await runAppFlowy(); + await showFlowyMobileConfirmDialog( + context, + content: FlowyText( + LocaleKeys.settings_menu_logoutPrompt.tr(), + ), + actionButtonTitle: LocaleKeys.button_yes.tr(), + actionButtonColor: Theme.of(context).colorScheme.error, + onActionButtonPressed: () async { + await getIt().signOut(); + await runAppFlowy(); + }, + ); }, ), ], diff --git a/frontend/appflowy_flutter/lib/mobile/presentation/widgets/show_flowy_mobile_confirm_dialog.dart b/frontend/appflowy_flutter/lib/mobile/presentation/widgets/show_flowy_mobile_confirm_dialog.dart index 4966c1d9cd95..c11040682fe3 100644 --- a/frontend/appflowy_flutter/lib/mobile/presentation/widgets/show_flowy_mobile_confirm_dialog.dart +++ b/frontend/appflowy_flutter/lib/mobile/presentation/widgets/show_flowy_mobile_confirm_dialog.dart @@ -6,8 +6,8 @@ import 'package:flutter/material.dart'; ///[onActionButtonPressed] and [onCancelButtonPressed] end with close the dialog Future showFlowyMobileConfirmDialog( BuildContext context, { - String? title, - String? content, + Widget? title, + Widget? content, required String actionButtonTitle, Color? actionButtonColor, String? cancelButtonTitle, @@ -18,13 +18,9 @@ Future showFlowyMobileConfirmDialog( context: context, builder: (dialogContext) { final foregroundColor = Theme.of(context).colorScheme.onSurface; - return AlertDialog( - title: Text( - title ?? "", - ), - content: Text( - content ?? "", - ), + return AlertDialog.adaptive( + title: title, + content: content, actions: [ TextButton( child: Text( @@ -36,9 +32,7 @@ Future showFlowyMobileConfirmDialog( onPressed: () { onActionButtonPressed?.call(); // we cannot use dialogContext.pop() here because this is no GoRouter in dialogContext. Use Navigator instead to close the dialog. - Navigator.of( - dialogContext, - ).pop(); + Navigator.of(dialogContext).pop(); }, ), TextButton( @@ -50,9 +44,7 @@ Future showFlowyMobileConfirmDialog( ), onPressed: () { onCancelButtonPressed?.call(); - Navigator.of( - dialogContext, - ).pop(); + Navigator.of(dialogContext).pop(); }, ), ],