From ebeeefb6fddb7d65a5b938c8e8a09dcefc76e156 Mon Sep 17 00:00:00 2001 From: sherlock Date: Mon, 14 Nov 2022 15:26:32 +0700 Subject: [PATCH] TF-1149 remove drawer in emailView and SearchEmailView --- .../presentation/mailbox_dashboard_view.dart | 50 +++++---- .../mailbox_dashboard_view_web.dart | 104 ++++++++++-------- 2 files changed, 84 insertions(+), 70 deletions(-) diff --git a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart index 3104599bd..b22d4fde9 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart @@ -20,31 +20,12 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { children: [ SizedBox( width: ResponsiveUtils.defaultSizeLeftMenuMobile, - child: ThreadView()), + child: _buildScaffoldHaveDrawer(body: ThreadView())), Expanded(child: EmailView()), ], ); return Scaffold( - key: controller.scaffoldKey, - drawer: ResponsiveWidget( - responsiveUtils: responsiveUtils, - mobile: SizedBox(child: MailboxView(), width: double.infinity), - landscapeMobile: SizedBox( - child: MailboxView(), - width: ResponsiveUtils.defaultSizeDrawer), - tablet: SizedBox( - child: MailboxView(), - width: ResponsiveUtils.defaultSizeDrawer), - landscapeTablet: SizedBox( - child: MailboxView(), - width: ResponsiveUtils.defaultSizeLeftMenuMobile), - tabletLarge: SizedBox( - child: MailboxView(), - width: ResponsiveUtils.defaultSizeLeftMenuMobile), - desktop: SizedBox( - child: MailboxView(), - width: ResponsiveUtils.defaultSizeLeftMenuMobile)), drawerEnableOpenDragGesture: responsiveUtils.hasLeftMenuDrawerActive(context), body: Stack(children: [ Obx(() { @@ -61,7 +42,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { landscapeTablet: controller.searchController.isSearchEmailRunning ? EmailView() : bodyLandscapeTablet, - mobile: ThreadView()); + mobile: _buildScaffoldHaveDrawer(body: ThreadView())); case DashboardRoutes.emailDetailed: return ResponsiveWidget( responsiveUtils: responsiveUtils, @@ -89,10 +70,35 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { landscapeTablet: controller.searchController.isSearchEmailRunning ? EmailView() : bodyLandscapeTablet, - mobile: ThreadView()); + mobile: _buildScaffoldHaveDrawer(body: ThreadView())); } }), ]), ); } + + _buildScaffoldHaveDrawer({required Widget body}) { + return Scaffold( + key: controller.scaffoldKey, + body: body, + drawer: ResponsiveWidget( + responsiveUtils: responsiveUtils, + mobile: SizedBox(child: MailboxView(), width: double.infinity), + landscapeMobile: SizedBox( + child: MailboxView(), + width: ResponsiveUtils.defaultSizeDrawer), + tablet: SizedBox( + child: MailboxView(), + width: ResponsiveUtils.defaultSizeDrawer), + landscapeTablet: SizedBox( + child: MailboxView(), + width: ResponsiveUtils.defaultSizeLeftMenuMobile), + tabletLarge: SizedBox( + child: MailboxView(), + width: ResponsiveUtils.defaultSizeLeftMenuMobile), + desktop: SizedBox( + child: MailboxView(), + width: ResponsiveUtils.defaultSizeLeftMenuMobile)), + ); + } } \ No newline at end of file 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 30284cb6a..c82501dba 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart @@ -49,21 +49,12 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { }); } - return Scaffold( - key: controller.scaffoldKey, - backgroundColor: Colors.white, - drawer: ResponsiveWidget( - responsiveUtils: responsiveUtils, - mobile: SizedBox(child: MailboxView(), width: ResponsiveUtils.defaultSizeDrawer), - tablet: SizedBox(child: MailboxView(), width: ResponsiveUtils.defaultSizeDrawer), - tabletLarge: SizedBox(child: MailboxView(), width: ResponsiveUtils.defaultSizeLeftMenuMobile), - desktop: const SizedBox.shrink()), - drawerEnableOpenDragGesture: !responsiveUtils.isDesktop(context), - body: Portal( - child: Stack(children: [ - ResponsiveWidget( - responsiveUtils: responsiveUtils, - desktop: Container( + return Portal( + child: Stack(children: [ + ResponsiveWidget( + responsiveUtils: responsiveUtils, + desktop: Scaffold( + body: Container( color: AppColor.colorBgDesktop, child: Column(children: [ Row(children: [ @@ -135,14 +126,16 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { )) ]), ), - tabletLarge: Obx(() { - switch(controller.dashboardRoute.value) { - case DashboardRoutes.searchEmail: - return SearchEmailView(); - case DashboardRoutes.emailDetailed: - return controller.searchController.isSearchEmailRunning - ? EmailView() - : Row( + ), + tabletLarge: Obx(() { + switch(controller.dashboardRoute.value) { + case DashboardRoutes.searchEmail: + return SearchEmailView(); + case DashboardRoutes.emailDetailed: + return controller.searchController.isSearchEmailRunning + ? EmailView() + : _buildScaffoldHaveDrawer( + body: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( @@ -150,9 +143,11 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { child: ThreadView()), Expanded(child: EmailView()), ], - ); - default: - return Row( + ), + ); + default: + return _buildScaffoldHaveDrawer( + body: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( @@ -160,28 +155,41 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { child: ThreadView()), Expanded(child: EmailView()), ], - ); - } - }), - mobile: Obx(() { - switch(controller.dashboardRoute.value) { - case DashboardRoutes.thread: - return ThreadView(); - case DashboardRoutes.emailDetailed: - return EmailView(); - case DashboardRoutes.searchEmail: - return SearchEmailView(); - default: - return ThreadView(); - } - }), - ), - Obx(() => controller.composerOverlayState.value == ComposerOverlayState.active - ? ComposerView() - : const SizedBox.shrink()), - _buildDownloadTaskStateWidget(), - ]), - ), + ), + ); + } + }), + mobile: Obx(() { + switch(controller.dashboardRoute.value) { + case DashboardRoutes.thread: + return _buildScaffoldHaveDrawer(body: ThreadView()); + case DashboardRoutes.emailDetailed: + return EmailView(); + case DashboardRoutes.searchEmail: + return SearchEmailView(); + default: + return _buildScaffoldHaveDrawer(body: ThreadView()); + } + }), + ), + Obx(() => controller.composerOverlayState.value == ComposerOverlayState.active + ? ComposerView() + : const SizedBox.shrink()), + _buildDownloadTaskStateWidget(), + ]), + ); + } + + Widget _buildScaffoldHaveDrawer({required Widget body}) { + return Scaffold( + key: controller.scaffoldKey, + drawer: ResponsiveWidget( + responsiveUtils: responsiveUtils, + mobile: SizedBox(child: MailboxView(), width: ResponsiveUtils.defaultSizeDrawer), + tablet: SizedBox(child: MailboxView(), width: ResponsiveUtils.defaultSizeDrawer), + tabletLarge: SizedBox(child: MailboxView(), width: ResponsiveUtils.defaultSizeLeftMenuMobile), + desktop: const SizedBox.shrink()), + body: body, ); }