TF-933 Inject and navigate to SearchEmail routes

This commit is contained in:
dab246
2022-09-16 03:23:54 +07:00
committed by Dat H. Pham
parent e3d86c67bd
commit 038d595538
13 changed files with 576 additions and 56 deletions
@@ -42,6 +42,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart';
import 'package:tmail_ui_user/features/search/presentation/search_email_bindings.dart';
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart';
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
@@ -1350,4 +1351,9 @@ class ThreadController extends BaseController {
mailboxDashBoardController.goToComposer(arguments);
}
void goToSearchView() {
SearchEmailBindings().dependencies();
mailboxDashBoardController.dispatchRoute(AppRoutes.SEARCH_EMAIL);
}
}
@@ -89,16 +89,35 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
}
Widget _buildSearchBarView(BuildContext context) {
return Obx(() => Container(
color: Colors.white,
padding: EdgeInsets.symmetric(
horizontal: 16,
vertical: _responsiveUtils.isWebNotDesktop(context) ? 8 : 0),
margin: const EdgeInsets.only(
bottom: !BuildUtils.isWeb ? 16 : 0),
child: !controller.isSearchActive()
? _buildSearchFormInActive(context)
: _buildSearchFormActive(context)));
if (BuildUtils.isWeb) {
return Obx(() => Container(
color: Colors.white,
padding: EdgeInsets.symmetric(
horizontal: 16,
vertical: _responsiveUtils.isWebNotDesktop(context) ? 8 : 0),
margin: const EdgeInsets.only(
bottom: !BuildUtils.isWeb ? 16 : 0),
child: !controller.isSearchActive()
? _buildSearchFormInActive(context)
: _buildSearchFormActive(context)));
} else {
return Obx(() {
if (!controller.searchController.isSearchActive()) {
return Container(
color: Colors.white,
padding: EdgeInsets.symmetric(
horizontal: 16,
vertical: _responsiveUtils.isWebNotDesktop(context) ? 8 : 0),
margin: const EdgeInsets.only(
bottom: !BuildUtils.isWeb ? 16 : 0),
child: SearchBarView(_imagePaths,
hintTextSearch: AppLocalizations.of(context).search_emails,
onOpenSearchViewAction: () => controller.goToSearchView()));
} else {
return const SizedBox.shrink();
}
});
}
}
Widget _buildVacationNotificationMessage(BuildContext context) {