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