TF-4193 Show/Hide Label list when toggle label state in Setting
This commit is contained in:
+4
-4
@@ -1,5 +1,6 @@
|
||||
import 'package:core/utils/platform_info.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:labels/model/label.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';
|
||||
@@ -15,7 +16,7 @@ import 'package:tmail_ui_user/features/thread_detail/presentation/widgets/thread
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/widgets/thread_detail_load_more_circle.dart';
|
||||
|
||||
extension GetThreadDetailEmailViews on ThreadDetailController {
|
||||
List<Widget> getThreadDetailEmailViews() {
|
||||
List<Widget> getThreadDetailEmailViews({List<Label>? labels}) {
|
||||
final loadMoreSegments = Map<LoadMoreIndex, LoadMoreCount>.from(this.loadMoreSegments);
|
||||
|
||||
return emailIdsPresentation.entries.map((entry) {
|
||||
@@ -45,9 +46,8 @@ 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)
|
||||
final emailLabels = labels?.isNotEmpty == true && isFirstEmailInThreadDetail
|
||||
? emailIdsPresentation.values.last?.getLabelList(labels!)
|
||||
: null;
|
||||
|
||||
return ThreadDetailCollapsedEmail(
|
||||
|
||||
@@ -17,8 +17,8 @@ import 'package:tmail_ui_user/features/thread_detail/domain/state/get_thread_by_
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/close_thread_detail_action.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/get_thread_detail_action_status.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/get_thread_details_email_views.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/on_thread_detail_action_click.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/on_thread_detail_action_click.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/on_thread_page_changed.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/parsing_email_opened_properties_extension.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/presentation/thread_detail_controller.dart';
|
||||
@@ -101,7 +101,18 @@ class ThreadDetailView extends GetWidget<ThreadDetailController> {
|
||||
}
|
||||
}),
|
||||
Obx(() {
|
||||
final threadChildren = controller.getThreadDetailEmailViews();
|
||||
final isLabelCapabilitySupported = controller
|
||||
.mailboxDashBoardController.isLabelCapabilitySupported;
|
||||
|
||||
final labelController =
|
||||
controller.mailboxDashBoardController.labelController;
|
||||
|
||||
final isLabelSettingEnabled =
|
||||
labelController.isLabelSettingEnabled.isTrue;
|
||||
|
||||
final threadChildren = isLabelCapabilitySupported && isLabelSettingEnabled
|
||||
? controller.getThreadDetailEmailViews(labels: labelController.labels)
|
||||
: controller.getThreadDetailEmailViews();
|
||||
|
||||
late Widget threadBody;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user