diff --git a/lib/features/email/presentation/utils/email_action_reactor/email_action_reactor.dart b/lib/features/email/presentation/utils/email_action_reactor/email_action_reactor.dart index a617df5ac..c632bead9 100644 --- a/lib/features/email/presentation/utils/email_action_reactor/email_action_reactor.dart +++ b/lib/features/email/presentation/utils/email_action_reactor/email_action_reactor.dart @@ -507,7 +507,7 @@ class EmailActionReactor { if (EmailUtils.isReplyToListEnabled(presentationEmail.listPost ?? '') && additionalActions.contains(EmailActionType.replyToList)) EmailActionType.replyToList, - if (isLabelAvailable) + if (isLabelAvailable && labels?.isNotEmpty == true) EmailActionType.labelAs, if (PlatformInfo.isWeb && PlatformInfo.isCanvasKit && diff --git a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart index 4226a725e..d88938539 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart @@ -650,6 +650,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { final isThreadRoute = controller.dashboardRoute.value == DashboardRoutes.thread; final isLabelAvailable = controller.isLabelAvailable; + final labelList = controller.labelController.labels; if (isSearchEmailRunning && isThreadRoute) { return Padding( @@ -678,7 +679,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { children: [ _buildQuickSearchFilterButton(context, QuickSearchFilter.folder), MailboxDashboardViewWebStyle.searchFilterSizeBoxMargin, - if (isLabelAvailable) + if (isLabelAvailable && labelList.isNotEmpty) ...[ _buildQuickSearchFilterButton( context, diff --git a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart index 90ab52a29..40dda8189 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart @@ -131,7 +131,7 @@ class AdvancedSearchInputForm extends GetWidget { final labelSelected = controller.selectedLabel.value; - if (isLabelAvailable) { + if (isLabelAvailable && labels.isNotEmpty) { return AdvancedSearchFieldWidget( filterField: FilterField.labels, padding: const EdgeInsets.only(bottom: 12), diff --git a/lib/features/search/email/presentation/search_email_view.dart b/lib/features/search/email/presentation/search_email_view.dart index 619d00842..7116d9604 100644 --- a/lib/features/search/email/presentation/search_email_view.dart +++ b/lib/features/search/email/presentation/search_email_view.dart @@ -270,6 +270,8 @@ class SearchEmailView extends GetWidget child: Obx(() { final isLabelAvailable = controller.mailboxDashBoardController.isLabelAvailable; + final labelList = controller + .mailboxDashBoardController.labelController.labels; return ListView( key: const Key('search_filter_list_view'), @@ -283,7 +285,7 @@ class SearchEmailView extends GetWidget children: [ _buildSearchFilterButton(context, QuickSearchFilter.folder), SearchEmailViewStyle.searchFilterSizeBoxMargin, - if (isLabelAvailable) + if (isLabelAvailable && labelList.isNotEmpty) ...[ _buildSearchFilterButton(context, QuickSearchFilter.labels), SearchEmailViewStyle.searchFilterSizeBoxMargin, diff --git a/lib/features/thread_detail/presentation/extension/on_thread_detail_action_click.dart b/lib/features/thread_detail/presentation/extension/on_thread_detail_action_click.dart index 6f7459667..080a116f8 100644 --- a/lib/features/thread_detail/presentation/extension/on_thread_detail_action_click.dart +++ b/lib/features/thread_detail/presentation/extension/on_thread_detail_action_click.dart @@ -137,7 +137,8 @@ extension OnThreadDetailActionClick on ThreadDetailController { if (currentContext == null) return; final moreActions = [ - if (mailboxDashBoardController.isLabelAvailable) + if (mailboxDashBoardController.isLabelAvailable && + mailboxDashBoardController.labelController.labels.isNotEmpty) EmailActionType.labelAs, threadDetailIsRead ? EmailActionType.markAsUnread