From 04b3b49c2345b569117ef3c7414c114e7bcc0fe8 Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 17 Aug 2022 21:19:48 +0700 Subject: [PATCH] TF-801 Fix overflow pixel list rule filter view --- .../email_rules/email_rules_view.dart | 27 +++++++------ .../widgets/list_email_rules_widget.dart | 39 +++++++++++-------- 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/lib/features/manage_account/presentation/email_rules/email_rules_view.dart b/lib/features/manage_account/presentation/email_rules/email_rules_view.dart index a246ab374..040ba4af8 100644 --- a/lib/features/manage_account/presentation/email_rules/email_rules_view.dart +++ b/lib/features/manage_account/presentation/email_rules/email_rules_view.dart @@ -21,18 +21,21 @@ class EmailRulesView extends GetWidget with AppLoaderMixin body: Container( width: double.infinity, margin: _getMarginView(context), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - EmailRulesHeaderWidget( - imagePaths: _imagePaths, - responsiveUtils: _responsiveUtils, - createRule: () => controller.goToCreateNewRule(), - ), - SizedBox(height: _responsiveUtils.isWebDesktop(context) ? 24 : 16), - _buildLoadingView(), - const Expanded(child: ListEmailRulesWidget()) - ], + child: SingleChildScrollView( + physics: const ClampingScrollPhysics(), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + EmailRulesHeaderWidget( + imagePaths: _imagePaths, + responsiveUtils: _responsiveUtils, + createRule: () => controller.goToCreateNewRule(), + ), + SizedBox(height: _responsiveUtils.isWebDesktop(context) ? 24 : 16), + _buildLoadingView(), + const ListEmailRulesWidget() + ], + ), ), ), ); diff --git a/lib/features/manage_account/presentation/email_rules/widgets/list_email_rules_widget.dart b/lib/features/manage_account/presentation/email_rules/widgets/list_email_rules_widget.dart index 02929f8ae..5db67b371 100644 --- a/lib/features/manage_account/presentation/email_rules/widgets/list_email_rules_widget.dart +++ b/lib/features/manage_account/presentation/email_rules/widgets/list_email_rules_widget.dart @@ -50,26 +50,31 @@ class ListEmailRulesWidget extends GetWidget { height: 1, thickness: 0.2, ), - Expanded( - child: Obx(() { - log('ListEmailRulesWidget::build(): ${controller.listEmailRule}'); - return ListView.separated( - shrinkWrap: true, - itemCount: controller.listEmailRule.length, - itemBuilder: (context, index) { - final ruleWithId = controller.listEmailRule[index] - .copyWith(id: RuleId(id: Id(index.toString()))); - log('ListEmailRulesWidget::build(): $ruleWithId'); - return EmailRulesItemWidget(rule: ruleWithId); - }, - separatorBuilder: (context, index) => const Divider( + Obx(() { + log('ListEmailRulesWidget::build(): ${controller.listEmailRule}'); + return ListView.separated( + shrinkWrap: true, + itemCount: controller.listEmailRule.length, + primary: false, + itemBuilder: (context, index) { + final ruleWithId = controller.listEmailRule[index] + .copyWith(id: RuleId(id: Id(index.toString()))); + log('ListEmailRulesWidget::build(): $ruleWithId'); + return EmailRulesItemWidget(rule: ruleWithId); + }, + separatorBuilder: (context, index) { + if (controller.listEmailRule.isNotEmpty) { + return const Divider( color: AppColor.lineItemListColor, height: 1, thickness: 0.2, - ), - ); - }), - ), + ); + } else { + return const SizedBox.shrink(); + } + }, + ); + }), ]), ), );