TF-4229 Add quick search label filter button in dashboard view

This commit is contained in:
dab246
2026-01-05 12:20:34 +07:00
committed by Dat H. Pham
parent a35b263dca
commit cc508c210a
10 changed files with 125 additions and 38 deletions
@@ -1,7 +1,9 @@
import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
import 'package:labels/model/label.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart';
extension SelectSearchFilterActionExtension on MailboxDashBoardController {
void selectStarredSearchFilter() {
@@ -31,4 +33,20 @@ extension SelectSearchFilterActionExtension on MailboxDashBoardController {
searchController.updateFilterEmail(unreadOption: const None());
dispatchAction(StartSearchEmailAction());
}
void deleteQuickSearchFilter({required QuickSearchFilter filter}) {
switch (filter) {
case QuickSearchFilter.labels:
searchController.updateFilterEmail(labelOption: const None());
break;
default:
break;
}
dispatchAction(StartSearchEmailAction());
}
void onSelectLabelFilter(Label? newLabel) {
searchController.updateFilterEmail(labelOption: optionOf(newLabel));
dispatchAction(StartSearchEmailAction());
}
}