TF-4174 Display tag in opened email view when thread is enabled on web desktop
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:model/email/email_in_thread_status.dart';
|
||||
import 'package:model/extensions/presentation_email_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/email_view.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/presentation_email_extension.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/handle_mail_shortcut_actions_extension.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/load_more_thread_detail_emails.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/thread_detail_load_more_segments.dart';
|
||||
@@ -44,6 +45,11 @@ extension GetThreadDetailEmailViews on ThreadDetailController {
|
||||
final isFirstEmailInThreadDetail = indexOfEmailId == 0;
|
||||
|
||||
if (presentationEmail.emailInThreadStatus == EmailInThreadStatus.collapsed) {
|
||||
final allLabels = mailboxDashBoardController.labelController.labels;
|
||||
final emailLabels = isFirstEmailInThreadDetail
|
||||
? emailIdsPresentation.values.last?.getLabelList(allLabels)
|
||||
: null;
|
||||
|
||||
return ThreadDetailCollapsedEmail(
|
||||
presentationEmail: presentationEmail.copyWith(
|
||||
subject: isFirstEmailInThreadDetail
|
||||
@@ -57,6 +63,7 @@ extension GetThreadDetailEmailViews on ThreadDetailController {
|
||||
mailboxDashBoardController.mapMailboxById,
|
||||
),
|
||||
emailLoaded: null,
|
||||
labels: emailLabels,
|
||||
onEmailActionClick: threadDetailOnEmailActionClick,
|
||||
openEmailAddressDetailAction: (_, emailAddress) {
|
||||
openEmailAddressDetailAction(emailAddress);
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/presentation/utils/theme_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:labels/model/label.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/email_loaded.dart';
|
||||
@@ -21,6 +22,7 @@ class ThreadDetailCollapsedEmail extends StatelessWidget {
|
||||
this.openEmailAddressDetailAction,
|
||||
this.mailboxContain,
|
||||
this.emailLoaded,
|
||||
this.labels,
|
||||
this.onEmailActionClick,
|
||||
this.onToggleThreadDetailCollapseExpand,
|
||||
});
|
||||
@@ -33,6 +35,7 @@ class ThreadDetailCollapsedEmail extends StatelessWidget {
|
||||
final PresentationMailbox? mailboxContain;
|
||||
final EmailLoaded? emailLoaded;
|
||||
final OnEmailActionClick? onEmailActionClick;
|
||||
final List<Label>? labels;
|
||||
final VoidCallback? onToggleThreadDetailCollapseExpand;
|
||||
|
||||
String get preview => presentationEmail.getPartialContent();
|
||||
@@ -40,6 +43,7 @@ class ThreadDetailCollapsedEmail extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final isMobileResponsive = responsiveUtils.isMobile(context);
|
||||
final isWebDesktop = responsiveUtils.isWebDesktop(context);
|
||||
|
||||
return DecoratedBox(
|
||||
decoration: const BoxDecoration(
|
||||
@@ -61,6 +65,8 @@ class ThreadDetailCollapsedEmail extends StatelessWidget {
|
||||
EmailSubjectWidget(
|
||||
presentationEmail: presentationEmail,
|
||||
isMobileResponsive: isMobileResponsive,
|
||||
isWebDesktop: isWebDesktop,
|
||||
labels: labels,
|
||||
),
|
||||
InformationSenderAndReceiverBuilder(
|
||||
emailSelected: presentationEmail,
|
||||
|
||||
Reference in New Issue
Block a user