TF-1149 remove drawer in emailView and SearchEmailView

This commit is contained in:
sherlock
2022-11-14 15:26:32 +07:00
committed by Dat H. Pham
parent 3d23f3fa2d
commit ebeeefb6fd
2 changed files with 84 additions and 70 deletions
@@ -20,31 +20,12 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
children: [ children: [
SizedBox( SizedBox(
width: ResponsiveUtils.defaultSizeLeftMenuMobile, width: ResponsiveUtils.defaultSizeLeftMenuMobile,
child: ThreadView()), child: _buildScaffoldHaveDrawer(body: ThreadView())),
Expanded(child: EmailView()), Expanded(child: EmailView()),
], ],
); );
return Scaffold( 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), drawerEnableOpenDragGesture: responsiveUtils.hasLeftMenuDrawerActive(context),
body: Stack(children: [ body: Stack(children: [
Obx(() { Obx(() {
@@ -61,7 +42,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
landscapeTablet: controller.searchController.isSearchEmailRunning landscapeTablet: controller.searchController.isSearchEmailRunning
? EmailView() ? EmailView()
: bodyLandscapeTablet, : bodyLandscapeTablet,
mobile: ThreadView()); mobile: _buildScaffoldHaveDrawer(body: ThreadView()));
case DashboardRoutes.emailDetailed: case DashboardRoutes.emailDetailed:
return ResponsiveWidget( return ResponsiveWidget(
responsiveUtils: responsiveUtils, responsiveUtils: responsiveUtils,
@@ -89,10 +70,35 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
landscapeTablet: controller.searchController.isSearchEmailRunning landscapeTablet: controller.searchController.isSearchEmailRunning
? EmailView() ? EmailView()
: bodyLandscapeTablet, : 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)),
);
}
} }
@@ -49,21 +49,12 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
}); });
} }
return Scaffold( return Portal(
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: [ child: Stack(children: [
ResponsiveWidget( ResponsiveWidget(
responsiveUtils: responsiveUtils, responsiveUtils: responsiveUtils,
desktop: Container( desktop: Scaffold(
body: Container(
color: AppColor.colorBgDesktop, color: AppColor.colorBgDesktop,
child: Column(children: [ child: Column(children: [
Row(children: [ Row(children: [
@@ -135,6 +126,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
)) ))
]), ]),
), ),
),
tabletLarge: Obx(() { tabletLarge: Obx(() {
switch(controller.dashboardRoute.value) { switch(controller.dashboardRoute.value) {
case DashboardRoutes.searchEmail: case DashboardRoutes.searchEmail:
@@ -142,7 +134,8 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
case DashboardRoutes.emailDetailed: case DashboardRoutes.emailDetailed:
return controller.searchController.isSearchEmailRunning return controller.searchController.isSearchEmailRunning
? EmailView() ? EmailView()
: Row( : _buildScaffoldHaveDrawer(
body: Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SizedBox( SizedBox(
@@ -150,9 +143,11 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
child: ThreadView()), child: ThreadView()),
Expanded(child: EmailView()), Expanded(child: EmailView()),
], ],
),
); );
default: default:
return Row( return _buildScaffoldHaveDrawer(
body: Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SizedBox( SizedBox(
@@ -160,19 +155,20 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
child: ThreadView()), child: ThreadView()),
Expanded(child: EmailView()), Expanded(child: EmailView()),
], ],
),
); );
} }
}), }),
mobile: Obx(() { mobile: Obx(() {
switch(controller.dashboardRoute.value) { switch(controller.dashboardRoute.value) {
case DashboardRoutes.thread: case DashboardRoutes.thread:
return ThreadView(); return _buildScaffoldHaveDrawer(body: ThreadView());
case DashboardRoutes.emailDetailed: case DashboardRoutes.emailDetailed:
return EmailView(); return EmailView();
case DashboardRoutes.searchEmail: case DashboardRoutes.searchEmail:
return SearchEmailView(); return SearchEmailView();
default: default:
return ThreadView(); return _buildScaffoldHaveDrawer(body: ThreadView());
} }
}), }),
), ),
@@ -181,7 +177,19 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
: const SizedBox.shrink()), : const SizedBox.shrink()),
_buildDownloadTaskStateWidget(), _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,
); );
} }