@@ -1,4 +1,3 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/utils/theme_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/message_dialog_action_mixin.dart';
|
||||
@@ -19,14 +18,11 @@ mixin LogoutMixin implements MessageDialogActionMixin {
|
||||
title: appLocalizations.logoutConfirmation,
|
||||
alignCenter: true,
|
||||
outsideDismissible: false,
|
||||
titleActionButtonMaxLines: 1,
|
||||
messageStyle: ThemeUtils.textStyleBodyBody2(color: AppColor.steelGray400),
|
||||
listTextSpan: [
|
||||
TextSpan(text: AppLocalizations.of(context).messageConfirmationLogout),
|
||||
TextSpan(
|
||||
text: ' $userAddress',
|
||||
style: ThemeUtils.textStyleBodyBody2(
|
||||
color: AppColor.steelGray400,
|
||||
style: ThemeUtils.textStyleM3BodyMedium1.copyWith(
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -33,20 +33,13 @@ mixin MessageDialogActionMixin {
|
||||
bool usePopScope = false,
|
||||
List<TextSpan>? listTextSpan,
|
||||
Widget? icon,
|
||||
TextStyle? titleStyle,
|
||||
TextStyle? messageStyle,
|
||||
TextStyle? actionStyle,
|
||||
TextStyle? cancelStyle,
|
||||
Color? actionButtonColor,
|
||||
Color? cancelButtonColor,
|
||||
Color? cancelLabelButtonColor,
|
||||
Color? confirmLabelButtonColor,
|
||||
EdgeInsetsGeometry? marginIcon,
|
||||
EdgeInsetsGeometry? paddingButton,
|
||||
PopInvokedWithResultCallback? onPopInvoked,
|
||||
bool isArrangeActionButtonsVertical = false,
|
||||
int? titleActionButtonMaxLines,
|
||||
bool useIconAsBasicLogo = true,
|
||||
bool useIconAsBasicLogo = false,
|
||||
EdgeInsetsGeometry? dialogMargin,
|
||||
}
|
||||
) async {
|
||||
@@ -59,7 +52,6 @@ mixin MessageDialogActionMixin {
|
||||
key: key,
|
||||
imagePath: imagePaths,
|
||||
listTextSpan: listTextSpan,
|
||||
titleActionButtonMaxLines: titleActionButtonMaxLines,
|
||||
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
|
||||
useIconAsBasicLogo: useIconAsBasicLogo,
|
||||
title: title ?? '',
|
||||
@@ -71,12 +63,6 @@ mixin MessageDialogActionMixin {
|
||||
confirmBackgroundButtonColor: actionButtonColor,
|
||||
cancelLabelButtonColor: cancelLabelButtonColor,
|
||||
confirmLabelButtonColor: confirmLabelButtonColor,
|
||||
styleTextCancelButton: cancelStyle,
|
||||
styleTextConfirmButton: actionStyle,
|
||||
styleTitle: titleStyle,
|
||||
styleContent: messageStyle,
|
||||
paddingButton: paddingButton,
|
||||
marginIcon: marginIcon,
|
||||
onConfirmButtonAction: () {
|
||||
if (autoPerformPopBack) {
|
||||
popBack();
|
||||
@@ -108,21 +94,15 @@ mixin MessageDialogActionMixin {
|
||||
showAsBottomSheet: true,
|
||||
listTextSpan: listTextSpan,
|
||||
maxWidth: responsiveUtils.getSizeScreenShortestSide(context) - 16,
|
||||
titleActionButtonMaxLines: titleActionButtonMaxLines,
|
||||
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
|
||||
textContent: message,
|
||||
title: title ?? '',
|
||||
iconWidget: icon,
|
||||
margin: dialogMargin,
|
||||
widthDialog: responsiveUtils.getSizeScreenWidth(context),
|
||||
confirmBackgroundButtonColor: actionButtonColor,
|
||||
cancelBackgroundButtonColor: cancelButtonColor,
|
||||
cancelLabelButtonColor: cancelLabelButtonColor,
|
||||
confirmLabelButtonColor: confirmLabelButtonColor,
|
||||
styleContent: messageStyle,
|
||||
styleTitle: titleStyle,
|
||||
styleTextCancelButton: cancelStyle,
|
||||
styleTextConfirmButton: actionStyle,
|
||||
confirmText: actionName,
|
||||
cancelText: hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
|
||||
useIconAsBasicLogo: useIconAsBasicLogo,
|
||||
@@ -151,15 +131,12 @@ mixin MessageDialogActionMixin {
|
||||
backgroundColor: Colors.transparent,
|
||||
isDismissible: outsideDismissible,
|
||||
enableDrag: true,
|
||||
ignoreSafeArea: false,
|
||||
ignoreSafeArea: true,
|
||||
shape: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(18))),
|
||||
);
|
||||
} else {
|
||||
return (ConfirmationDialogActionSheetBuilder(context, listTextSpan: listTextSpan)
|
||||
..messageText(message)
|
||||
..styleConfirmButton(actionStyle)
|
||||
..styleMessage(messageStyle)
|
||||
..styleCancelButton(cancelStyle)
|
||||
..onCancelAction(
|
||||
cancelTitle ?? AppLocalizations.of(context).cancel,
|
||||
() {
|
||||
@@ -182,7 +159,6 @@ mixin MessageDialogActionMixin {
|
||||
key: key,
|
||||
imagePath: imagePaths,
|
||||
listTextSpan: listTextSpan,
|
||||
titleActionButtonMaxLines: titleActionButtonMaxLines,
|
||||
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
|
||||
useIconAsBasicLogo: useIconAsBasicLogo,
|
||||
title: title ?? '',
|
||||
@@ -192,10 +168,6 @@ mixin MessageDialogActionMixin {
|
||||
cancelBackgroundButtonColor: cancelButtonColor,
|
||||
cancelLabelButtonColor: cancelLabelButtonColor,
|
||||
confirmLabelButtonColor: confirmLabelButtonColor,
|
||||
styleContent: messageStyle,
|
||||
styleTitle: titleStyle,
|
||||
styleTextCancelButton: cancelStyle,
|
||||
styleTextConfirmButton: actionStyle,
|
||||
confirmText: actionName,
|
||||
cancelText: hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
|
||||
onConfirmButtonAction: () {
|
||||
|
||||
@@ -784,6 +784,7 @@ class ComposerController extends BaseController
|
||||
title: AppLocalizations.of(context).sending_failed,
|
||||
hasCancelButton: false,
|
||||
showAsBottomSheet: true,
|
||||
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
|
||||
).whenComplete(() => _sendButtonState = ButtonState.enabled);
|
||||
return;
|
||||
}
|
||||
@@ -804,7 +805,8 @@ class ComposerController extends BaseController
|
||||
},
|
||||
showAsBottomSheet: true,
|
||||
title: AppLocalizations.of(context).sending_failed,
|
||||
hasCancelButton: false
|
||||
hasCancelButton: false,
|
||||
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
|
||||
).whenComplete(() => _sendButtonState = ButtonState.enabled);
|
||||
return;
|
||||
}
|
||||
@@ -819,6 +821,7 @@ class ComposerController extends BaseController
|
||||
autoPerformPopBack: false,
|
||||
title: AppLocalizations.of(context).empty_subject,
|
||||
showAsBottomSheet: true,
|
||||
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
|
||||
).whenComplete(() => _sendButtonState = ButtonState.enabled);
|
||||
return;
|
||||
}
|
||||
@@ -830,7 +833,8 @@ class ComposerController extends BaseController
|
||||
AppLocalizations.of(context).got_it,
|
||||
title: AppLocalizations.of(context).sending_failed,
|
||||
showAsBottomSheet: true,
|
||||
hasCancelButton: false
|
||||
hasCancelButton: false,
|
||||
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
|
||||
).whenComplete(() => _sendButtonState = ButtonState.enabled);
|
||||
return;
|
||||
}
|
||||
@@ -1933,7 +1937,6 @@ class ComposerController extends BaseController
|
||||
alignCenter: true,
|
||||
outsideDismissible: false,
|
||||
autoPerformPopBack: false,
|
||||
titleActionButtonMaxLines: 1,
|
||||
isArrangeActionButtonsVertical: true,
|
||||
usePopScope: true,
|
||||
onConfirmAction: () => _handleSaveMessageToDraft(context),
|
||||
|
||||
@@ -1968,14 +1968,13 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
}
|
||||
},
|
||||
showAsBottomSheet: true,
|
||||
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
|
||||
title: AppLocalizations.of(context).unsubscribeMail,
|
||||
messageStyle: ThemeUtils.textStyleBodyBody2(color: AppColor.steelGray400),
|
||||
listTextSpan: [
|
||||
TextSpan(text: AppLocalizations.of(context).unsubscribeMailDialogMessage),
|
||||
TextSpan(
|
||||
text: ' ${presentationEmail.getSenderName()}',
|
||||
style: ThemeUtils.textStyleBodyBody2(
|
||||
color: AppColor.steelGray400,
|
||||
style: ThemeUtils.textStyleM3BodyMedium1.copyWith(
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -127,6 +127,7 @@ class ForwardController extends BaseController {
|
||||
cancelTitle: AppLocalizations.of(context).remove,
|
||||
onCancelAction: () => _handleDeleteRecipientAction({emailAddress}),
|
||||
showAsBottomSheet: true,
|
||||
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -210,6 +211,7 @@ class ForwardController extends BaseController {
|
||||
cancelTitle: AppLocalizations.of(context).remove,
|
||||
onCancelAction: () => _handleDeleteRecipientAction(listEmailAddress),
|
||||
showAsBottomSheet: true,
|
||||
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
-3
@@ -32,7 +32,6 @@ class DeleteIdentityDialogBuilder extends StatelessWidget {
|
||||
appLocalizations: appLocalizations,
|
||||
alignment: Alignment.bottomCenter,
|
||||
outsideDialogPadding: EdgeInsets.only(bottom: PlatformInfo.isWeb ? 42 : 16),
|
||||
widthDialog: MediaQuery.of(context).size.width - 16,
|
||||
),
|
||||
landscapeMobile: _buildDeleteDialog(appLocalizations: appLocalizations),
|
||||
tablet: _buildDeleteDialog(appLocalizations: appLocalizations),
|
||||
@@ -50,7 +49,6 @@ class DeleteIdentityDialogBuilder extends StatelessWidget {
|
||||
required AppLocalizations appLocalizations,
|
||||
Alignment? alignment,
|
||||
EdgeInsets? outsideDialogPadding,
|
||||
double? widthDialog,
|
||||
}) {
|
||||
return ConfirmationDialogBuilder(
|
||||
key: const Key('confirm_dialog_delete_identity'),
|
||||
@@ -61,7 +59,6 @@ class DeleteIdentityDialogBuilder extends StatelessWidget {
|
||||
confirmText: appLocalizations.cancel,
|
||||
alignment: alignment,
|
||||
outsideDialogPadding: outsideDialogPadding,
|
||||
widthDialog: widthDialog,
|
||||
onCancelButtonAction: onDeleteIdentityAction,
|
||||
onConfirmButtonAction: popBack,
|
||||
onCloseButtonAction: popBack,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/extensions/either_view_state_extension.dart';
|
||||
import 'package:core/presentation/utils/theme_utils.dart';
|
||||
import 'package:core/utils/string_convert.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -127,19 +127,11 @@ mixin OpenAppDeepLinkHandlerMixin on MessageDialogActionMixin {
|
||||
title: appLocalizations.switchAccountConfirmation,
|
||||
alignCenter: true,
|
||||
outsideDismissible: false,
|
||||
titleActionButtonMaxLines: 1,
|
||||
messageStyle: const TextStyle(
|
||||
color: AppColor.colorTextBody,
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.w400,
|
||||
),
|
||||
listTextSpan: [
|
||||
TextSpan(text: appLocalizations.youAreCurrentlyLoggedInWith),
|
||||
TextSpan(
|
||||
text: ' $currentUsername',
|
||||
style: const TextStyle(
|
||||
color: AppColor.colorTextBody,
|
||||
fontSize: 15,
|
||||
style: ThemeUtils.textStyleM3BodyMedium1.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
@@ -147,9 +139,7 @@ mixin OpenAppDeepLinkHandlerMixin on MessageDialogActionMixin {
|
||||
TextSpan(text: appLocalizations.doYouWantToLogOutAndSwitchTo),
|
||||
TextSpan(
|
||||
text: ' $newUsername',
|
||||
style: const TextStyle(
|
||||
color: AppColor.colorTextBody,
|
||||
fontSize: 15,
|
||||
style: ThemeUtils.textStyleM3BodyMedium1.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user