hotfix(ui): Show label search filter only when label list is not empty

This commit is contained in:
dab246
2026-02-02 12:03:27 +07:00
committed by Dat H. Pham
parent 548c43baff
commit eb62b7cd97
5 changed files with 9 additions and 5 deletions
@@ -507,7 +507,7 @@ class EmailActionReactor {
if (EmailUtils.isReplyToListEnabled(presentationEmail.listPost ?? '') && if (EmailUtils.isReplyToListEnabled(presentationEmail.listPost ?? '') &&
additionalActions.contains(EmailActionType.replyToList)) additionalActions.contains(EmailActionType.replyToList))
EmailActionType.replyToList, EmailActionType.replyToList,
if (isLabelAvailable) if (isLabelAvailable && labels?.isNotEmpty == true)
EmailActionType.labelAs, EmailActionType.labelAs,
if (PlatformInfo.isWeb && if (PlatformInfo.isWeb &&
PlatformInfo.isCanvasKit && PlatformInfo.isCanvasKit &&
@@ -650,6 +650,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
final isThreadRoute = final isThreadRoute =
controller.dashboardRoute.value == DashboardRoutes.thread; controller.dashboardRoute.value == DashboardRoutes.thread;
final isLabelAvailable = controller.isLabelAvailable; final isLabelAvailable = controller.isLabelAvailable;
final labelList = controller.labelController.labels;
if (isSearchEmailRunning && isThreadRoute) { if (isSearchEmailRunning && isThreadRoute) {
return Padding( return Padding(
@@ -678,7 +679,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
children: [ children: [
_buildQuickSearchFilterButton(context, QuickSearchFilter.folder), _buildQuickSearchFilterButton(context, QuickSearchFilter.folder),
MailboxDashboardViewWebStyle.searchFilterSizeBoxMargin, MailboxDashboardViewWebStyle.searchFilterSizeBoxMargin,
if (isLabelAvailable) if (isLabelAvailable && labelList.isNotEmpty)
...[ ...[
_buildQuickSearchFilterButton( _buildQuickSearchFilterButton(
context, context,
@@ -131,7 +131,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController> {
final labelSelected = controller.selectedLabel.value; final labelSelected = controller.selectedLabel.value;
if (isLabelAvailable) { if (isLabelAvailable && labels.isNotEmpty) {
return AdvancedSearchFieldWidget( return AdvancedSearchFieldWidget(
filterField: FilterField.labels, filterField: FilterField.labels,
padding: const EdgeInsets.only(bottom: 12), padding: const EdgeInsets.only(bottom: 12),
@@ -270,6 +270,8 @@ class SearchEmailView extends GetWidget<SearchEmailController>
child: Obx(() { child: Obx(() {
final isLabelAvailable = final isLabelAvailable =
controller.mailboxDashBoardController.isLabelAvailable; controller.mailboxDashBoardController.isLabelAvailable;
final labelList = controller
.mailboxDashBoardController.labelController.labels;
return ListView( return ListView(
key: const Key('search_filter_list_view'), key: const Key('search_filter_list_view'),
@@ -283,7 +285,7 @@ class SearchEmailView extends GetWidget<SearchEmailController>
children: [ children: [
_buildSearchFilterButton(context, QuickSearchFilter.folder), _buildSearchFilterButton(context, QuickSearchFilter.folder),
SearchEmailViewStyle.searchFilterSizeBoxMargin, SearchEmailViewStyle.searchFilterSizeBoxMargin,
if (isLabelAvailable) if (isLabelAvailable && labelList.isNotEmpty)
...[ ...[
_buildSearchFilterButton(context, QuickSearchFilter.labels), _buildSearchFilterButton(context, QuickSearchFilter.labels),
SearchEmailViewStyle.searchFilterSizeBoxMargin, SearchEmailViewStyle.searchFilterSizeBoxMargin,
@@ -137,7 +137,8 @@ extension OnThreadDetailActionClick on ThreadDetailController {
if (currentContext == null) return; if (currentContext == null) return;
final moreActions = [ final moreActions = [
if (mailboxDashBoardController.isLabelAvailable) if (mailboxDashBoardController.isLabelAvailable &&
mailboxDashBoardController.labelController.labels.isNotEmpty)
EmailActionType.labelAs, EmailActionType.labelAs,
threadDetailIsRead threadDetailIsRead
? EmailActionType.markAsUnread ? EmailActionType.markAsUnread