From 507828309b97e939d237c67b55e9071c76a9c456 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 16 Jun 2022 15:31:10 +0700 Subject: [PATCH] TF-602 Persist sizes item email when selection enabled on desktop --- .../thread/presentation/thread_view.dart | 22 +++++++++++-------- .../widgets/email_tile_web_builder.dart | 21 +++++++++++------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/lib/features/thread/presentation/thread_view.dart b/lib/features/thread/presentation/thread_view.dart index e0a37e1ae..c0044e33c 100644 --- a/lib/features/thread/presentation/thread_view.dart +++ b/lib/features/thread/presentation/thread_view.dart @@ -111,13 +111,17 @@ class ThreadView extends GetWidget with AppLoaderMixin, ? Border.all(color: AppColor.colorBorderBodyThread, width: 1) : null, color: Colors.white), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _buildLoadingView(), - Expanded(child: _buildListEmail(context)), - _buildLoadingViewLoadMore(), - ] + child: ClipRRect( + borderRadius: BorderRadius.all(Radius.circular( + BuildUtils.isWeb && _responsiveUtils.isDesktop(context) ? 20 : 0)), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildLoadingView(), + Expanded(child: _buildListEmail(context)), + _buildLoadingViewLoadMore(), + ] + ), ) )), _buildListButtonSelectionForMobile(context), @@ -464,7 +468,7 @@ class ThreadView extends GetWidget with AppLoaderMixin, Widget _buildListEmail(BuildContext context) { return Container( margin: BuildUtils.isWeb && _responsiveUtils.isDesktop(context) - ? EdgeInsets.symmetric(vertical: controller.isSelectionEnabled() ? 4 : 12, horizontal: 4) + ? const EdgeInsets.symmetric(horizontal: 4) : EdgeInsets.zero, alignment: Alignment.center, padding: EdgeInsets.zero, @@ -511,9 +515,9 @@ class ThreadView extends GetWidget with AppLoaderMixin, child: ListView.builder( controller: controller.listEmailController, physics: const AlwaysScrollableScrollPhysics(), + padding: EdgeInsets.zero, key: const PageStorageKey('list_presentation_email_in_threads'), itemCount: listPresentationEmail.length, - padding: EdgeInsets.only(top: BuildUtils.isWeb && !_responsiveUtils.isDesktop(context) ? 10 : 0), itemBuilder: (context, index) => Obx(() => (EmailTileBuilder( context, listPresentationEmail[index], diff --git a/lib/features/thread/presentation/widgets/email_tile_web_builder.dart b/lib/features/thread/presentation/widgets/email_tile_web_builder.dart index ae33a184a..fafd12c6e 100644 --- a/lib/features/thread/presentation/widgets/email_tile_web_builder.dart +++ b/lib/features/thread/presentation/widgets/email_tile_web_builder.dart @@ -85,10 +85,12 @@ class EmailTileBuilder { Widget _wrapContainerForTile(Widget tile) { if (_responsiveUtils.isDesktop(_context)) { return Container( - margin: _selectModeAll == SelectMode.ACTIVE ? const EdgeInsets.only(top: 3, left: 8, right: 8) : EdgeInsets.zero, - padding: _selectModeAll == SelectMode.ACTIVE ? const EdgeInsets.symmetric(vertical: 8) : EdgeInsets.zero, + margin: const EdgeInsets.only(top: 3), + padding: const EdgeInsets.symmetric(vertical: 8), decoration: _selectModeAll == SelectMode.ACTIVE && _presentationEmail.selectMode == SelectMode.ACTIVE - ? BoxDecoration(borderRadius: BorderRadius.circular(14), color: AppColor.colorItemEmailSelectedDesktop) + ? BoxDecoration( + borderRadius: BorderRadius.circular(14), + color: AppColor.colorItemEmailSelectedDesktop) : null, child: tile, ); @@ -331,7 +333,7 @@ class EmailTileBuilder { return InkWell( onTap: () => _emailActionClick?.call(EmailActionType.preview, _presentationEmail), onHover: (value) => _onHoverItemChanged(value, setState), - child: Column(children: [ + child: Stack(alignment: Alignment.bottomCenter, children: [ Row(children: [ Container( padding: const EdgeInsets.only(left: 16, right: 16), @@ -382,10 +384,13 @@ class EmailTileBuilder { else _buildDateTimeForDesktopScreen() ]), - if (_selectModeAll == SelectMode.INACTIVE) - const Padding( - padding: EdgeInsets.only(top: 7.5, bottom: 7.5, left: 80), - child: Divider(color: AppColor.lineItemListColor, height: 1, thickness: 0.2)), + if ( _selectModeAll == SelectMode.INACTIVE) + Transform( + transform: Matrix4.translationValues(0.0, 8.5, 0.0), + child: const Padding( + padding: EdgeInsets.only(left: 80), + child: Divider(color: AppColor.lineItemListColor, height: 1, thickness: 0.2)), + ) ]), ); });