diff --git a/assets/images/ic_add_email_forwards.svg b/assets/images/ic_add_email_forwards.svg
new file mode 100644
index 000000000..438743207
--- /dev/null
+++ b/assets/images/ic_add_email_forwards.svg
@@ -0,0 +1,3 @@
+
diff --git a/core/lib/presentation/resources/image_paths.dart b/core/lib/presentation/resources/image_paths.dart
index 54d16e23d..8a3931e56 100644
--- a/core/lib/presentation/resources/image_paths.dart
+++ b/core/lib/presentation/resources/image_paths.dart
@@ -159,6 +159,7 @@ class ImagePaths {
String get icSwitchOff => _getImagePath('ic_switch_off.svg');
String get icClock => _getImagePath('ic_clock.svg');
String get icCalendar => _getImagePath('ic_calendar.svg');
+ String get icAddEmailForward => _getImagePath('ic_add_email_forwards.svg');
String _getImagePath(String imageName) {
return AssetsPaths.images + imageName;
diff --git a/lib/features/manage_account/presentation/forward/forward_controller.dart b/lib/features/manage_account/presentation/forward/forward_controller.dart
index 9a5212d80..df333fc6b 100644
--- a/lib/features/manage_account/presentation/forward/forward_controller.dart
+++ b/lib/features/manage_account/presentation/forward/forward_controller.dart
@@ -20,6 +20,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/extensions/tm
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/recipient_forward.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
+import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
class ForwardController extends BaseController {
@@ -211,4 +212,22 @@ class ForwardController extends BaseController {
.map((recipient) => recipient.enableSelection())
.toList();
}
+
+ void goToAddEmailsForward() async {
+ final accountId = _accountDashBoardController.accountId.value;
+ if (accountId != null) {
+ // final newEmailRuleFilter = await push(
+ // AppRoutes.EMAILS_FORWARD_CREATOR,
+ // arguments: RulesFilterCreatorArguments(accountId));
+ //
+ // if (newEmailRuleFilter is TMailRule) {
+ // _createNewRuleFilterAction(
+ // accountId,
+ // CreateNewEmailRuleFilterRequest(
+ // listEmailRule,
+ // newEmailRuleFilter)
+ // );
+ // }
+ }
+ }
}
\ No newline at end of file
diff --git a/lib/features/manage_account/presentation/forward/forward_view.dart b/lib/features/manage_account/presentation/forward/forward_view.dart
index 3cb37985e..90166713a 100644
--- a/lib/features/manage_account/presentation/forward/forward_view.dart
+++ b/lib/features/manage_account/presentation/forward/forward_view.dart
@@ -3,10 +3,12 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/forward/forward_controller.dart';
+import 'package:tmail_ui_user/features/manage_account/presentation/forward/widgets/forward_header_widget.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/forward/widgets/list_email_forward_widget.dart';
class ForwardView extends GetWidget with AppLoaderMixin {
final _responsiveUtils = Get.find();
+ final _imagePaths = Get.find();
ForwardView({Key? key}) : super(key: key);
@@ -22,6 +24,12 @@ class ForwardView extends GetWidget with AppLoaderMixin {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
+ ForwardHeaderWidget(
+ imagePaths: _imagePaths,
+ responsiveUtils: _responsiveUtils,
+ addEmailForward: () => controller.goToAddEmailsForward(),
+ ),
+ SizedBox(height: _responsiveUtils.isWebDesktop(context) ? 24 : 16),
_buildLoadingView(),
Expanded(child: ListEmailForwardsWidget())
],
diff --git a/lib/features/manage_account/presentation/forward/widgets/forward_header_widget.dart b/lib/features/manage_account/presentation/forward/widgets/forward_header_widget.dart
new file mode 100644
index 000000000..7266a0848
--- /dev/null
+++ b/lib/features/manage_account/presentation/forward/widgets/forward_header_widget.dart
@@ -0,0 +1,90 @@
+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/views/button/button_builder.dart';
+import 'package:flutter/material.dart';
+import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
+
+class ForwardHeaderWidget extends StatelessWidget {
+ const ForwardHeaderWidget({
+ Key? key,
+ required this.addEmailForward,
+ required this.imagePaths,
+ required this.responsiveUtils,
+ }) : super(key: key);
+
+ final VoidCallback addEmailForward;
+ final ImagePaths imagePaths;
+ final ResponsiveUtils responsiveUtils;
+
+ @override
+ Widget build(BuildContext context) {
+ return Container(
+ width: double.infinity,
+ padding: const EdgeInsets.all(24),
+ decoration: BoxDecoration(
+ color: AppColor.colorBackgroundWrapIconStyleCode,
+ borderRadius: BorderRadius.circular(16),
+ ),
+ child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ Text(AppLocalizations.of(context).forwarding,
+ style: const TextStyle(
+ fontSize: 17,
+ fontWeight: FontWeight.bold,
+ color: Colors.black)),
+ const SizedBox(height: 4),
+ const SizedBox(height: 24),
+ _buildButtonAddNewEmailsForward(context),
+ ]),
+ );
+ }
+
+ Widget _buildButtonAddNewEmailsForward(BuildContext context) {
+ if (!responsiveUtils.isMobile(context)) {
+ return (ButtonBuilder(imagePaths.icAddEmailForward)
+ ..key(const Key('button_add_emails_forward'))
+ ..decoration(BoxDecoration(
+ borderRadius: BorderRadius.circular(10),
+ color: AppColor.colorTextButton))
+ ..paddingIcon(const EdgeInsets.only(right: 8))
+ ..iconColor(Colors.white)
+ ..maxWidth(130)
+ ..size(20)
+ ..radiusSplash(10)
+ ..padding(const EdgeInsets.symmetric(vertical: 12))
+ ..textStyle(const TextStyle(
+ fontSize: 17,
+ color: Colors.white,
+ fontWeight: FontWeight.w500,
+ ))
+ ..onPressActionClick(() => addEmailForward.call())
+ ..text(
+ AppLocalizations.of(context).addEmailForward,
+ isVertical: false,
+ ))
+ .build();
+ } else {
+ return (ButtonBuilder(imagePaths.icAddEmailForward)
+ ..key(const Key('button_add_emails_forward'))
+ ..decoration(BoxDecoration(
+ borderRadius: BorderRadius.circular(10),
+ color: AppColor.colorTextButton))
+ ..paddingIcon(const EdgeInsets.only(right: 8))
+ ..iconColor(Colors.white)
+ ..size(20)
+ ..radiusSplash(10)
+ ..padding(const EdgeInsets.symmetric(vertical: 12))
+ ..textStyle(const TextStyle(
+ fontSize: 17,
+ color: Colors.white,
+ fontWeight: FontWeight.w500,
+ ))
+ ..onPressActionClick(() => addEmailForward.call())
+ ..text(
+ AppLocalizations.of(context).addEmailForward,
+ isVertical: false,
+ ))
+ .build();
+ }
+ }
+}
diff --git a/lib/main/localizations/app_localizations.dart b/lib/main/localizations/app_localizations.dart
index 2020c4904..74f4af5bb 100644
--- a/lib/main/localizations/app_localizations.dart
+++ b/lib/main/localizations/app_localizations.dart
@@ -2133,4 +2133,11 @@ class AppLocalizations {
name: 'messageConfirmationDialogDeleteAllRecipientForward'
);
}
+
+ String get addEmailForward {
+ return Intl.message(
+ 'Add Email',
+ name: 'addEmailForward',
+ );
+ }
}
\ No newline at end of file