TF-1358 Fix can not use advanced search in email view

This commit is contained in:
dab246
2022-12-28 16:22:19 +07:00
committed by Dat H. Pham
parent d9d0b71d35
commit f849766545
4 changed files with 44 additions and 32 deletions
@@ -2,6 +2,7 @@ import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_form.dart';
class AdvancedSearchFilterOverlay extends StatelessWidget {
@@ -17,31 +18,33 @@ class AdvancedSearchFilterOverlay extends StatelessWidget {
Widget build(BuildContext context) {
final responsiveUtils = Get.find<ResponsiveUtils>();
return GestureDetector(
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: Padding(
padding: const EdgeInsets.only(top: 4, bottom: 16),
child: Container(
constraints: BoxConstraints(
maxHeight: _getHeightOverlay(context, responsiveUtils),
),
width: maxWidth ?? 660,
padding: const EdgeInsets.all(32),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
boxShadow: const [
BoxShadow(
color: AppColor.colorShadowComposer,
blurRadius: 32,
offset: Offset.zero),
BoxShadow(
color: AppColor.colorDropShadow,
blurRadius: 4,
offset: Offset.zero),
]),
child: SingleChildScrollView(
child: AdvancedSearchInputForm(),
return PointerInterceptor(
child: GestureDetector(
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: Padding(
padding: const EdgeInsets.only(top: 4, bottom: 16),
child: Container(
constraints: BoxConstraints(
maxHeight: _getHeightOverlay(context, responsiveUtils),
),
width: maxWidth ?? 660,
padding: const EdgeInsets.all(32),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
boxShadow: const [
BoxShadow(
color: AppColor.colorShadowComposer,
blurRadius: 32,
offset: Offset.zero),
BoxShadow(
color: AppColor.colorDropShadow,
blurRadius: 4,
offset: Offset.zero),
]),
child: SingleChildScrollView(
child: AdvancedSearchInputForm(),
),
),
),
),
@@ -5,6 +5,7 @@ import 'package:flutter_portal/flutter_portal.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/email/presentation_email.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/mailbox_dashboard/domain/model/recent_search.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
@@ -34,9 +35,11 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
return PortalTarget(
visible: controller.isAdvancedSearchViewOpen.isTrue,
portalFollower: GestureDetector(
portalFollower: PointerInterceptor(
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () => controller.selectOpenAdvanceSearch()),
),
child: PortalTarget(
visible: controller.isAdvancedSearchViewOpen.isTrue,
anchor: const Aligned(