Fix mailbox item padding
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit 8087a60e0f15dc7fe4dadb31f8f59c9018c12d8a)
This commit is contained in:
@@ -272,8 +272,7 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
|||||||
children: [
|
children: [
|
||||||
const Divider(
|
const Divider(
|
||||||
color: AppColor.colorDividerMailbox,
|
color: AppColor.colorDividerMailbox,
|
||||||
height: 0.5,
|
height: 1,
|
||||||
thickness: 0.2
|
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
_buildMailboxCategory(
|
_buildMailboxCategory(
|
||||||
@@ -297,8 +296,7 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
|||||||
children: [
|
children: [
|
||||||
const Divider(
|
const Divider(
|
||||||
color: AppColor.colorDividerMailbox,
|
color: AppColor.colorDividerMailbox,
|
||||||
height: 0.5,
|
height: 1,
|
||||||
thickness: 0.2
|
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
_buildMailboxCategory(
|
_buildMailboxCategory(
|
||||||
|
|||||||
@@ -209,47 +209,38 @@ class MailboxView extends BaseMailboxView {
|
|||||||
}),
|
}),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
const Divider(color: AppColor.colorDividerMailbox, height: 1),
|
const Divider(color: AppColor.colorDividerMailbox, height: 1),
|
||||||
const SizedBox(height: 12),
|
|
||||||
Container(
|
Container(
|
||||||
margin: EdgeInsetsDirectional.only(
|
padding: const EdgeInsetsDirectional.symmetric(
|
||||||
start: controller.responsiveUtils.isLandscapeMobile(context) ? 0 : 8,
|
horizontal: 16,
|
||||||
end: 16),
|
vertical: 6
|
||||||
padding: const EdgeInsetsDirectional.only(start: 8),
|
),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
AppLocalizations.of(context).folders,
|
AppLocalizations.of(context).folders,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 20,
|
fontSize: 17,
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold
|
fontWeight: FontWeight.bold
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Row(children: [
|
Row(children: [
|
||||||
buildIconWeb(
|
TMailButtonWidget.fromIcon(
|
||||||
minSize: 40,
|
icon: controller.imagePaths.icSearchBar,
|
||||||
iconPadding: EdgeInsets.zero,
|
iconColor: AppColor.primaryColor,
|
||||||
icon: SvgPicture.asset(
|
backgroundColor: Colors.transparent,
|
||||||
controller.imagePaths.icSearchBar,
|
tooltipMessage: AppLocalizations.of(context).searchForFolders,
|
||||||
colorFilter: AppColor.colorTextButton.asFilter(),
|
onTapActionCallback: () => controller.openSearchViewAction(context)
|
||||||
fit: BoxFit.fill
|
),
|
||||||
),
|
TMailButtonWidget.fromIcon(
|
||||||
tooltip: AppLocalizations.of(context).searchForFolders,
|
icon: controller.imagePaths.icAddNewFolder,
|
||||||
onTap: () => controller.openSearchViewAction(context)
|
iconColor: AppColor.primaryColor,
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
tooltipMessage: AppLocalizations.of(context).newFolder,
|
||||||
|
onTapActionCallback: () => controller.goToCreateNewMailboxView(context)
|
||||||
),
|
),
|
||||||
buildIconWeb(
|
|
||||||
minSize: 40,
|
|
||||||
iconSize: 20,
|
|
||||||
iconPadding: EdgeInsets.zero,
|
|
||||||
splashRadius: 15,
|
|
||||||
icon: SvgPicture.asset(
|
|
||||||
controller.imagePaths.icAddNewFolder,
|
|
||||||
colorFilter: AppColor.colorTextButton.asFilter(),
|
|
||||||
fit: BoxFit.fill),
|
|
||||||
tooltip: AppLocalizations.of(context).newFolder,
|
|
||||||
onTap: () => controller.goToCreateNewMailboxView(context)),
|
|
||||||
]),
|
]),
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
@@ -284,26 +275,33 @@ class MailboxView extends BaseMailboxView {
|
|||||||
Widget _buildHeaderMailboxCategory(BuildContext context, MailboxCategories categories) {
|
Widget _buildHeaderMailboxCategory(BuildContext context, MailboxCategories categories) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: EdgeInsetsDirectional.only(
|
padding: EdgeInsetsDirectional.only(
|
||||||
start: 4,
|
start: 12,
|
||||||
end: controller.responsiveUtils.isLandscapeMobile(context) ? 8 : 28),
|
end: controller.responsiveUtils.isLandscapeMobile(context) ? 8 : 28),
|
||||||
child: Row(children: [
|
child: Row(children: [
|
||||||
buildIconWeb(
|
TMailButtonWidget.fromIcon(
|
||||||
minSize: 40,
|
icon: categories.getExpandMode(controller.mailboxCategoriesExpandMode.value) == ExpandMode.EXPAND
|
||||||
iconSize: 20,
|
? controller.imagePaths.icArrowBottom
|
||||||
iconPadding: EdgeInsets.zero,
|
: DirectionUtils.isDirectionRTLByLanguage(context)
|
||||||
splashRadius: 15,
|
? controller.imagePaths.icArrowLeft
|
||||||
icon: SvgPicture.asset(
|
: controller.imagePaths.icArrowRight,
|
||||||
categories.getExpandMode(controller.mailboxCategoriesExpandMode.value) == ExpandMode.EXPAND
|
tooltipMessage: AppLocalizations.of(context).collapse,
|
||||||
? controller.imagePaths.icArrowBottom
|
backgroundColor: Colors.transparent,
|
||||||
: DirectionUtils.isDirectionRTLByLanguage(context) ? controller.imagePaths.icArrowLeft : controller.imagePaths.icArrowRight,
|
padding: EdgeInsets.zero,
|
||||||
colorFilter: AppColor.primaryColor.asFilter(),
|
iconColor: AppColor.primaryColor,
|
||||||
fit: BoxFit.fill),
|
onTapActionCallback: () => controller.toggleMailboxCategories(categories)
|
||||||
tooltip: AppLocalizations.of(context).collapse,
|
),
|
||||||
onTap: () => controller.toggleMailboxCategories(categories)),
|
Expanded(
|
||||||
Expanded(child: Text(categories.getTitle(context),
|
child: Text(
|
||||||
|
categories.getTitle(context),
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: const TextStyle(fontSize: 20, color: Colors.black, fontWeight: FontWeight.bold))),
|
style: const TextStyle(
|
||||||
|
fontSize: 17,
|
||||||
|
color: Colors.black,
|
||||||
|
fontWeight: FontWeight.bold
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:flutter/gestures.dart';
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:package_info_plus/package_info_plus.dart';
|
import 'package:package_info_plus/package_info_plus.dart';
|
||||||
@@ -132,12 +131,8 @@ class MailboxView extends BaseMailboxView {
|
|||||||
}),
|
}),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
const Divider(color: AppColor.colorDividerMailbox, height: 1),
|
const Divider(color: AppColor.colorDividerMailbox, height: 1),
|
||||||
const SizedBox(height: 13),
|
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsetsDirectional.only(
|
padding: const EdgeInsetsDirectional.symmetric(vertical: 4),
|
||||||
start: controller.responsiveUtils.isDesktop(context) ? 0 : 12,
|
|
||||||
bottom: 8
|
|
||||||
),
|
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
@@ -153,29 +148,23 @@ class MailboxView extends BaseMailboxView {
|
|||||||
padding: EdgeInsetsDirectional.only(end: controller.responsiveUtils.isDesktop(context) ? 0 : 12),
|
padding: EdgeInsetsDirectional.only(end: controller.responsiveUtils.isDesktop(context) ? 0 : 12),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
buildIconWeb(
|
TMailButtonWidget.fromIcon(
|
||||||
minSize: 40,
|
icon: controller.imagePaths.icSearchBar,
|
||||||
iconPadding: EdgeInsets.zero,
|
backgroundColor: Colors.transparent,
|
||||||
icon: SvgPicture.asset(
|
iconColor: AppColor.primaryColor,
|
||||||
controller.imagePaths.icSearchBar,
|
tooltipMessage: AppLocalizations.of(context).searchForFolders,
|
||||||
colorFilter: AppColor.colorTextButton.asFilter(),
|
onTapActionCallback: () => controller.openSearchViewAction(context)
|
||||||
fit: BoxFit.fill
|
),
|
||||||
),
|
TMailButtonWidget.fromIcon(
|
||||||
onTap: () => controller.openSearchViewAction(context)
|
icon: controller.imagePaths.icAddNewFolder,
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
iconColor: AppColor.primaryColor,
|
||||||
|
tooltipMessage: AppLocalizations.of(context).newFolder,
|
||||||
|
onTapActionCallback: () => controller.goToCreateNewMailboxView(context)
|
||||||
),
|
),
|
||||||
buildIconWeb(
|
|
||||||
minSize: 40,
|
|
||||||
iconSize: 20,
|
|
||||||
iconPadding: EdgeInsets.zero,
|
|
||||||
splashRadius: 15,
|
|
||||||
icon: SvgPicture.asset(
|
|
||||||
controller.imagePaths.icAddNewFolder,
|
|
||||||
colorFilter: AppColor.colorTextButton.asFilter(),
|
|
||||||
fit: BoxFit.fill),
|
|
||||||
tooltip: AppLocalizations.of(context).newFolder,
|
|
||||||
onTap: () => controller.goToCreateNewMailboxView(context)),
|
|
||||||
],
|
],
|
||||||
)),
|
)
|
||||||
|
),
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
|
|
||||||
import 'package:core/presentation/extensions/color_extension.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:core/presentation/resources/image_paths.dart';
|
|
||||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
|
||||||
import 'package:core/presentation/utils/style_utils.dart';
|
|
||||||
import 'package:core/presentation/views/button/icon_button_web.dart';
|
|
||||||
import 'package:core/utils/direction_utils.dart';
|
import 'package:core/utils/direction_utils.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:get/get.dart';
|
||||||
@@ -290,33 +285,27 @@ mixin MailboxWidgetMixin {
|
|||||||
BaseMailboxController baseMailboxController,
|
BaseMailboxController baseMailboxController,
|
||||||
{
|
{
|
||||||
required Function(MailboxCategories categories) toggleMailboxCategories,
|
required Function(MailboxCategories categories) toggleMailboxCategories,
|
||||||
EdgeInsets? padding
|
EdgeInsetsGeometry? padding
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: padding ?? EdgeInsets.only(
|
padding: padding ?? EdgeInsets.zero,
|
||||||
top: 10,
|
|
||||||
left: responsiveUtils.isDesktop(context) ? 0 : 16,
|
|
||||||
right: responsiveUtils.isDesktop(context) ? 0 : 16
|
|
||||||
),
|
|
||||||
child: Row(children: [
|
child: Row(children: [
|
||||||
Obx(() {
|
Obx(() {
|
||||||
final expandMode = categories.getExpandMode(baseMailboxController.mailboxCategoriesExpandMode.value);
|
final expandMode = categories.getExpandMode(baseMailboxController.mailboxCategoriesExpandMode.value);
|
||||||
return buildIconWeb(
|
return TMailButtonWidget.fromIcon(
|
||||||
splashRadius: 12,
|
icon: expandMode == ExpandMode.EXPAND
|
||||||
iconPadding: EdgeInsets.zero,
|
? imagePaths.icArrowBottom
|
||||||
minSize: 12,
|
: DirectionUtils.isDirectionRTLByLanguage(context)
|
||||||
icon: SvgPicture.asset(
|
? imagePaths.icArrowLeft
|
||||||
expandMode == ExpandMode.EXPAND
|
: imagePaths.icArrowRight,
|
||||||
? imagePaths.icArrowBottom
|
iconColor: AppColor.primaryColor,
|
||||||
: DirectionUtils.isDirectionRTLByLanguage(context) ? imagePaths.icArrowLeft : imagePaths.icArrowRight,
|
backgroundColor: Colors.transparent,
|
||||||
colorFilter: AppColor.primaryColor.asFilter(),
|
padding: EdgeInsets.zero,
|
||||||
fit: BoxFit.fill
|
tooltipMessage: expandMode == ExpandMode.EXPAND
|
||||||
),
|
|
||||||
tooltip: expandMode == ExpandMode.EXPAND
|
|
||||||
? AppLocalizations.of(context).collapse
|
? AppLocalizations.of(context).collapse
|
||||||
: AppLocalizations.of(context).expand,
|
: AppLocalizations.of(context).expand,
|
||||||
onTap: () => toggleMailboxCategories(categories)
|
onTapActionCallback: () => toggleMailboxCategories(categories)
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
Expanded(child: Text(
|
Expanded(child: Text(
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
|
|
||||||
import 'package:core/presentation/extensions/color_extension.dart';
|
|
||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:core/presentation/views/button/icon_button_web.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/cupertino.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
|
||||||
import 'package:get/get.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';
|
||||||
@@ -36,20 +34,14 @@ class LeadingMailboxItemWidget extends StatelessWidget {
|
|||||||
|
|
||||||
return Row(children: [
|
return Row(children: [
|
||||||
if (mailboxNode.hasChildren())
|
if (mailboxNode.hasChildren())
|
||||||
Padding(
|
TMailButtonWidget.fromIcon(
|
||||||
padding: LeadingMailboxItemWidgetStyles.expandIconPadding,
|
icon: _getExpandIcon(context, imagePaths),
|
||||||
child: buildIconWeb(
|
iconColor: _expandIconColor,
|
||||||
icon: SvgPicture.asset(
|
padding: EdgeInsets.zero,
|
||||||
_getExpandIcon(context, imagePaths),
|
margin: const EdgeInsetsDirectional.only(start: 4),
|
||||||
colorFilter: _expandIconColor.asFilter(),
|
backgroundColor: Colors.transparent,
|
||||||
fit: BoxFit.fill,
|
tooltipMessage: _getExpandTooltipMessage(context),
|
||||||
),
|
onTapActionCallback: () => onExpandFolderActionClick?.call(mailboxNode)
|
||||||
splashRadius: LeadingMailboxItemWidgetStyles.expandIconSplashRadius,
|
|
||||||
iconPadding: EdgeInsets.zero,
|
|
||||||
minSize: LeadingMailboxItemWidgetStyles.expandIconSize,
|
|
||||||
tooltip: _getExpandTooltipMessage(context),
|
|
||||||
onTap: () => onExpandFolderActionClick?.call(mailboxNode)
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
const SizedBox(width: LeadingMailboxItemWidgetStyles.emptyBoxSize),
|
const SizedBox(width: LeadingMailboxItemWidgetStyles.emptyBoxSize),
|
||||||
|
|||||||
@@ -75,7 +75,12 @@ 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: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
padding: widget.mailboxNode.hasChildren()
|
||||||
|
? const EdgeInsetsDirectional.symmetric(
|
||||||
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
|
vertical: MailboxItemWidgetStyles.space
|
||||||
|
)
|
||||||
|
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
LeadingMailboxItemWidget(
|
LeadingMailboxItemWidget(
|
||||||
@@ -111,7 +116,12 @@ 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: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
padding: widget.mailboxNode.hasChildren()
|
||||||
|
? const EdgeInsetsDirectional.symmetric(
|
||||||
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
|
vertical: MailboxItemWidgetStyles.space
|
||||||
|
)
|
||||||
|
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
LeadingMailboxItemWidget(
|
LeadingMailboxItemWidget(
|
||||||
@@ -147,7 +157,12 @@ 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: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
padding: widget.mailboxNode.hasChildren()
|
||||||
|
? const EdgeInsetsDirectional.symmetric(
|
||||||
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
|
vertical: MailboxItemWidgetStyles.space
|
||||||
|
)
|
||||||
|
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
@@ -198,7 +213,12 @@ 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: const EdgeInsets.symmetric(vertical: MailboxItemWidgetStyles.padding),
|
padding: widget.mailboxNode.hasChildren()
|
||||||
|
? const EdgeInsetsDirectional.symmetric(
|
||||||
|
horizontal: MailboxItemWidgetStyles.padding,
|
||||||
|
vertical: MailboxItemWidgetStyles.space
|
||||||
|
)
|
||||||
|
: const EdgeInsets.all(MailboxItemWidgetStyles.padding),
|
||||||
color: widget.mailboxNode.isSelected
|
color: widget.mailboxNode.isSelected
|
||||||
? AppColor.colorItemSelected
|
? AppColor.colorItemSelected
|
||||||
: Colors.transparent,
|
: Colors.transparent,
|
||||||
|
|||||||
+3
-4
@@ -37,8 +37,7 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
|
|||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
const Divider(
|
const Divider(
|
||||||
color: AppColor.colorDividerMailbox,
|
color: AppColor.colorDividerMailbox,
|
||||||
height: 0.5,
|
height: 1
|
||||||
thickness: 0.2
|
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
_buildLoadingView(),
|
_buildLoadingView(),
|
||||||
@@ -106,8 +105,8 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
|
|||||||
controller.imagePaths,
|
controller.imagePaths,
|
||||||
categories,
|
categories,
|
||||||
controller,
|
controller,
|
||||||
padding: const EdgeInsets.all(8),
|
toggleMailboxCategories: controller.toggleMailboxCategories,
|
||||||
toggleMailboxCategories: controller.toggleMailboxCategories
|
padding: EdgeInsetsDirectional.symmetric(vertical: 8)
|
||||||
),
|
),
|
||||||
AnimatedContainer(
|
AnimatedContainer(
|
||||||
duration: const Duration(milliseconds: 400),
|
duration: const Duration(milliseconds: 400),
|
||||||
|
|||||||
+25
-24
@@ -1,7 +1,7 @@
|
|||||||
import 'package:core/presentation/extensions/color_extension.dart';
|
import 'package:core/presentation/extensions/color_extension.dart';
|
||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:core/presentation/utils/style_utils.dart';
|
import 'package:core/presentation/utils/style_utils.dart';
|
||||||
import 'package:core/presentation/views/button/icon_button_web.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:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
@@ -11,7 +11,6 @@ import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentat
|
|||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method_action_define.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method_action_define.dart';
|
||||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
|
||||||
|
|
||||||
class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
||||||
|
|
||||||
@@ -36,10 +35,11 @@ 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: const EdgeInsets.all(8),
|
padding: _mailboxNode.hasChildren()
|
||||||
|
? const EdgeInsets.symmetric(horizontal: 8, vertical: 5)
|
||||||
|
: const EdgeInsets.all(8),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
const SizedBox(width: 8),
|
|
||||||
_buildLeadingMailboxItem(context),
|
_buildLeadingMailboxItem(context),
|
||||||
Expanded(child: _buildTitleFolderItem(context)),
|
Expanded(child: _buildTitleFolderItem(context)),
|
||||||
if (!_mailboxNode.item.isDefault)
|
if (!_mailboxNode.item.isDefault)
|
||||||
@@ -57,32 +57,36 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
|||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
if (_mailboxNode.hasChildren() && _mailboxNode.item.isPersonal)
|
if (_mailboxNode.hasChildren() && _mailboxNode.item.isPersonal)
|
||||||
buildIconWeb(
|
TMailButtonWidget.fromIcon(
|
||||||
splashRadius: 12,
|
icon: _getExpandIcon(context, _imagePaths),
|
||||||
iconPadding: EdgeInsets.zero,
|
iconColor: _mailboxNode.item.allowedToDisplay
|
||||||
minSize: 12,
|
? AppColor.primaryColor
|
||||||
icon: SvgPicture.asset(
|
: AppColor.colorIconUnSubscribedMailbox,
|
||||||
_mailboxNode.expandMode == ExpandMode.EXPAND
|
padding: EdgeInsets.zero,
|
||||||
? _imagePaths.icExpandFolder
|
backgroundColor: Colors.transparent,
|
||||||
: DirectionUtils.isDirectionRTLByLanguage(context) ? _imagePaths.icBack : _imagePaths.icCollapseFolder,
|
tooltipMessage: _mailboxNode.expandMode == ExpandMode.EXPAND
|
||||||
colorFilter: _mailboxNode.item.allowedToDisplay
|
|
||||||
? AppColor.primaryColor.asFilter()
|
|
||||||
: AppColor.colorIconUnSubscribedMailbox.asFilter(),
|
|
||||||
fit: BoxFit.fill
|
|
||||||
),
|
|
||||||
tooltip: _mailboxNode.expandMode == ExpandMode.EXPAND
|
|
||||||
? AppLocalizations.of(context).collapse
|
? AppLocalizations.of(context).collapse
|
||||||
: AppLocalizations.of(context).expand,
|
: AppLocalizations.of(context).expand,
|
||||||
onTap: () => onClickExpandMailboxNodeAction?.call(_mailboxNode)
|
onTapActionCallback: () => onClickExpandMailboxNodeAction?.call(_mailboxNode)
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
const SizedBox(width: 24),
|
const SizedBox(width: 28),
|
||||||
if (!_mailboxNode.item.isTeamMailboxes)
|
if (!_mailboxNode.item.isTeamMailboxes)
|
||||||
_buildMailboxIcon(context),
|
_buildMailboxIcon(context),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String _getExpandIcon(BuildContext context, ImagePaths imagePaths) {
|
||||||
|
if (_mailboxNode.expandMode == ExpandMode.EXPAND) {
|
||||||
|
return imagePaths.icArrowBottom;
|
||||||
|
} else {
|
||||||
|
return DirectionUtils.isDirectionRTLByLanguage(context)
|
||||||
|
? imagePaths.icArrowLeft
|
||||||
|
: imagePaths.icArrowRight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Widget _buildTitleFolderItem(BuildContext context) {
|
Widget _buildTitleFolderItem(BuildContext context) {
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -118,10 +122,7 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
|||||||
|
|
||||||
Widget _buildMailboxIcon(BuildContext context) {
|
Widget _buildMailboxIcon(BuildContext context) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: EdgeInsets.only(
|
padding: const EdgeInsetsDirectional.only(end: 8),
|
||||||
right: AppUtils.isDirectionRTL(context) ? 0 : 8,
|
|
||||||
left: AppUtils.isDirectionRTL(context) ? 8 : 0,
|
|
||||||
),
|
|
||||||
child: SvgPicture.asset(
|
child: SvgPicture.asset(
|
||||||
_mailboxNode.item.getMailboxIcon(_imagePaths),
|
_mailboxNode.item.getMailboxIcon(_imagePaths),
|
||||||
width: 20,
|
width: 20,
|
||||||
|
|||||||
Reference in New Issue
Block a user