diff --git a/core/lib/presentation/utils/responsive_utils.dart b/core/lib/presentation/utils/responsive_utils.dart index c4b42eeef..3dc4af19f 100644 --- a/core/lib/presentation/utils/responsive_utils.dart +++ b/core/lib/presentation/utils/responsive_utils.dart @@ -116,4 +116,12 @@ class ResponsiveUtils { isTablet(context); } } + + bool isMailboxDashboardSplitView(BuildContext context) { + if (BuildUtils.isWeb) { + return isTabletLarge(context); + } else { + return isLandscapeTablet(context) || isDesktop(context); + } + } } \ No newline at end of file diff --git a/core/lib/presentation/views/quick_search/quick_search_input_form.dart b/core/lib/presentation/views/quick_search/quick_search_input_form.dart index 5eeb498e0..528023022 100644 --- a/core/lib/presentation/views/quick_search/quick_search_input_form.dart +++ b/core/lib/presentation/views/quick_search/quick_search_input_form.dart @@ -1120,19 +1120,18 @@ class _SuggestionsListState extends State<_SuggestionsList> final loadingWidget = widget.loadingBuilder != null ? widget.loadingBuilder!(context) : Align( - alignment: Alignment.center, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0), - child: CircularProgressIndicator(), - ), - ); + alignment: Alignment.center, + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8.0), + child: CircularProgressIndicator(), + ), + ); - final listAction = Row( - mainAxisSize: MainAxisSize.min, + final listAction = Wrap( children: widget.listActionButton!.map((dynamic action) { if (widget.actionButtonBuilder != null) { return Padding( - padding: const EdgeInsets.only(right: 8), + padding: const EdgeInsets.only(right: 8, bottom: kIsWeb ? 8 : 0), child: InkWell( child: widget.actionButtonBuilder!(context, action), borderRadius: BorderRadius.all(Radius.circular(10)), @@ -1202,19 +1201,18 @@ class _SuggestionsListState extends State<_SuggestionsList> final loadingWidget = widget.loadingBuilder != null ? widget.loadingBuilder!(context) : Align( - alignment: Alignment.center, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0), - child: CircularProgressIndicator(), - ), - ); + alignment: Alignment.center, + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8.0), + child: CircularProgressIndicator(), + ), + ); - final listAction = Row( - mainAxisSize: MainAxisSize.min, + final listAction = Wrap( children: widget.listActionButton!.map((dynamic action) { if (widget.actionButtonBuilder != null) { return Padding( - padding: const EdgeInsets.only(right: 8), + padding: EdgeInsets.only(right: 8, bottom: kIsWeb ? 8 : 0), child: InkWell( child: widget.actionButtonBuilder!(context, action), borderRadius: BorderRadius.all(Radius.circular(10)), diff --git a/lib/features/email/presentation/email_view.dart b/lib/features/email/presentation/email_view.dart index bc36bdb02..a00c44aa8 100644 --- a/lib/features/email/presentation/email_view.dart +++ b/lib/features/email/presentation/email_view.dart @@ -37,7 +37,7 @@ class EmailView extends GetWidget with NetworkConnectionMixin { ? AppColor.colorBgDesktop : Colors.white, body: Row(children: [ - if (_isMailboxDashboardSplitView(context)) + if (responsiveUtils.isMailboxDashboardSplitView(context)) const VerticalDivider(color: AppColor.lineItemListColor, width: 1, thickness: 0.2), Expanded(child: SafeArea( right: responsiveUtils.isLandscapeMobile(context), @@ -79,15 +79,6 @@ class EmailView extends GetWidget with NetworkConnectionMixin { ); } - bool _isMailboxDashboardSplitView(BuildContext context) { - if (BuildUtils.isWeb) { - return responsiveUtils.isTabletLarge(context); - } else { - return responsiveUtils.isLandscapeTablet(context) - || responsiveUtils.isDesktop(context); - } - } - Widget _buildDivider({EdgeInsets? edgeInsets}){ return Padding( padding: edgeInsets ?? const EdgeInsets.symmetric(horizontal: 16), @@ -138,31 +129,34 @@ class EmailView extends GetWidget with NetworkConnectionMixin { } Widget _buildEmailBody(BuildContext context) { - return Container( - color: Colors.white, - margin: EdgeInsets.zero, - alignment: Alignment.topCenter, - child: Obx(() { - if (controller.currentEmail != null) { - if (kIsWeb) { - return _buildEmailMessage(context); + return GestureDetector( + onTap: () => FocusManager.instance.primaryFocus?.unfocus(), + child: Container( + color: Colors.white, + margin: EdgeInsets.zero, + alignment: Alignment.topCenter, + child: Obx(() { + if (controller.currentEmail != null) { + if (kIsWeb) { + return _buildEmailMessage(context); + } else { + return SingleChildScrollView( + physics : const ClampingScrollPhysics(), + child: Container( + margin: EdgeInsets.zero, + width: double.infinity, + alignment: Alignment.center, + padding: EdgeInsets.zero, + color: Colors.white, + child: _buildEmailMessage(context) + ) + ); + } } else { - return SingleChildScrollView( - physics : const ClampingScrollPhysics(), - child: Container( - margin: EdgeInsets.zero, - width: double.infinity, - alignment: Alignment.center, - padding: EdgeInsets.zero, - color: Colors.white, - child: _buildEmailMessage(context) - ) - ); + return Center(child: _buildEmailEmpty(context)); } - } else { - return Center(child: _buildEmailEmpty(context)); - } - }) + }) + ), ); } diff --git a/lib/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart b/lib/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart index 40ac399e6..015f30b8e 100644 --- a/lib/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart +++ b/lib/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart @@ -24,25 +24,26 @@ abstract class BaseMailboxDashBoardView extends GetWidget with AppLoaderMixin, } }, listActionPadding: const EdgeInsets.only( - left: 24, - top: 24, - right: 24, - bottom: 16), + left: 24, right: 24, top: 20, bottom: 12), titleHeaderRecent: Padding( padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 8), child: Text(AppLocalizations.of(context).recent, @@ -787,25 +784,26 @@ class ThreadView extends GetWidget with AppLoaderMixin, quickSearchFilter: filter, ); - return Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - color: filter.getBackgroundColor(quickSearchFilterSelected: quickSearchFilterSelected)), - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), - child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [ - SvgPicture.asset( - filter.getIcon(_imagePaths, quickSearchFilterSelected: quickSearchFilterSelected), - width: 16, - height: 16, - fit: BoxFit.fill), - const SizedBox(width: 4), - Text( - filter.getTitle(context), - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: filter.getTextStyle(quickSearchFilterSelected: quickSearchFilterSelected), - ) - ])); + return Chip( + labelPadding: const EdgeInsets.only(top: 2, bottom: 2, right: 10), + label: Text( + filter.getTitle(context), + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: filter.getTextStyle(quickSearchFilterSelected: quickSearchFilterSelected), + ), + avatar: SvgPicture.asset( + filter.getIcon(_imagePaths, quickSearchFilterSelected: quickSearchFilterSelected), + width: 16, + height: 16, + fit: BoxFit.fill), + labelStyle: filter.getTextStyle(quickSearchFilterSelected: quickSearchFilterSelected), + backgroundColor: filter.getBackgroundColor(quickSearchFilterSelected: quickSearchFilterSelected), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + side: BorderSide(color: filter.getBackgroundColor(quickSearchFilterSelected: quickSearchFilterSelected)), + ), + ); }); }