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: [
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)),
);
}
}
@@ -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,
);
}