TF-599 Apply new icon mailbox for destination picker

This commit is contained in:
dab246
2022-05-31 18:29:51 +07:00
committed by Dat H. Pham
parent 30f3fc952d
commit 54203b234b
6 changed files with 101 additions and 63 deletions
@@ -96,19 +96,19 @@ class MailBoxFolderTileBuilder {
} else {
return InkWell(
onTap: () => _onOpenMailboxFolderClick?.call(_mailboxNode),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: backgroundColorItem),
padding: const EdgeInsets.only(left: 4, right: 4, top: 8, bottom: 8),
margin: const EdgeInsets.only(bottom: 4),
child: Row(children: [
_buildLeadingMailboxItem(),
const SizedBox(width: 4),
Expanded(child: _buildTitleFolderItem()),
const SizedBox(width: 8),
_buildTrailingMailboxItem()
])
child: ClipRRect(
borderRadius: const BorderRadius.all(Radius.circular(14)),
child: Container(
color: Colors.white,
padding: const EdgeInsets.only(left: 16, top: 8, bottom: 8),
child: Row(children: [
_buildLeadingMailboxItem(),
const SizedBox(width: 8),
Expanded(child: _buildTitleFolderItem()),
const SizedBox(width: 8),
_buildTrailingMailboxItem()
])
),
),
);
}
@@ -147,30 +147,34 @@ class MailBoxFolderTileBuilder {
Widget _buildLeadingMailboxItem() {
if (BuildUtils.isWeb) {
return Row(mainAxisSize: MainAxisSize.min, children: [
if (_mailboxNode.hasChildren())
buildIconWeb(
icon: SvgPicture.asset(
_mailboxNode.expandMode == ExpandMode.EXPAND
? _imagePaths.icExpandFolder
: _imagePaths.icCollapseFolder,
color: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppColor.colorExpandMailbox
: AppColor.colorCollapseMailbox,
fit: BoxFit.fill),
minSize: 12,
splashRadius: 10,
iconPadding: EdgeInsets.zero,
tooltip: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppLocalizations.of(_context).collapse
: AppLocalizations.of(_context).expand,
onTap: () => _onExpandFolderActionClick?.call(_mailboxNode))
else
const SizedBox(width: 24),
Transform(
transform: Matrix4.translationValues(-4.0, 0.0, 0.0),
child: _buildLeadingIcon())
]);
if (mailboxDisplayed == MailboxDisplayed.mailbox) {
return Row(mainAxisSize: MainAxisSize.min, children: [
if (_mailboxNode.hasChildren())
buildIconWeb(
icon: SvgPicture.asset(
_mailboxNode.expandMode == ExpandMode.EXPAND
? _imagePaths.icExpandFolder
: _imagePaths.icCollapseFolder,
color: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppColor.colorExpandMailbox
: AppColor.colorCollapseMailbox,
fit: BoxFit.fill),
minSize: 12,
splashRadius: 10,
iconPadding: EdgeInsets.zero,
tooltip: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppLocalizations.of(_context).collapse
: AppLocalizations.of(_context).expand,
onTap: () => _onExpandFolderActionClick?.call(_mailboxNode))
else
const SizedBox(width: 24),
Transform(
transform: Matrix4.translationValues(-4.0, 0.0, 0.0),
child: _buildLeadingIcon())
]);
} else {
return _buildLeadingIcon();
}
} else {
return _buildLeadingIcon();
}
@@ -186,6 +190,25 @@ class MailBoxFolderTileBuilder {
padding: const EdgeInsets.only(right: 10),
child: _buildCounter(),
);
} else if (_mailboxNode.hasChildren()
&& mailboxDisplayed == MailboxDisplayed.destinationPicker) {
return buildIconWeb(
icon: SvgPicture.asset(
_mailboxNode.expandMode == ExpandMode.EXPAND
? _imagePaths.icExpandFolder
: _imagePaths.icCollapseFolder,
color: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppColor.colorExpandMailbox
: AppColor.colorCollapseMailbox,
fit: BoxFit.fill),
splashRadius: 10,
iconPadding: EdgeInsets.zero,
minSize: 30,
tooltip: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppLocalizations.of(_context).collapse
: AppLocalizations.of(_context).expand,
onTap: () => _onExpandFolderActionClick?.call(_mailboxNode)
);
} else {
return const SizedBox(width: 20);
}
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/mailbox/domain/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_displayed.dart';
typedef OnOpenMailboxActionClick = void Function(PresentationMailbox);
typedef OnSelectMailboxActionClick = void Function(PresentationMailbox);
@@ -16,6 +17,7 @@ class MailboxSearchTileBuilder {
final ImagePaths _imagePaths;
final ResponsiveUtils _responsiveUtils;
final BuildContext _context;
final MailboxDisplayed mailboxDisplayed;
bool isHoverItem = false;
@@ -31,6 +33,7 @@ class MailboxSearchTileBuilder {
{
this.allSelectMode = SelectMode.INACTIVE,
this.lastMailbox,
this.mailboxDisplayed = MailboxDisplayed.mailbox,
}
);
@@ -159,7 +162,7 @@ class MailboxSearchTileBuilder {
}
Widget? _buildMenuIcon() {
if (isHoverItem) {
if (isHoverItem && mailboxDisplayed == MailboxDisplayed.mailbox) {
return Padding(
padding: const EdgeInsets.only(right: 8),
child: InkWell(
@@ -188,9 +191,13 @@ class MailboxSearchTileBuilder {
if (isHoverItem) {
return AppColor.colorBgMailboxSelected;
} else {
return _responsiveUtils.isDesktop(_context)
? AppColor.colorBgDesktop
: Colors.white;
if (mailboxDisplayed == MailboxDisplayed.mailbox) {
return _responsiveUtils.isDesktop(_context)
? AppColor.colorBgDesktop
: Colors.white;
} else {
return Colors.white;
}
}
}
}