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