TF-4066 Add unread filter in mobile search

This commit is contained in:
dab246
2025-10-14 15:44:52 +07:00
committed by Dat H. Pham
parent 58dc75f8c8
commit 500a7e6a79
2 changed files with 22 additions and 2 deletions
@@ -171,7 +171,6 @@ class SearchEmailController extends BaseController
@override
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is SearchEmailSuccess) {
_searchEmailsSuccess(success);
} else if (success is SearchingMoreState) {
@@ -180,16 +179,19 @@ class SearchEmailController extends BaseController
_searchMoreEmailsSuccess(success);
} else if (success is SearchingState) {
resultSearchViewState.value = Right(success);
} else {
super.handleSuccessViewState(success);
}
}
@override
void handleFailureViewState(Failure failure) {
super.handleFailureViewState(failure);
if (failure is SearchEmailFailure) {
_searchEmailsFailure(failure);
} else if (failure is SearchMoreEmailFailure) {
_searchMoreEmailsFailure(failure);
} else {
super.handleFailureViewState(failure);
}
}
@@ -627,6 +629,11 @@ class SearchEmailController extends BaseController
_searchEmailAction(context);
}
void selectUnreadSearchFilter(BuildContext context) {
_updateSimpleSearchFilter(unreadOption: const Some(true));
_searchEmailAction(context);
}
bool checkQuickSearchFilterSelected(QuickSearchFilter filter) {
switch (filter) {
case QuickSearchFilter.hasAttachment:
@@ -1014,6 +1021,9 @@ class SearchEmailController extends BaseController
case QuickSearchFilter.starred:
_deleteStarredSearchFilter(context);
break;
case QuickSearchFilter.unread:
_deleteUnreadSearchFilter(context);
break;
default:
break;
}
@@ -1065,6 +1075,11 @@ class SearchEmailController extends BaseController
_searchEmailAction(context);
}
void _deleteUnreadSearchFilter(BuildContext context) {
_updateSimpleSearchFilter(unreadOption: const None());
_searchEmailAction(context);
}
void clearAllSearchFilterApplied(BuildContext context) {
textInputSearchController.clear();
currentSearchText.value = '';
@@ -271,6 +271,8 @@ class SearchEmailView extends GetWidget<SearchEmailController>
SearchEmailViewStyle.searchFilterSizeBoxMargin,
_buildSearchFilterButton(context, QuickSearchFilter.starred),
SearchEmailViewStyle.searchFilterSizeBoxMargin,
_buildSearchFilterButton(context, QuickSearchFilter.unread),
SearchEmailViewStyle.searchFilterSizeBoxMargin,
_buildSearchFilterButton(context, QuickSearchFilter.sortBy),
],
),
@@ -382,6 +384,9 @@ class SearchEmailView extends GetWidget<SearchEmailController>
case QuickSearchFilter.starred:
controller.selectStarredSearchFilter(context);
break;
case QuickSearchFilter.unread:
controller.selectUnreadSearchFilter(context);
break;
default:
break;
}