TF-3410 Update color and icon size of mailbox view
This commit is contained in:
@@ -103,7 +103,7 @@ extension AppColor on Color {
|
|||||||
static const colorTextSettingDescriptions = colorTextButtonHeaderThread;
|
static const colorTextSettingDescriptions = colorTextButtonHeaderThread;
|
||||||
static const colorButtonHeaderThread = Color(0x99EBEDF0);
|
static const colorButtonHeaderThread = Color(0x99EBEDF0);
|
||||||
static const colorBorderBodyThread = Color(0x5CB8C1CC);
|
static const colorBorderBodyThread = Color(0x5CB8C1CC);
|
||||||
static const colorBgDesktop = Color(0xFFF6F6F6);
|
static const colorBgDesktop = Color(0xFFF3F6F9);
|
||||||
static const colorItemEmailSelectedDesktop = Color(0xFFDFEEFF);
|
static const colorItemEmailSelectedDesktop = Color(0xFFDFEEFF);
|
||||||
static const colorAvatar = Color(0xFFDE5E5E);
|
static const colorAvatar = Color(0xFFDE5E5E);
|
||||||
static const colorFocusButton = Color(0x14818C99);
|
static const colorFocusButton = Color(0x14818C99);
|
||||||
@@ -242,6 +242,8 @@ extension AppColor on Color {
|
|||||||
static const steelGray200 = Color(0xFFAEB7C2);
|
static const steelGray200 = Color(0xFFAEB7C2);
|
||||||
static const blue700 = Color(0xFF208BFF);
|
static const blue700 = Color(0xFF208BFF);
|
||||||
static const steelGray400 = Color(0xFF818C99);
|
static const steelGray400 = Color(0xFF818C99);
|
||||||
|
static const blue700 = Color(0xFF208BFF);
|
||||||
|
static const blue100 = Color(0xFFDFEEFF);
|
||||||
|
|
||||||
static const mapGradientColor = [
|
static const mapGradientColor = [
|
||||||
[Color(0xFF21D4FD), Color(0xFFB721FF)],
|
[Color(0xFF21D4FD), Color(0xFFB721FF)],
|
||||||
|
|||||||
@@ -660,7 +660,7 @@ class _TypeAheadFieldQuickSearchState<T, P, R>
|
|||||||
)
|
)
|
||||||
: const BoxDecoration(
|
: const BoxDecoration(
|
||||||
borderRadius: BorderRadius.all(Radius.circular(12)),
|
borderRadius: BorderRadius.all(Radius.circular(12)),
|
||||||
color: AppColor.colorBgSearchBar,
|
color: AppColor.colorBgDesktop,
|
||||||
),
|
),
|
||||||
height: widget.maxHeight,
|
height: widget.maxHeight,
|
||||||
child: Row(
|
child: Row(
|
||||||
|
|||||||
@@ -476,7 +476,7 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
|||||||
MailboxId? mailboxIdSelected
|
MailboxId? mailboxIdSelected
|
||||||
) {
|
) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 24),
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
child: Material(
|
child: Material(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
@@ -491,26 +491,30 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
|||||||
customBorder: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8))),
|
customBorder: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8))),
|
||||||
hoverColor: AppColor.colorMailboxHovered,
|
hoverColor: AppColor.colorMailboxHovered,
|
||||||
child: Obx(() => Container(
|
child: Obx(() => Container(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 28, vertical: 8),
|
padding: const EdgeInsetsDirectional.symmetric(
|
||||||
|
horizontal: 8,
|
||||||
|
vertical: 10,
|
||||||
|
),
|
||||||
color: controller.mailboxDestination.value == PresentationMailbox.unifiedMailbox
|
color: controller.mailboxDestination.value == PresentationMailbox.unifiedMailbox
|
||||||
? AppColor.colorItemSelected
|
? AppColor.colorItemSelected
|
||||||
: Colors.transparent,
|
: Colors.transparent,
|
||||||
child: Row(children: [
|
child: Row(children: [
|
||||||
|
const SizedBox(width: 26),
|
||||||
SvgPicture.asset(
|
SvgPicture.asset(
|
||||||
controller.imagePaths.icFolderMailbox,
|
controller.imagePaths.icFolderMailbox,
|
||||||
width: PlatformInfo.isWeb ? 24 : 20,
|
width: 20,
|
||||||
height: PlatformInfo.isWeb ? 24 : 20,
|
height: 20,
|
||||||
fit: BoxFit.fill
|
fit: BoxFit.fill
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 10),
|
||||||
Expanded(child: Text(
|
Expanded(child: Text(
|
||||||
AppLocalizations.of(context).allFolders,
|
AppLocalizations.of(context).allFolders,
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
softWrap: CommonTextStyle.defaultSoftWrap,
|
softWrap: CommonTextStyle.defaultSoftWrap,
|
||||||
overflow: CommonTextStyle.defaultTextOverFlow,
|
overflow: CommonTextStyle.defaultTextOverFlow,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 15,
|
fontSize: 14,
|
||||||
color: AppColor.colorNameEmail,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.normal
|
fontWeight: FontWeight.normal
|
||||||
),
|
),
|
||||||
)),
|
)),
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ class MailboxView extends BaseMailboxView {
|
|||||||
child: Text(
|
child: Text(
|
||||||
AppLocalizations.of(context).folders,
|
AppLocalizations.of(context).folders,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 17,
|
fontSize: 15,
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
),
|
),
|
||||||
@@ -207,14 +207,16 @@ class MailboxView extends BaseMailboxView {
|
|||||||
TMailButtonWidget.fromIcon(
|
TMailButtonWidget.fromIcon(
|
||||||
icon: controller.imagePaths.icSearchBar,
|
icon: controller.imagePaths.icSearchBar,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
iconColor: AppColor.primaryColor,
|
iconColor: AppColor.steelGrayA540,
|
||||||
|
iconSize: 20,
|
||||||
tooltipMessage: AppLocalizations.of(context).searchForFolders,
|
tooltipMessage: AppLocalizations.of(context).searchForFolders,
|
||||||
onTapActionCallback: () => controller.openSearchViewAction(context)
|
onTapActionCallback: () => controller.openSearchViewAction(context)
|
||||||
),
|
),
|
||||||
TMailButtonWidget.fromIcon(
|
TMailButtonWidget.fromIcon(
|
||||||
icon: controller.imagePaths.icAddNewFolder,
|
icon: controller.imagePaths.icAddNewFolder,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
iconColor: AppColor.primaryColor,
|
iconColor: AppColor.steelGrayA540,
|
||||||
|
iconSize: 20,
|
||||||
tooltipMessage: AppLocalizations.of(context).newFolder,
|
tooltipMessage: AppLocalizations.of(context).newFolder,
|
||||||
onTapActionCallback: () => controller.goToCreateNewMailboxView(context)
|
onTapActionCallback: () => controller.goToCreateNewMailboxView(context)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -354,9 +354,10 @@ mixin MailboxWidgetMixin {
|
|||||||
: DirectionUtils.isDirectionRTLByLanguage(context)
|
: DirectionUtils.isDirectionRTLByLanguage(context)
|
||||||
? imagePaths.icArrowLeft
|
? imagePaths.icArrowLeft
|
||||||
: imagePaths.icArrowRight,
|
: imagePaths.icArrowRight,
|
||||||
iconColor: AppColor.primaryColor,
|
iconColor: Colors.black,
|
||||||
|
iconSize: 20,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
padding: EdgeInsets.zero,
|
padding: const EdgeInsets.all(5),
|
||||||
tooltipMessage: expandMode == ExpandMode.EXPAND
|
tooltipMessage: expandMode == ExpandMode.EXPAND
|
||||||
? AppLocalizations.of(context).collapse
|
? AppLocalizations.of(context).collapse
|
||||||
: AppLocalizations.of(context).expand,
|
: AppLocalizations.of(context).expand,
|
||||||
@@ -368,10 +369,10 @@ mixin MailboxWidgetMixin {
|
|||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: CommonTextStyle.defaultTextOverFlow,
|
overflow: CommonTextStyle.defaultTextOverFlow,
|
||||||
softWrap: CommonTextStyle.defaultSoftWrap,
|
softWrap: CommonTextStyle.defaultSoftWrap,
|
||||||
style: const TextStyle(
|
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
|
||||||
fontSize: 17,
|
fontSize: 14,
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold
|
fontWeight: FontWeight.w400,
|
||||||
)
|
)
|
||||||
)),
|
)),
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -14,4 +14,5 @@ class LabelMailboxItemWidgetStyles {
|
|||||||
static const FontWeight labelTeamMailboxTextFontWeight = FontWeight.bold;
|
static const FontWeight labelTeamMailboxTextFontWeight = FontWeight.bold;
|
||||||
static const FontWeight labelFolderTextFontWeight = FontWeight.normal;
|
static const FontWeight labelFolderTextFontWeight = FontWeight.normal;
|
||||||
static const FontWeight teamMailboxTextFontWeight = FontWeight.w400;
|
static const FontWeight teamMailboxTextFontWeight = FontWeight.w400;
|
||||||
|
static const FontWeight labelFolderSelectedFontWeight = FontWeight.bold;
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
|
|
||||||
import 'package:core/presentation/extensions/color_extension.dart';
|
import 'package:core/presentation/extensions/color_extension.dart';
|
||||||
import 'package:core/utils/direction_utils.dart';
|
import 'package:core/utils/direction_utils.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class LeadingMailboxItemWidgetStyles {
|
class LeadingMailboxItemWidgetStyles {
|
||||||
static const double expandIconSize = 15;
|
static const double expandIconSize = 15;
|
||||||
static const double expandIconSplashRadius = 12;
|
static const double expandIconSplashRadius = 12;
|
||||||
static const double emptyBoxSize = 32;
|
|
||||||
|
|
||||||
static const Color displayColor = AppColor.primaryColor;
|
static const Color displayColor = Colors.black;
|
||||||
static const Color normalColor = AppColor.colorIconUnSubscribedMailbox;
|
static const Color normalColor = AppColor.colorIconUnSubscribedMailbox;
|
||||||
|
|
||||||
static const EdgeInsetsGeometry expandIconPadding = EdgeInsetsDirectional.only(start: 8);
|
static const EdgeInsetsGeometry expandIconPadding = EdgeInsetsDirectional.only(start: 8);
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
|
|
||||||
import 'package:core/utils/platform_info.dart';
|
|
||||||
|
|
||||||
class MailboxIconWidgetStyles {
|
class MailboxIconWidgetStyles {
|
||||||
static double iconSize = PlatformInfo.isWeb ? 24 : 20;
|
static const double iconSize = 20.0;
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||||
import 'package:core/presentation/views/text/text_overflow_builder.dart';
|
import 'package:core/presentation/views/text/text_overflow_builder.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
||||||
@@ -12,19 +11,21 @@ import 'package:tmail_ui_user/features/mailbox/presentation/widgets/trailing_mai
|
|||||||
|
|
||||||
class LabelMailboxItemWidget extends StatelessWidget {
|
class LabelMailboxItemWidget extends StatelessWidget {
|
||||||
|
|
||||||
|
final ResponsiveUtils responsiveUtils;
|
||||||
final MailboxNode mailboxNode;
|
final MailboxNode mailboxNode;
|
||||||
final bool showTrailing;
|
final bool showTrailing;
|
||||||
final bool isItemHovered;
|
final bool isItemHovered;
|
||||||
|
final bool isSelected;
|
||||||
final OnClickOpenMenuMailboxNodeAction? onMenuActionClick;
|
final OnClickOpenMenuMailboxNodeAction? onMenuActionClick;
|
||||||
final OnEmptyMailboxActionCallback? onEmptyMailboxActionCallback;
|
final OnEmptyMailboxActionCallback? onEmptyMailboxActionCallback;
|
||||||
|
|
||||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
const LabelMailboxItemWidget({
|
||||||
|
|
||||||
LabelMailboxItemWidget({
|
|
||||||
super.key,
|
super.key,
|
||||||
required this.mailboxNode,
|
required this.mailboxNode,
|
||||||
|
required this.responsiveUtils,
|
||||||
this.showTrailing = true,
|
this.showTrailing = true,
|
||||||
this.isItemHovered = false,
|
this.isItemHovered = false,
|
||||||
|
this.isSelected = false,
|
||||||
this.onMenuActionClick,
|
this.onMenuActionClick,
|
||||||
this.onEmptyMailboxActionCallback,
|
this.onEmptyMailboxActionCallback,
|
||||||
});
|
});
|
||||||
@@ -47,7 +48,7 @@ class LabelMailboxItemWidget extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (_responsiveUtils.isWebDesktop(context) && mailboxNode.item.allowedHasEmptyAction)
|
if (responsiveUtils.isWebDesktop(context) && mailboxNode.item.allowedHasEmptyAction)
|
||||||
EmptyMailboxPopupDialogWidget(
|
EmptyMailboxPopupDialogWidget(
|
||||||
mailboxNode: mailboxNode,
|
mailboxNode: mailboxNode,
|
||||||
onEmptyMailboxActionCallback: (mailboxNode) => onEmptyMailboxActionCallback?.call(mailboxNode),
|
onEmptyMailboxActionCallback: (mailboxNode) => onEmptyMailboxActionCallback?.call(mailboxNode),
|
||||||
@@ -89,7 +90,13 @@ class LabelMailboxItemWidget extends StatelessWidget {
|
|||||||
? LabelMailboxItemWidgetStyles.labelTeamMailboxTextColor
|
? LabelMailboxItemWidgetStyles.labelTeamMailboxTextColor
|
||||||
: LabelMailboxItemWidgetStyles.labelFolderTextColor;
|
: LabelMailboxItemWidgetStyles.labelFolderTextColor;
|
||||||
|
|
||||||
FontWeight get _mailboxNameTextFontWeight => mailboxNode.item.isTeamMailboxes
|
FontWeight get _mailboxNameTextFontWeight {
|
||||||
? LabelMailboxItemWidgetStyles.labelTeamMailboxTextFontWeight
|
if (isSelected) {
|
||||||
: LabelMailboxItemWidgetStyles.labelFolderTextFontWeight;
|
return LabelMailboxItemWidgetStyles.labelFolderSelectedFontWeight;
|
||||||
|
} else {
|
||||||
|
return mailboxNode.item.isTeamMailboxes
|
||||||
|
? LabelMailboxItemWidgetStyles.labelTeamMailboxTextFontWeight
|
||||||
|
: LabelMailboxItemWidgetStyles.labelFolderTextFontWeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@ import 'package:core/presentation/resources/image_paths.dart';
|
|||||||
import 'package:core/presentation/views/button/tmail_button_widget.dart';
|
import 'package:core/presentation/views/button/tmail_button_widget.dart';
|
||||||
import 'package:core/utils/direction_utils.dart';
|
import 'package:core/utils/direction_utils.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||||
import 'package:model/mailbox/expand_mode.dart';
|
import 'package:model/mailbox/expand_mode.dart';
|
||||||
import 'package:model/mailbox/select_mode.dart';
|
import 'package:model/mailbox/select_mode.dart';
|
||||||
@@ -15,6 +14,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
|||||||
|
|
||||||
class LeadingMailboxItemWidget extends StatelessWidget {
|
class LeadingMailboxItemWidget extends StatelessWidget {
|
||||||
|
|
||||||
|
final ImagePaths imagePaths;
|
||||||
final MailboxNode mailboxNode;
|
final MailboxNode mailboxNode;
|
||||||
final SelectMode selectionMode;
|
final SelectMode selectionMode;
|
||||||
final OnSelectMailboxNodeAction? onSelectMailboxFolderClick;
|
final OnSelectMailboxNodeAction? onSelectMailboxFolderClick;
|
||||||
@@ -22,6 +22,7 @@ class LeadingMailboxItemWidget extends StatelessWidget {
|
|||||||
|
|
||||||
const LeadingMailboxItemWidget({
|
const LeadingMailboxItemWidget({
|
||||||
super.key,
|
super.key,
|
||||||
|
required this.imagePaths,
|
||||||
required this.mailboxNode,
|
required this.mailboxNode,
|
||||||
this.selectionMode = SelectMode.INACTIVE,
|
this.selectionMode = SelectMode.INACTIVE,
|
||||||
this.onExpandFolderActionClick,
|
this.onExpandFolderActionClick,
|
||||||
@@ -30,24 +31,23 @@ class LeadingMailboxItemWidget extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final imagePaths = Get.find<ImagePaths>();
|
|
||||||
|
|
||||||
return Row(children: [
|
return Row(children: [
|
||||||
if (mailboxNode.hasChildren())
|
Visibility.maintain(
|
||||||
TMailButtonWidget.fromIcon(
|
visible: mailboxNode.hasChildren(),
|
||||||
|
child: TMailButtonWidget.fromIcon(
|
||||||
icon: _getExpandIcon(context, imagePaths),
|
icon: _getExpandIcon(context, imagePaths),
|
||||||
iconColor: _expandIconColor,
|
iconColor: _expandIconColor,
|
||||||
padding: EdgeInsets.zero,
|
iconSize: 20,
|
||||||
margin: const EdgeInsetsDirectional.only(start: 4),
|
padding: const EdgeInsets.all(5),
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
tooltipMessage: _getExpandTooltipMessage(context),
|
tooltipMessage: _getExpandTooltipMessage(context),
|
||||||
onTapActionCallback: () => onExpandFolderActionClick?.call(mailboxNode)
|
onTapActionCallback: () => onExpandFolderActionClick?.call(mailboxNode)
|
||||||
)
|
),
|
||||||
else
|
),
|
||||||
const SizedBox(width: LeadingMailboxItemWidgetStyles.emptyBoxSize),
|
|
||||||
Transform(
|
Transform(
|
||||||
transform: LeadingMailboxItemWidgetStyles.mailboxIconTransform(context),
|
transform: LeadingMailboxItemWidgetStyles.mailboxIconTransform(context),
|
||||||
child: MailboxIconWidget(
|
child: MailboxIconWidget(
|
||||||
|
imagePaths: imagePaths,
|
||||||
mailboxNode: mailboxNode,
|
mailboxNode: mailboxNode,
|
||||||
selectionMode: selectionMode,
|
selectionMode: selectionMode,
|
||||||
onSelectMailboxFolderClick: onSelectMailboxFolderClick
|
onSelectMailboxFolderClick: onSelectMailboxFolderClick
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import 'package:core/presentation/resources/image_paths.dart';
|
|||||||
import 'package:core/utils/platform_info.dart';
|
import 'package:core/utils/platform_info.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||||
import 'package:model/mailbox/select_mode.dart';
|
import 'package:model/mailbox/select_mode.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
||||||
@@ -13,6 +12,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method
|
|||||||
|
|
||||||
class MailboxIconWidget extends StatelessWidget {
|
class MailboxIconWidget extends StatelessWidget {
|
||||||
|
|
||||||
|
final ImagePaths imagePaths;
|
||||||
final MailboxNode mailboxNode;
|
final MailboxNode mailboxNode;
|
||||||
final SelectMode selectionMode;
|
final SelectMode selectionMode;
|
||||||
final OnSelectMailboxNodeAction? onSelectMailboxFolderClick;
|
final OnSelectMailboxNodeAction? onSelectMailboxFolderClick;
|
||||||
@@ -20,14 +20,13 @@ class MailboxIconWidget extends StatelessWidget {
|
|||||||
const MailboxIconWidget({
|
const MailboxIconWidget({
|
||||||
super.key,
|
super.key,
|
||||||
required this.mailboxNode,
|
required this.mailboxNode,
|
||||||
|
required this.imagePaths,
|
||||||
this.selectionMode = SelectMode.INACTIVE,
|
this.selectionMode = SelectMode.INACTIVE,
|
||||||
this.onSelectMailboxFolderClick,
|
this.onSelectMailboxFolderClick,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final imagePaths = Get.find<ImagePaths>();
|
|
||||||
|
|
||||||
if (_isSelectionActivatedOnMobile) {
|
if (_isSelectionActivatedOnMobile) {
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: () => onSelectMailboxFolderClick?.call(mailboxNode),
|
onTap: () => onSelectMailboxFolderClick?.call(mailboxNode),
|
||||||
|
|||||||
@@ -75,15 +75,15 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
borderRadius: const BorderRadius.all(Radius.circular(MailboxItemWidgetStyles.borderRadius)),
|
borderRadius: const BorderRadius.all(Radius.circular(MailboxItemWidgetStyles.borderRadius)),
|
||||||
color: backgroundColorItem
|
color: backgroundColorItem
|
||||||
),
|
),
|
||||||
padding: widget.mailboxNode.hasChildren()
|
padding: const EdgeInsetsDirectional.symmetric(
|
||||||
? const EdgeInsetsDirectional.symmetric(
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
horizontal: MailboxItemWidgetStyles.padding,
|
vertical: MailboxItemWidgetStyles.space,
|
||||||
vertical: MailboxItemWidgetStyles.space
|
),
|
||||||
)
|
|
||||||
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
|
||||||
child: Row(
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
LeadingMailboxItemWidget(
|
LeadingMailboxItemWidget(
|
||||||
|
imagePaths: _imagePaths,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
selectionMode: widget.selectionMode,
|
selectionMode: widget.selectionMode,
|
||||||
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
||||||
@@ -92,8 +92,10 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
const SizedBox(width: MailboxItemWidgetStyles.space),
|
const SizedBox(width: MailboxItemWidgetStyles.space),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: LabelMailboxItemWidget(
|
child: LabelMailboxItemWidget(
|
||||||
|
responsiveUtils: _responsiveUtils,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
isItemHovered: _isItemHovered,
|
isItemHovered: _isItemHovered,
|
||||||
|
isSelected: _isSelected,
|
||||||
onMenuActionClick: widget.onMenuActionClick,
|
onMenuActionClick: widget.onMenuActionClick,
|
||||||
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
||||||
)
|
)
|
||||||
@@ -116,15 +118,14 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
borderRadius: const BorderRadius.all(Radius.circular(MailboxItemWidgetStyles.borderRadius)),
|
borderRadius: const BorderRadius.all(Radius.circular(MailboxItemWidgetStyles.borderRadius)),
|
||||||
color: backgroundColorItem
|
color: backgroundColorItem
|
||||||
),
|
),
|
||||||
padding: widget.mailboxNode.hasChildren()
|
padding: const EdgeInsetsDirectional.symmetric(
|
||||||
? const EdgeInsetsDirectional.symmetric(
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
horizontal: MailboxItemWidgetStyles.padding,
|
vertical: MailboxItemWidgetStyles.space,
|
||||||
vertical: MailboxItemWidgetStyles.space
|
),
|
||||||
)
|
|
||||||
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
LeadingMailboxItemWidget(
|
LeadingMailboxItemWidget(
|
||||||
|
imagePaths: _imagePaths,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
selectionMode: widget.selectionMode,
|
selectionMode: widget.selectionMode,
|
||||||
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
||||||
@@ -133,8 +134,10 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
const SizedBox(width: MailboxItemWidgetStyles.space),
|
const SizedBox(width: MailboxItemWidgetStyles.space),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: LabelMailboxItemWidget(
|
child: LabelMailboxItemWidget(
|
||||||
|
responsiveUtils: _responsiveUtils,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
isItemHovered: _isItemHovered,
|
isItemHovered: _isItemHovered,
|
||||||
|
isSelected: _isSelected,
|
||||||
onMenuActionClick: widget.onMenuActionClick,
|
onMenuActionClick: widget.onMenuActionClick,
|
||||||
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
||||||
)
|
)
|
||||||
@@ -157,12 +160,10 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
borderRadius: const BorderRadius.all(Radius.circular(MailboxItemWidgetStyles.borderRadius)),
|
borderRadius: const BorderRadius.all(Radius.circular(MailboxItemWidgetStyles.borderRadius)),
|
||||||
color: backgroundColorItem
|
color: backgroundColorItem
|
||||||
),
|
),
|
||||||
padding: widget.mailboxNode.hasChildren()
|
padding: const EdgeInsetsDirectional.symmetric(
|
||||||
? const EdgeInsetsDirectional.symmetric(
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
horizontal: MailboxItemWidgetStyles.padding,
|
vertical: MailboxItemWidgetStyles.space,
|
||||||
vertical: MailboxItemWidgetStyles.space
|
),
|
||||||
)
|
|
||||||
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
@@ -170,6 +171,7 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
LeadingMailboxItemWidget(
|
LeadingMailboxItemWidget(
|
||||||
|
imagePaths: _imagePaths,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
selectionMode: widget.selectionMode,
|
selectionMode: widget.selectionMode,
|
||||||
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
||||||
@@ -178,8 +180,10 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
const SizedBox(width: MailboxItemWidgetStyles.padding),
|
const SizedBox(width: MailboxItemWidgetStyles.padding),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: LabelMailboxItemWidget(
|
child: LabelMailboxItemWidget(
|
||||||
|
responsiveUtils: _responsiveUtils,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
isItemHovered: _isItemHovered,
|
isItemHovered: _isItemHovered,
|
||||||
|
isSelected: _isSelected,
|
||||||
onMenuActionClick: widget.onMenuActionClick,
|
onMenuActionClick: widget.onMenuActionClick,
|
||||||
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
||||||
)
|
)
|
||||||
@@ -213,18 +217,17 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
customBorder: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8))),
|
customBorder: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8))),
|
||||||
hoverColor: AppColor.colorMailboxHovered,
|
hoverColor: AppColor.colorMailboxHovered,
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: widget.mailboxNode.hasChildren()
|
padding: const EdgeInsetsDirectional.symmetric(
|
||||||
? const EdgeInsetsDirectional.symmetric(
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
horizontal: MailboxItemWidgetStyles.padding,
|
vertical: MailboxItemWidgetStyles.space,
|
||||||
vertical: MailboxItemWidgetStyles.space
|
),
|
||||||
)
|
|
||||||
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
|
||||||
color: widget.mailboxNode.isSelected
|
color: widget.mailboxNode.isSelected
|
||||||
? AppColor.colorItemSelected
|
? AppColor.colorItemSelected
|
||||||
: Colors.transparent,
|
: Colors.transparent,
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
LeadingMailboxItemWidget(
|
LeadingMailboxItemWidget(
|
||||||
|
imagePaths: _imagePaths,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
selectionMode: widget.selectionMode,
|
selectionMode: widget.selectionMode,
|
||||||
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
onSelectMailboxFolderClick: widget.onSelectMailboxFolderClick,
|
||||||
@@ -233,8 +236,10 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
const SizedBox(width: MailboxItemWidgetStyles.padding),
|
const SizedBox(width: MailboxItemWidgetStyles.padding),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: LabelMailboxItemWidget(
|
child: LabelMailboxItemWidget(
|
||||||
|
responsiveUtils: _responsiveUtils,
|
||||||
mailboxNode: widget.mailboxNode,
|
mailboxNode: widget.mailboxNode,
|
||||||
showTrailing: false,
|
showTrailing: false,
|
||||||
|
isSelected: _isSelected,
|
||||||
isItemHovered: _isItemHovered,
|
isItemHovered: _isItemHovered,
|
||||||
onMenuActionClick: widget.onMenuActionClick,
|
onMenuActionClick: widget.onMenuActionClick,
|
||||||
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback
|
||||||
@@ -259,12 +264,15 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool get _isSelected =>
|
||||||
|
widget.mailboxNodeSelected?.id == widget.mailboxNode.item.id;
|
||||||
|
|
||||||
Color get backgroundColorItem {
|
Color get backgroundColorItem {
|
||||||
if (widget.mailboxDisplayed == MailboxDisplayed.destinationPicker) {
|
if (widget.mailboxDisplayed == MailboxDisplayed.destinationPicker) {
|
||||||
return Colors.white;
|
return Colors.white;
|
||||||
} else {
|
} else {
|
||||||
if (widget.mailboxNodeSelected?.id == widget.mailboxNode.item.id || _isItemHovered) {
|
if (_isSelected || _isItemHovered) {
|
||||||
return AppColor.colorBgMailboxSelected;
|
return AppColor.blue100;
|
||||||
} else {
|
} else {
|
||||||
return Colors.transparent;
|
return Colors.transparent;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -716,13 +716,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
|
|||||||
iconSize: 24,
|
iconSize: 24,
|
||||||
iconColor: Colors.white,
|
iconColor: Colors.white,
|
||||||
padding: const EdgeInsetsDirectional.symmetric(vertical: 8),
|
padding: const EdgeInsetsDirectional.symmetric(vertical: 8),
|
||||||
backgroundColor: AppColor.colorTextButton,
|
backgroundColor: AppColor.blue700,
|
||||||
boxShadow: const [
|
|
||||||
BoxShadow(
|
|
||||||
blurRadius: 12.0,
|
|
||||||
color: AppColor.colorShadowComposerButton
|
|
||||||
)
|
|
||||||
],
|
|
||||||
textStyle: const TextStyle(
|
textStyle: const TextStyle(
|
||||||
fontSize: 15,
|
fontSize: 15,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
|||||||
+10
-11
@@ -35,9 +35,7 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
|||||||
onTap: () {},
|
onTap: () {},
|
||||||
borderRadius: const BorderRadius.all(Radius.circular(8)),
|
borderRadius: const BorderRadius.all(Radius.circular(8)),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: _mailboxNode.hasChildren()
|
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
||||||
? const EdgeInsets.symmetric(horizontal: 8, vertical: 5)
|
|
||||||
: const EdgeInsets.all(8),
|
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
_buildLeadingMailboxItem(context),
|
_buildLeadingMailboxItem(context),
|
||||||
@@ -56,21 +54,22 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
|||||||
return Row(
|
return Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
if (_mailboxNode.hasChildren() && _mailboxNode.item.isPersonal)
|
Visibility.maintain(
|
||||||
TMailButtonWidget.fromIcon(
|
visible: _mailboxNode.hasChildren() && _mailboxNode.item.isPersonal,
|
||||||
|
child: TMailButtonWidget.fromIcon(
|
||||||
icon: _getExpandIcon(context, _imagePaths),
|
icon: _getExpandIcon(context, _imagePaths),
|
||||||
iconColor: _mailboxNode.item.allowedToDisplay
|
iconColor: _mailboxNode.item.allowedToDisplay
|
||||||
? AppColor.primaryColor
|
? Colors.black
|
||||||
: AppColor.colorIconUnSubscribedMailbox,
|
: AppColor.colorIconUnSubscribedMailbox,
|
||||||
padding: EdgeInsets.zero,
|
padding: const EdgeInsets.all(5),
|
||||||
|
iconSize: 20,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
tooltipMessage: _mailboxNode.expandMode == ExpandMode.EXPAND
|
tooltipMessage: _mailboxNode.expandMode == ExpandMode.EXPAND
|
||||||
? AppLocalizations.of(context).collapse
|
? AppLocalizations.of(context).collapse
|
||||||
: AppLocalizations.of(context).expand,
|
: AppLocalizations.of(context).expand,
|
||||||
onTapActionCallback: () => onClickExpandMailboxNodeAction?.call(_mailboxNode)
|
onTapActionCallback: () => onClickExpandMailboxNodeAction?.call(_mailboxNode)
|
||||||
)
|
),
|
||||||
else
|
),
|
||||||
const SizedBox(width: 28),
|
|
||||||
if (!_mailboxNode.item.isTeamMailboxes)
|
if (!_mailboxNode.item.isTeamMailboxes)
|
||||||
_buildMailboxIcon(context),
|
_buildMailboxIcon(context),
|
||||||
]
|
]
|
||||||
@@ -97,7 +96,7 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
|||||||
softWrap: CommonTextStyle.defaultSoftWrap,
|
softWrap: CommonTextStyle.defaultSoftWrap,
|
||||||
overflow: CommonTextStyle.defaultTextOverFlow,
|
overflow: CommonTextStyle.defaultTextOverFlow,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: _mailboxNode.item.isTeamMailboxes ? 16 : 15,
|
fontSize: _mailboxNode.item.isTeamMailboxes ? 16 : 14,
|
||||||
color: _mailboxNode.item.allowedToDisplay
|
color: _mailboxNode.item.allowedToDisplay
|
||||||
? Colors.black
|
? Colors.black
|
||||||
: AppColor.colorTitleAUnSubscribedMailbox,
|
: AppColor.colorTitleAUnSubscribedMailbox,
|
||||||
|
|||||||
Reference in New Issue
Block a user