diff --git a/core/lib/presentation/utils/responsive_utils.dart b/core/lib/presentation/utils/responsive_utils.dart index 37ff0c054..07da77c2e 100644 --- a/core/lib/presentation/utils/responsive_utils.dart +++ b/core/lib/presentation/utils/responsive_utils.dart @@ -6,6 +6,7 @@ class ResponsiveUtils { static const double defaultSizeLeftMenuMobile = 375; static const double defaultSizeDrawer = 320; + static const double defaultSizeMenu = 256; final int heightShortest = 600; @@ -13,8 +14,6 @@ class ResponsiveUtils { final int minTabletWidth = 600; final int minTabletLargeWidth = 900; - final double defaultSizeMenu = 256; - final double _loginTextFieldWidthSmallScreen = 280.0; final double _loginTextFieldWidthLargeScreen = 320.0; final double _loginButtonWidth = 240.0; diff --git a/lib/features/mailbox/presentation/mailbox_view_web.dart b/lib/features/mailbox/presentation/mailbox_view_web.dart index 63721a8d6..0ac740775 100644 --- a/lib/features/mailbox/presentation/mailbox_view_web.dart +++ b/lib/features/mailbox/presentation/mailbox_view_web.dart @@ -6,7 +6,6 @@ import 'package:model/model.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart'; import 'package:tmail_ui_user/features/base/mixin/popup_menu_widget_mixin.dart'; -import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/model/context_item_mailbox_action.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart'; @@ -49,8 +48,6 @@ class MailboxView extends GetWidget with AppLoaderMixin, Popu ? AppColor.colorBgDesktop : Colors.white, child: Column(children: [ - if (_responsiveUtils.isDesktop(context)) - _buildComposerButton(context), Obx(() => controller.isSearchActive() ? _buildInputSearchFormWidget(context) : const SizedBox.shrink()), @@ -60,8 +57,6 @@ class MailboxView extends GetWidget with AppLoaderMixin, Popu ? AppColor.colorBgDesktop : Colors.white, padding: EdgeInsets.zero, - margin: EdgeInsets.only( - top: _responsiveUtils.isDesktop(context) ? 16 : 0), child: RefreshIndicator( color: AppColor.primaryColor, onRefresh: () async => controller.refreshAllMailbox(), @@ -105,34 +100,6 @@ class MailboxView extends GetWidget with AppLoaderMixin, Popu ); } - Widget _buildComposerButton(BuildContext context) { - return Container( - padding: const EdgeInsets.only(top: 16, right: 16), - color: AppColor.colorBgDesktop, - alignment: Alignment.centerLeft, - child: (ButtonBuilder(_imagePaths.icComposeWeb) - ..key(const Key('button_compose_email')) - ..decoration(BoxDecoration( - borderRadius: BorderRadius.circular(10), - color: AppColor.colorTextButton, - boxShadow: const [ - BoxShadow( - blurRadius: 12.0, - color: AppColor.colorShadowComposerButton - ) - ])) - ..paddingIcon(const EdgeInsets.only(right: 8)) - ..iconColor(Colors.white) - ..size(16) - ..radiusSplash(10) - ..padding(const EdgeInsets.symmetric(vertical: 8)) - ..textStyle(const TextStyle(fontSize: 15, color: Colors.white, fontWeight: FontWeight.w500)) - ..onPressActionClick(() => controller.mailboxDashBoardController.goToComposer(ComposerArguments())) - ..text(AppLocalizations.of(context).compose, isVertical: false)) - .build()); - } - - Widget _buildLoadingView() { return Obx(() => controller.viewState.value.fold( (failure) => const SizedBox.shrink(), 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 d5f15e69d..c01c95c6b 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart @@ -6,6 +6,7 @@ import 'package:get/get.dart'; import 'package:pointer_interceptor/pointer_interceptor.dart'; import 'package:tmail_ui_user/features/composer/presentation/composer_view_web.dart'; import 'package:tmail_ui_user/features/email/presentation/email_view.dart'; +import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view_web.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart'; @@ -63,7 +64,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { child: Column(children: [ Row(children: [ Container( - width: responsiveUtils.defaultSizeMenu, + width: ResponsiveUtils.defaultSizeMenu, color: Colors.white, padding: const EdgeInsets.only(left: 28), alignment: Alignment.center, @@ -103,32 +104,35 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { height: 80, child: _buildRightHeader(context))) ]), - Expanded(child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox(child: MailboxView(), width: responsiveUtils.defaultSizeMenu), - Expanded(child: Column(children: [ - const SpamReportBannerWebWidget(), - _buildEmptyTrashButton(context), - const QuotasWarningBannerWidget( - margin: EdgeInsets.only(right: 16, top: 8), - ), - _buildVacationNotificationMessage(context), - _buildListButtonQuickSearchFilter(context), - _buildMarkAsMailboxReadLoading(context), - Expanded(child: Obx(() { - switch(controller.dashboardRoute.value) { - case DashboardRoutes.thread: - return _buildThreadViewForWebDesktop(context); - case DashboardRoutes.emailDetailed: - return EmailView(); - default: - return const SizedBox.shrink(); - } - })) - ])) - ], - )) + Expanded(child: Row(children: [ + Column(children: [ + _buildComposerButton(context), + Expanded(child: SizedBox( + child: MailboxView(), + width: ResponsiveUtils.defaultSizeMenu + )) + ]), + Expanded(child: Column(children: [ + const SpamReportBannerWebWidget(), + _buildEmptyTrashButton(context), + const QuotasWarningBannerWidget( + margin: EdgeInsets.only(right: 16, top: 8), + ), + _buildVacationNotificationMessage(context), + _buildListButtonQuickSearchFilter(context), + _buildMarkAsMailboxReadLoading(context), + Expanded(child: Obx(() { + switch(controller.dashboardRoute.value) { + case DashboardRoutes.thread: + return _buildThreadViewForWebDesktop(context); + case DashboardRoutes.emailDetailed: + return EmailView(); + default: + return const SizedBox.shrink(); + } + })) + ])) + ])) ]), ), ), @@ -700,4 +704,37 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { } }); } + + Widget _buildComposerButton(BuildContext context) { + return Container( + padding: const EdgeInsets.all(16), + color: Colors.transparent, + width: ResponsiveUtils.defaultSizeMenu, + alignment: Alignment.centerLeft, + child: (ButtonBuilder(imagePaths.icComposeWeb) + ..key(const Key('button_compose_email')) + ..decoration(BoxDecoration( + borderRadius: BorderRadius.circular(10), + color: AppColor.colorTextButton, + boxShadow: const [ + BoxShadow( + blurRadius: 12.0, + color: AppColor.colorShadowComposerButton + ) + ])) + ..paddingIcon(const EdgeInsets.only(right: 8)) + ..iconColor(Colors.white) + ..size(24) + ..radiusSplash(10) + ..padding(const EdgeInsets.symmetric(vertical: 8)) + ..textStyle(const TextStyle( + fontSize: 15, + color: Colors.white, + fontWeight: FontWeight.w500 + )) + ..onPressActionClick(() => controller.goToComposer(ComposerArguments())) + ..text(AppLocalizations.of(context).compose, isVertical: false) + ).build() + ); + } } \ No newline at end of file diff --git a/lib/features/manage_account/presentation/manage_account_dashboard_view.dart b/lib/features/manage_account/presentation/manage_account_dashboard_view.dart index c29cbebaf..3f8b66810 100644 --- a/lib/features/manage_account/presentation/manage_account_dashboard_view.dart +++ b/lib/features/manage_account/presentation/manage_account_dashboard_view.dart @@ -81,7 +81,7 @@ class ManageAccountDashBoardView extends GetWidget