From 373405e4433a2532c4df42b51c09f715bc8db695 Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 7 Feb 2023 18:14:20 +0700 Subject: [PATCH] TF-1427 Separate folder for email search --- .../bindings/mailbox_dashboard_bindings.dart | 4 ++-- .../presentation/mailbox_dashboard_view.dart | 2 +- .../mailbox_dashboard_view_web.dart | 2 +- .../refresh_changes_search_email_state.dart | 3 ++- ...fresh_changes_search_email_interactor.dart | 7 ++++--- .../presentation/model/search_more_state.dart | 0 .../model/simple_search_filter.dart | 4 +++- .../presentation/search_email_bindings.dart | 4 ++-- .../presentation/search_email_controller.dart | 21 +++++++++++++------ .../presentation/search_email_view.dart | 14 ++++++------- .../utils/search_email_utils.dart | 0 .../widgets/app_bar_selection_mode.dart | 0 ...email_receive_time_action_tile_widget.dart | 0 ...cupertino_action_sheet_action_builder.dart | 3 ++- .../presentation/thread_controller.dart | 2 +- 15 files changed, 40 insertions(+), 26 deletions(-) rename lib/features/search/{ => email}/domain/state/refresh_changes_search_email_state.dart (84%) rename lib/features/search/{ => email}/domain/usecases/refresh_changes_search_email_interactor.dart (83%) rename lib/features/search/{ => email}/presentation/model/search_more_state.dart (100%) rename lib/features/search/{ => email}/presentation/model/simple_search_filter.dart (96%) rename lib/features/search/{ => email}/presentation/search_email_bindings.dart (86%) rename lib/features/search/{ => email}/presentation/search_email_controller.dart (96%) rename lib/features/search/{ => email}/presentation/search_email_view.dart (97%) rename lib/features/search/{ => email}/presentation/utils/search_email_utils.dart (100%) rename lib/features/search/{ => email}/presentation/widgets/app_bar_selection_mode.dart (100%) rename lib/features/search/{ => email}/presentation/widgets/email_receive_time_action_tile_widget.dart (100%) rename lib/features/search/{ => email}/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart (92%) diff --git a/lib/features/mailbox_dashboard/presentation/bindings/mailbox_dashboard_bindings.dart b/lib/features/mailbox_dashboard/presentation/bindings/mailbox_dashboard_bindings.dart index 661d22607..733144919 100644 --- a/lib/features/mailbox_dashboard/presentation/bindings/mailbox_dashboard_bindings.dart +++ b/lib/features/mailbox_dashboard/presentation/bindings/mailbox_dashboard_bindings.dart @@ -90,8 +90,8 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/spam_report_controller.dart'; import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oidc_interactor.dart'; import 'package:tmail_ui_user/features/quotas/presentation/quotas_controller_bindings.dart'; -import 'package:tmail_ui_user/features/search/domain/usecases/refresh_changes_search_email_interactor.dart'; -import 'package:tmail_ui_user/features/search/presentation/search_email_bindings.dart'; +import 'package:tmail_ui_user/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/search_email_bindings.dart'; import 'package:tmail_ui_user/features/thread/data/datasource/thread_datasource.dart'; import 'package:tmail_ui_user/features/thread/data/datasource_impl/local_thread_datasource_impl.dart'; import 'package:tmail_ui_user/features/thread/data/datasource_impl/thread_datasource_impl.dart'; diff --git a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart index 78305c1b6..3da04b241 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart @@ -9,7 +9,7 @@ import 'package:tmail_ui_user/features/email/presentation/email_view.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart'; -import 'package:tmail_ui_user/features/search/presentation/search_email_view.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/search_email_view.dart'; import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart'; class MailboxDashBoardView extends BaseMailboxDashBoardView { 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 9b8f1935e..d5f15e69d 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart @@ -27,7 +27,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/to import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/vacation/widgets/vacation_notification_message_widget.dart'; import 'package:tmail_ui_user/features/quotas/presentation/widget/quotas_warning_banner_widget.dart'; -import 'package:tmail_ui_user/features/search/presentation/search_email_view.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/search_email_view.dart'; import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart'; import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; diff --git a/lib/features/search/domain/state/refresh_changes_search_email_state.dart b/lib/features/search/email/domain/state/refresh_changes_search_email_state.dart similarity index 84% rename from lib/features/search/domain/state/refresh_changes_search_email_state.dart rename to lib/features/search/email/domain/state/refresh_changes_search_email_state.dart index 82664442e..8d3339c40 100644 --- a/lib/features/search/domain/state/refresh_changes_search_email_state.dart +++ b/lib/features/search/email/domain/state/refresh_changes_search_email_state.dart @@ -1,5 +1,6 @@ -import 'package:core/core.dart'; +import 'package:core/presentation/state/failure.dart'; +import 'package:core/presentation/state/success.dart'; import 'package:model/email/presentation_email.dart'; class RefreshingChangeSearchEmailState extends UIState { diff --git a/lib/features/search/domain/usecases/refresh_changes_search_email_interactor.dart b/lib/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart similarity index 83% rename from lib/features/search/domain/usecases/refresh_changes_search_email_interactor.dart rename to lib/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart index facaacb46..7c36cab07 100644 --- a/lib/features/search/domain/usecases/refresh_changes_search_email_interactor.dart +++ b/lib/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart @@ -1,13 +1,14 @@ -import 'package:core/core.dart'; -import 'package:model/model.dart'; +import 'package:core/presentation/state/failure.dart'; +import 'package:core/presentation/state/success.dart'; import 'package:dartz/dartz.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/filter/filter.dart'; import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:jmap_dart_client/jmap/core/unsigned_int.dart'; import 'package:jmap_dart_client/jmap/core/sort/comparator.dart'; -import 'package:tmail_ui_user/features/search/domain/state/refresh_changes_search_email_state.dart'; +import 'package:model/extensions/email_extension.dart'; +import 'package:tmail_ui_user/features/search/email/domain/state/refresh_changes_search_email_state.dart'; import 'package:tmail_ui_user/features/thread/domain/repository/thread_repository.dart'; class RefreshChangesSearchEmailInteractor { diff --git a/lib/features/search/presentation/model/search_more_state.dart b/lib/features/search/email/presentation/model/search_more_state.dart similarity index 100% rename from lib/features/search/presentation/model/search_more_state.dart rename to lib/features/search/email/presentation/model/search_more_state.dart diff --git a/lib/features/search/presentation/model/simple_search_filter.dart b/lib/features/search/email/presentation/model/simple_search_filter.dart similarity index 96% rename from lib/features/search/presentation/model/simple_search_filter.dart rename to lib/features/search/email/presentation/model/simple_search_filter.dart index f3e3baa01..a93c9be10 100644 --- a/lib/features/search/presentation/model/simple_search_filter.dart +++ b/lib/features/search/email/presentation/model/simple_search_filter.dart @@ -6,7 +6,9 @@ import 'package:jmap_dart_client/jmap/core/filter/filter_operator.dart'; import 'package:jmap_dart_client/jmap/core/filter/operator/logic_filter_operator.dart'; import 'package:jmap_dart_client/jmap/core/utc_date.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_filter_condition.dart'; -import 'package:model/model.dart'; +import 'package:model/email/prefix_email_address.dart'; +import 'package:model/extensions/email_filter_condition_extension.dart'; +import 'package:model/mailbox/presentation_mailbox.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart'; import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; diff --git a/lib/features/search/presentation/search_email_bindings.dart b/lib/features/search/email/presentation/search_email_bindings.dart similarity index 86% rename from lib/features/search/presentation/search_email_bindings.dart rename to lib/features/search/email/presentation/search_email_bindings.dart index 5dfc13661..92592653a 100644 --- a/lib/features/search/presentation/search_email_bindings.dart +++ b/lib/features/search/email/presentation/search_email_bindings.dart @@ -4,8 +4,8 @@ import 'package:tmail_ui_user/features/base/base_bindings.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_all_recent_search_latest_interactor.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/quick_search_email_interactor.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_recent_search_interactor.dart'; -import 'package:tmail_ui_user/features/search/domain/usecases/refresh_changes_search_email_interactor.dart'; -import 'package:tmail_ui_user/features/search/presentation/search_email_controller.dart'; +import 'package:tmail_ui_user/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/search_email_controller.dart'; import 'package:tmail_ui_user/features/thread/domain/usecases/search_email_interactor.dart'; import 'package:tmail_ui_user/features/thread/domain/usecases/search_more_email_interactor.dart'; diff --git a/lib/features/search/presentation/search_email_controller.dart b/lib/features/search/email/presentation/search_email_controller.dart similarity index 96% rename from lib/features/search/presentation/search_email_controller.dart rename to lib/features/search/email/presentation/search_email_controller.dart index 58bfa08ca..246afe15c 100644 --- a/lib/features/search/presentation/search_email_controller.dart +++ b/lib/features/search/email/presentation/search_email_controller.dart @@ -15,7 +15,16 @@ import 'package:jmap_dart_client/jmap/core/utc_date.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_address.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_comparator.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_comparator_property.dart'; -import 'package:model/model.dart'; +import 'package:model/email/email_action_type.dart'; +import 'package:model/email/mark_star_action.dart'; +import 'package:model/email/prefix_email_address.dart'; +import 'package:model/email/presentation_email.dart'; +import 'package:model/email/read_actions.dart'; +import 'package:model/extensions/list_presentation_email_extension.dart'; +import 'package:model/extensions/presentation_email_extension.dart'; +import 'package:model/mailbox/presentation_mailbox.dart'; +import 'package:model/mailbox/select_mode.dart'; +import 'package:model/user/user_profile.dart'; import 'package:tmail_ui_user/features/base/base_controller.dart'; import 'package:tmail_ui_user/features/contact/presentation/model/contact_arguments.dart'; import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart'; @@ -35,11 +44,11 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_re import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart'; 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/search/domain/state/refresh_changes_search_email_state.dart'; -import 'package:tmail_ui_user/features/search/domain/usecases/refresh_changes_search_email_interactor.dart'; -import 'package:tmail_ui_user/features/search/presentation/model/search_more_state.dart'; -import 'package:tmail_ui_user/features/search/presentation/model/simple_search_filter.dart'; -import 'package:tmail_ui_user/features/search/presentation/search_email_bindings.dart'; +import 'package:tmail_ui_user/features/search/email/domain/state/refresh_changes_search_email_state.dart'; +import 'package:tmail_ui_user/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/model/search_more_state.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/model/simple_search_filter.dart'; +import 'package:tmail_ui_user/features/search/email/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/search_query.dart'; import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart'; diff --git a/lib/features/search/presentation/search_email_view.dart b/lib/features/search/email/presentation/search_email_view.dart similarity index 97% rename from lib/features/search/presentation/search_email_view.dart rename to lib/features/search/email/presentation/search_email_view.dart index f31c4d418..de2a643ba 100644 --- a/lib/features/search/presentation/search_email_view.dart +++ b/lib/features/search/email/presentation/search_email_view.dart @@ -18,13 +18,13 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/sear import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/email_quick_search_item_tile_widget.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/recent_search_item_tile_widget.dart'; -import 'package:tmail_ui_user/features/search/presentation/model/search_more_state.dart'; -import 'package:tmail_ui_user/features/search/presentation/model/simple_search_filter.dart'; -import 'package:tmail_ui_user/features/search/presentation/search_email_controller.dart'; -import 'package:tmail_ui_user/features/search/presentation/utils/search_email_utils.dart'; -import 'package:tmail_ui_user/features/search/presentation/widgets/app_bar_selection_mode.dart'; -import 'package:tmail_ui_user/features/search/presentation/widgets/email_receive_time_action_tile_widget.dart'; -import 'package:tmail_ui_user/features/search/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/model/search_more_state.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/model/simple_search_filter.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/search_email_controller.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/utils/search_email_utils.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/widgets/app_bar_selection_mode.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/widgets/email_receive_time_action_tile_widget.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart'; import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/search_more_email_state.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; diff --git a/lib/features/search/presentation/utils/search_email_utils.dart b/lib/features/search/email/presentation/utils/search_email_utils.dart similarity index 100% rename from lib/features/search/presentation/utils/search_email_utils.dart rename to lib/features/search/email/presentation/utils/search_email_utils.dart diff --git a/lib/features/search/presentation/widgets/app_bar_selection_mode.dart b/lib/features/search/email/presentation/widgets/app_bar_selection_mode.dart similarity index 100% rename from lib/features/search/presentation/widgets/app_bar_selection_mode.dart rename to lib/features/search/email/presentation/widgets/app_bar_selection_mode.dart diff --git a/lib/features/search/presentation/widgets/email_receive_time_action_tile_widget.dart b/lib/features/search/email/presentation/widgets/email_receive_time_action_tile_widget.dart similarity index 100% rename from lib/features/search/presentation/widgets/email_receive_time_action_tile_widget.dart rename to lib/features/search/email/presentation/widgets/email_receive_time_action_tile_widget.dart diff --git a/lib/features/search/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart b/lib/features/search/email/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart similarity index 92% rename from lib/features/search/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart rename to lib/features/search/email/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart index bd5f9204f..abbedcce6 100644 --- a/lib/features/search/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart +++ b/lib/features/search/email/presentation/widgets/email_receive_time_cupertino_action_sheet_action_builder.dart @@ -1,5 +1,6 @@ -import 'package:core/core.dart'; +import 'package:core/presentation/views/bottom_popup/cupertino_action_sheet_no_icon_builder.dart'; +import 'package:core/utils/build_utils.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index aad2da231..be4699f81 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -36,7 +36,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/das import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.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/search/email/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';