From 5314116c76f89b582d42514898470dfaa622355b Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 26 Aug 2025 01:24:01 +0700 Subject: [PATCH] Change icon edit & delete rule in Email Rule --- .../widgets/email_rule_item_widget.dart | 73 +++++++++++-------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/lib/features/manage_account/presentation/email_rules/widgets/email_rule_item_widget.dart b/lib/features/manage_account/presentation/email_rules/widgets/email_rule_item_widget.dart index f850d57a4..cc767a41e 100644 --- a/lib/features/manage_account/presentation/email_rules/widgets/email_rule_item_widget.dart +++ b/lib/features/manage_account/presentation/email_rules/widgets/email_rule_item_widget.dart @@ -1,9 +1,15 @@ -import 'package:core/core.dart'; +import 'package:core/presentation/extensions/color_extension.dart'; +import 'package:core/presentation/resources/image_paths.dart'; +import 'package:core/presentation/utils/responsive_utils.dart'; +import 'package:core/presentation/utils/theme_utils.dart'; +import 'package:core/presentation/views/button/icon_button_web.dart'; +import 'package:core/presentation/views/button/tmail_button_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; import 'package:rule_filter/rule_filter/tmail_rule.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/email_rules_controller.dart'; +import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; class EmailRulesItemWidget extends StatelessWidget { final _responsiveUtils = Get.find(); @@ -20,11 +26,11 @@ class EmailRulesItemWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - padding: EdgeInsets.only( + padding: EdgeInsetsDirectional.only( top: 15, bottom: 15, - left: _responsiveUtils.isMobile(context) ? 16 : 24, - right: _responsiveUtils.isMobile(context) ? 0 : 24 + start: _responsiveUtils.isMobile(context) ? 16 : 24, + end: _responsiveUtils.isMobile(context) ? 0 : 24 ), color: Colors.white, child: Row(crossAxisAlignment: CrossAxisAlignment.center, children: [ @@ -34,35 +40,40 @@ class EmailRulesItemWidget extends StatelessWidget { fontWeight: FontWeight.w400, color: Colors.black)), const Spacer(), - if (!_responsiveUtils.isMobile(context)) - buildIconWeb( - icon: SvgPicture.asset( - _imagePaths.icEditRule, - fit: BoxFit.fill, - colorFilter: AppColor.primaryColor.asFilter(), - ), - onTap: () { - _emailRuleController.editEmailRule(context, rule); - }), - if (!_responsiveUtils.isMobile(context)) - buildIconWeb( - icon: SvgPicture.asset( - _imagePaths.icDeleteRule, - fit: BoxFit.fill, - ), - onTap: () { - _emailRuleController.deleteEmailRule(context, rule); - }), if (_responsiveUtils.isMobile(context)) buildIconWeb( - icon: SvgPicture.asset( - _imagePaths.icOpenEditRule, - fit: BoxFit.fill, - ), - iconPadding: const EdgeInsets.all(0), - onTap: () { - _emailRuleController.openEditRuleMenuAction(context, rule); - }), + icon: SvgPicture.asset( + _imagePaths.icOpenEditRule, + fit: BoxFit.fill, + ), + iconPadding: EdgeInsets.zero, + onTap: () => + _emailRuleController.openEditRuleMenuAction(context, rule), + ) + else + ...[ + TMailButtonWidget.fromIcon( + icon: _imagePaths.icCompose, + iconColor: AppColor.primaryColor, + iconSize: 24, + padding: const EdgeInsets.all(5), + backgroundColor: Colors.transparent, + tooltipMessage: AppLocalizations.of(context).editRule, + margin: const EdgeInsetsDirectional.only(end: 5), + onTapActionCallback: () => + _emailRuleController.editEmailRule(context, rule), + ), + TMailButtonWidget.fromIcon( + icon: _imagePaths.icDeleteRule, + iconColor: AppColor.primaryColor, + iconSize: 24, + padding: const EdgeInsets.all(5), + backgroundColor: Colors.transparent, + tooltipMessage: AppLocalizations.of(context).deleteRule, + onTapActionCallback: () => + _emailRuleController.deleteEmailRule(context, rule), + ), + ] ]), ); }