TF-3312 Add logout confirmation dialog

This commit is contained in:
dab246
2024-12-05 18:39:43 +07:00
committed by Dat H. Pham
parent ff71b07239
commit e1664710b3
9 changed files with 128 additions and 15 deletions
+48
View File
@@ -0,0 +1,48 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/base/mixin/message_dialog_action_mixin.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
mixin LogoutMixin implements MessageDialogActionMixin {
void showLogoutConfirmDialog({
required BuildContext context,
required String username,
required Function? onConfirmAction,
}) {
final appLocalizations = AppLocalizations.of(context);
showConfirmDialogAction(
context,
'',
appLocalizations.yesLogout,
title: appLocalizations.logoutConfirmation,
alignCenter: true,
outsideDismissible: false,
titleActionButtonMaxLines: 1,
titlePadding: const EdgeInsetsDirectional.only(
start: 24,
top: 24,
end: 24,
bottom: 12,
),
messageStyle: const TextStyle(
color: AppColor.colorTextBody,
fontSize: 15,
fontWeight: FontWeight.w400,
),
listTextSpan: [
TextSpan(text: AppLocalizations.of(context).messageConfirmationLogout),
TextSpan(
text: ' $username',
style: Theme.of(context).textTheme.bodyLarge?.copyWith(
color: AppColor.colorTextBody,
fontSize: 15,
fontWeight: FontWeight.bold,
),
),
const TextSpan(text: '?'),
],
onConfirmAction: onConfirmAction,
);
}
}