From f83e3a56fabf603fccb5f4142a68af73b9e6288b Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 22 Nov 2023 17:35:06 +0700 Subject: [PATCH] TF-2313 Apply scrollbar for search mailbox view Signed-off-by: dab246 (cherry picked from commit 9d6b663fe4a47f7358c13baf0f54498fef02f8c2) --- .../presentation/search_mailbox_controller.dart | 2 ++ .../mailbox/presentation/search_mailbox_view.dart | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/features/search/mailbox/presentation/search_mailbox_controller.dart b/lib/features/search/mailbox/presentation/search_mailbox_controller.dart index 2adefe0b0..275808a62 100644 --- a/lib/features/search/mailbox/presentation/search_mailbox_controller.dart +++ b/lib/features/search/mailbox/presentation/search_mailbox_controller.dart @@ -82,6 +82,7 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa final currentSearchQuery = RxString(''); final listMailboxSearched = RxList(); final textInputSearchController = TextEditingController(); + final scrollbarController = ScrollController(); late Debouncer _deBouncerTime; PresentationMailbox? get selectedMailbox => dashboardController.selectedMailbox.value; @@ -732,6 +733,7 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa void onClose() { textInputSearchController.dispose(); _deBouncerTime.cancel(); + scrollbarController.dispose(); super.onClose(); } } \ No newline at end of file diff --git a/lib/features/search/mailbox/presentation/search_mailbox_view.dart b/lib/features/search/mailbox/presentation/search_mailbox_view.dart index 967e7ff0c..ff83bc6b6 100644 --- a/lib/features/search/mailbox/presentation/search_mailbox_view.dart +++ b/lib/features/search/mailbox/presentation/search_mailbox_view.dart @@ -11,6 +11,7 @@ import 'package:get/get.dart'; import 'package:model/mailbox/presentation_mailbox.dart'; import 'package:pointer_interceptor/pointer_interceptor.dart'; import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart'; +import 'package:tmail_ui_user/features/base/widget/scrollbar_list_view.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/search_mailbox_state.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/model/context_item_mailbox_action.dart'; @@ -46,6 +47,7 @@ class SearchMailboxView extends GetWidget Widget _buildSearchBody(BuildContext context) { return Container( color: backgroundColor ?? Colors.white, + padding: const EdgeInsets.symmetric(horizontal: 4), child: Column(children: [ Container( color: Colors.transparent, @@ -55,7 +57,14 @@ class SearchMailboxView extends GetWidget if (!controller.responsiveUtils.isWebDesktop(context)) const Divider(color: AppColor.colorDividerComposer, height: 1), _buildLoadingView(), - Expanded(child: _buildMailboxListView(context)) + Expanded( + child: PlatformInfo.isMobile + ? _buildMailboxListView(context) + : ScrollbarListView( + scrollController: controller.scrollbarController, + child: _buildMailboxListView(context) + ) + ) ]), ); } @@ -170,6 +179,7 @@ class SearchMailboxView extends GetWidget padding: SearchMailboxUtils.getPaddingListViewMailboxSearched(context, controller.responsiveUtils), key: const Key('list_mailbox_searched'), itemCount: controller.listMailboxSearched.length, + controller: controller.scrollbarController, shrinkWrap: true, primary: false, itemBuilder: (context, index) {