From e99643085d1ca6d56494660b734280b3bc0e8b83 Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 25 Nov 2025 15:00:07 +0700 Subject: [PATCH] TF-4174 Display tag in opened email view when thread is disabled on web desktop --- .../email/presentation/email_view.dart | 22 ++++-- .../widgets/email_subject_widget.dart | 70 ++++++++++++++++--- .../presentation/widgets/label_widget.dart | 2 + 3 files changed, 77 insertions(+), 17 deletions(-) diff --git a/lib/features/email/presentation/email_view.dart b/lib/features/email/presentation/email_view.dart index 96e4d615f..e614d0f4a 100644 --- a/lib/features/email/presentation/email_view.dart +++ b/lib/features/email/presentation/email_view.dart @@ -22,6 +22,7 @@ import 'package:tmail_ui_user/features/base/widget/optional_scroll.dart'; import 'package:tmail_ui_user/features/email/presentation/controller/single_email_controller.dart'; import 'package:tmail_ui_user/features/email/presentation/extensions/calendar_event_extension.dart'; import 'package:tmail_ui_user/features/email/presentation/extensions/handle_on_iframe_click_in_email_extension.dart'; +import 'package:tmail_ui_user/features/email/presentation/extensions/presentation_email_extension.dart'; import 'package:tmail_ui_user/features/email/presentation/extensions/validate_display_free_busy_message_extension.dart'; import 'package:tmail_ui_user/features/email/presentation/styles/email_view_styles.dart'; import 'package:tmail_ui_user/features/email/presentation/utils/email_action_reactor/email_action_reactor.dart'; @@ -240,18 +241,27 @@ class EmailView extends GetWidget { ScrollController? scrollController, }) { final isMobileResponsive = controller.responsiveUtils.isMobile(context); + final isWebDesktop = controller.responsiveUtils.isWebDesktop(context); return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ if (!isInsideThreadDetailView || isFirstEmailInThreadDetail) - EmailSubjectWidget( - presentationEmail: presentationEmail.copyWith( - subject: threadSubject, - ), - isMobileResponsive: isMobileResponsive, - ), + Obx(() { + final allLabels = + controller.mailboxDashBoardController.labelController.labels; + final emailLabels = presentationEmail.getLabelList(allLabels); + + return EmailSubjectWidget( + presentationEmail: presentationEmail.copyWith( + subject: threadSubject, + ), + isMobileResponsive: isMobileResponsive, + isWebDesktop: isWebDesktop, + labels: emailLabels, + ); + }), Obx(() => InformationSenderAndReceiverBuilder( emailSelected: presentationEmail, imagePaths: controller.imagePaths, diff --git a/lib/features/email/presentation/widgets/email_subject_widget.dart b/lib/features/email/presentation/widgets/email_subject_widget.dart index 64c90cff5..dff90e647 100644 --- a/lib/features/email/presentation/widgets/email_subject_widget.dart +++ b/lib/features/email/presentation/widgets/email_subject_widget.dart @@ -1,33 +1,81 @@ import 'package:flutter/material.dart'; +import 'package:labels/model/label.dart'; import 'package:model/email/presentation_email.dart'; import 'package:tmail_ui_user/features/email/presentation/styles/email_subject_styles.dart'; +import 'package:tmail_ui_user/features/labels/presentation/widgets/label_widget.dart'; class EmailSubjectWidget extends StatelessWidget { - final PresentationEmail presentationEmail; final bool isMobileResponsive; + final bool isWebDesktop; + final List