TF-602 Persist sizes item email when selection enabled on desktop

This commit is contained in:
dab246
2022-06-16 15:31:10 +07:00
committed by Dat H. Pham
parent 423657e120
commit 507828309b
2 changed files with 26 additions and 17 deletions
@@ -111,13 +111,17 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
? Border.all(color: AppColor.colorBorderBodyThread, width: 1) ? Border.all(color: AppColor.colorBorderBodyThread, width: 1)
: null, : null,
color: Colors.white), color: Colors.white),
child: Column( child: ClipRRect(
crossAxisAlignment: CrossAxisAlignment.start, borderRadius: BorderRadius.all(Radius.circular(
children: [ BuildUtils.isWeb && _responsiveUtils.isDesktop(context) ? 20 : 0)),
_buildLoadingView(), child: Column(
Expanded(child: _buildListEmail(context)), crossAxisAlignment: CrossAxisAlignment.start,
_buildLoadingViewLoadMore(), children: [
] _buildLoadingView(),
Expanded(child: _buildListEmail(context)),
_buildLoadingViewLoadMore(),
]
),
) )
)), )),
_buildListButtonSelectionForMobile(context), _buildListButtonSelectionForMobile(context),
@@ -464,7 +468,7 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
Widget _buildListEmail(BuildContext context) { Widget _buildListEmail(BuildContext context) {
return Container( return Container(
margin: BuildUtils.isWeb && _responsiveUtils.isDesktop(context) margin: BuildUtils.isWeb && _responsiveUtils.isDesktop(context)
? EdgeInsets.symmetric(vertical: controller.isSelectionEnabled() ? 4 : 12, horizontal: 4) ? const EdgeInsets.symmetric(horizontal: 4)
: EdgeInsets.zero, : EdgeInsets.zero,
alignment: Alignment.center, alignment: Alignment.center,
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
@@ -511,9 +515,9 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
child: ListView.builder( child: ListView.builder(
controller: controller.listEmailController, controller: controller.listEmailController,
physics: const AlwaysScrollableScrollPhysics(), physics: const AlwaysScrollableScrollPhysics(),
padding: EdgeInsets.zero,
key: const PageStorageKey('list_presentation_email_in_threads'), key: const PageStorageKey('list_presentation_email_in_threads'),
itemCount: listPresentationEmail.length, itemCount: listPresentationEmail.length,
padding: EdgeInsets.only(top: BuildUtils.isWeb && !_responsiveUtils.isDesktop(context) ? 10 : 0),
itemBuilder: (context, index) => Obx(() => (EmailTileBuilder( itemBuilder: (context, index) => Obx(() => (EmailTileBuilder(
context, context,
listPresentationEmail[index], listPresentationEmail[index],
@@ -85,10 +85,12 @@ class EmailTileBuilder {
Widget _wrapContainerForTile(Widget tile) { Widget _wrapContainerForTile(Widget tile) {
if (_responsiveUtils.isDesktop(_context)) { if (_responsiveUtils.isDesktop(_context)) {
return Container( return Container(
margin: _selectModeAll == SelectMode.ACTIVE ? const EdgeInsets.only(top: 3, left: 8, right: 8) : EdgeInsets.zero, margin: const EdgeInsets.only(top: 3),
padding: _selectModeAll == SelectMode.ACTIVE ? const EdgeInsets.symmetric(vertical: 8) : EdgeInsets.zero, padding: const EdgeInsets.symmetric(vertical: 8),
decoration: _selectModeAll == SelectMode.ACTIVE && _presentationEmail.selectMode == SelectMode.ACTIVE 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, : null,
child: tile, child: tile,
); );
@@ -331,7 +333,7 @@ class EmailTileBuilder {
return InkWell( return InkWell(
onTap: () => _emailActionClick?.call(EmailActionType.preview, _presentationEmail), onTap: () => _emailActionClick?.call(EmailActionType.preview, _presentationEmail),
onHover: (value) => _onHoverItemChanged(value, setState), onHover: (value) => _onHoverItemChanged(value, setState),
child: Column(children: [ child: Stack(alignment: Alignment.bottomCenter, children: [
Row(children: [ Row(children: [
Container( Container(
padding: const EdgeInsets.only(left: 16, right: 16), padding: const EdgeInsets.only(left: 16, right: 16),
@@ -382,10 +384,13 @@ class EmailTileBuilder {
else else
_buildDateTimeForDesktopScreen() _buildDateTimeForDesktopScreen()
]), ]),
if (_selectModeAll == SelectMode.INACTIVE) if ( _selectModeAll == SelectMode.INACTIVE)
const Padding( Transform(
padding: EdgeInsets.only(top: 7.5, bottom: 7.5, left: 80), transform: Matrix4.translationValues(0.0, 8.5, 0.0),
child: Divider(color: AppColor.lineItemListColor, height: 1, thickness: 0.2)), child: const Padding(
padding: EdgeInsets.only(left: 80),
child: Divider(color: AppColor.lineItemListColor, height: 1, thickness: 0.2)),
)
]), ]),
); );
}); });