TF-2682 Create always read receipt setting view

This commit is contained in:
DatDang
2024-03-08 10:08:16 +07:00
committed by Dat H. Pham
parent e08ba15d93
commit 0d94f523ab
6 changed files with 132 additions and 1 deletions
@@ -60,6 +60,26 @@ class SettingsFirstLevelView extends GetWidget<SettingsController> {
return const SizedBox.shrink();
}
}),
Obx(() {
if (controller.manageAccountDashboardController.isServerSettingsCapabilitySupported) {
return Column(children: [
SettingFirstLevelTileBuilder(
AccountMenuItem.alwaysReadReceipt.getName(context),
AccountMenuItem.alwaysReadReceipt.getIcon(controller.imagePaths),
subtitle: AppLocalizations.of(context).emailReadReceiptsSettingExplanation,
() => controller.selectSettings(AccountMenuItem.alwaysReadReceipt)
),
Divider(
color: AppColor.colorDividerHorizontal,
height: 1,
indent: SettingsUtils.getHorizontalPadding(context, controller.responsiveUtils),
endIndent: SettingsUtils.getHorizontalPadding(context, controller.responsiveUtils)
),
]);
} else {
return const SizedBox.shrink();
}
}),
Obx(() {
if (controller.manageAccountDashboardController.isForwardCapabilitySupported) {
return Column(children: [
@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/state/banner_state.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/always_read_receipt/always_read_receipt_view.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/email_rules_view.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/forward/forward_view.dart';
@@ -207,6 +208,12 @@ class SettingsView extends GetWidget<SettingsController> {
} else {
return const SizedBox.shrink();
}
case AccountMenuItem.alwaysReadReceipt:
if (controller.manageAccountDashboardController.isServerSettingsCapabilitySupported) {
return const AlwaysReadReceiptView();
} else {
return const SizedBox.shrink();
}
case AccountMenuItem.forward:
if (controller.manageAccountDashboardController.isForwardCapabilitySupported) {
return ForwardView();
@@ -159,4 +159,15 @@ class SettingsUtils {
return const EdgeInsets.only(right: 10, top: 16, bottom: 10, left: 48);
}
}
static EdgeInsets getPaddingAlwaysReadReceiptSetting(
BuildContext context,
ResponsiveUtils responsiveUtils
) {
if (responsiveUtils.isWebDesktop(context)) {
return const EdgeInsets.all(24);
} else {
return EdgeInsets.zero;
}
}
}