Apply new design for spam alert on desktop

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-07-08 11:02:53 +07:00
committed by Dat H. Pham
parent da71890120
commit 290372cb75
9 changed files with 216 additions and 307 deletions
@@ -109,4 +109,8 @@ class SpamReportController extends BaseController {
void setSpamPresentationMailbox(PresentationMailbox? spamMailbox) {
presentationSpamMailbox.value = spamMailbox;
}
bool get showReportBanner =>
spamReportState.value == SpamReportState.disabled ||
presentationSpamMailbox.value == null;
}
@@ -9,6 +9,7 @@ import 'package:model/extensions/presentation_mailbox_extension.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:tmail_ui_user/features/base/widget/clean_messages_banner.dart';
import 'package:tmail_ui_user/features/base/widget/popup_menu/popup_menu_item_action_widget.dart';
import 'package:tmail_ui_user/features/base/widget/report_message_banner.dart';
import 'package:tmail_ui_user/features/base/widget/scrollbar_list_view.dart';
import 'package:tmail_ui_user/features/composer/presentation/view/web/composer_overlay_view.dart';
import 'package:tmail_ui_user/features/email/presentation/email_view.dart';
@@ -48,8 +49,8 @@ import 'package:tmail_ui_user/features/search/email/presentation/search_email_vi
import 'package:tmail_ui_user/features/search/mailbox/presentation/search_mailbox_view.dart';
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
import 'package:tmail_ui_user/features/thread/presentation/model/popup_menu_item_filter_message_action.dart';
import 'package:tmail_ui_user/features/thread/presentation/styles/spam_banner/spam_report_banner_web_styles.dart';
import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart';
import 'package:tmail_ui_user/features/thread/presentation/widgets/spam_banner/spam_report_banner_web_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
@@ -172,7 +173,29 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
Obx(() => MarkMailboxAsReadLoadingBanner(
viewState: controller.viewStateMailboxActionProgress.value,
)),
const SpamReportBannerWebWidget(),
Obx(() {
final spamController = controller.spamReportController;
if (spamController.showReportBanner) {
return const SizedBox.shrink();
}
return ReportMessageBanner(
imagePaths: controller.imagePaths,
message: AppLocalizations
.of(context)
.countMessageInSpam(
spamController.numberOfUnreadSpamEmails,
),
positiveName: AppLocalizations.of(context).view,
isDesktop: controller
.responsiveUtils
.isDesktop(context),
margin: SpamReportBannerWebStyles.bannerMargin,
onPositiveAction: spamController.openMailbox,
onNegativeAction: () =>
spamController.dismissSpamReportAction(context),
);
}),
QuotasBannerWidget(),
_buildVacationNotificationMessage(context),
Obx(() {