TF-3712 Add SettingsCapability to hide language setting

This commit is contained in:
DatDang
2025-06-04 11:32:24 +07:00
committed by Dat H. Pham
parent 787b9fadd3
commit b576a6d267
7 changed files with 76 additions and 15 deletions
@@ -46,7 +46,8 @@ class ManageAccountMenuController extends GetxController with ContactSupportMixi
if (dashBoardController.isVacationCapabilitySupported)
AccountMenuItem.vacation,
AccountMenuItem.mailboxVisibility,
AccountMenuItem.languageAndRegion
if (dashBoardController.isLanguageSettingDisplayed)
AccountMenuItem.languageAndRegion,
];
listAccountMenuItem.value = newListMenuSetting;
@@ -128,17 +128,25 @@ class SettingsFirstLevelView extends GetWidget<SettingsController> {
subtitle: AppLocalizations.of(context).folderVisibilitySubtitle,
() => controller.selectSettings(AccountMenuItem.mailboxVisibility)
),
Divider(
color: AppColor.colorDividerHorizontal,
height: 1,
indent: SettingsUtils.getHorizontalPadding(context, controller.responsiveUtils),
endIndent: SettingsUtils.getHorizontalPadding(context, controller.responsiveUtils)
),
SettingFirstLevelTileBuilder(
AccountMenuItem.languageAndRegion.getName(AppLocalizations.of(context)),
AccountMenuItem.languageAndRegion.getIcon(controller.imagePaths),
() => controller.selectSettings(AccountMenuItem.languageAndRegion)
),
Obx(() {
if (!controller.manageAccountDashboardController.isLanguageSettingDisplayed) {
return const SizedBox.shrink();
}
return Column(children: [
Divider(
color: AppColor.colorDividerHorizontal,
height: 1,
indent: SettingsUtils.getHorizontalPadding(context, controller.responsiveUtils),
endIndent: SettingsUtils.getHorizontalPadding(context, controller.responsiveUtils)
),
SettingFirstLevelTileBuilder(
AccountMenuItem.languageAndRegion.getName(AppLocalizations.of(context)),
AccountMenuItem.languageAndRegion.getIcon(controller.imagePaths),
() => controller.selectSettings(AccountMenuItem.languageAndRegion)
),
]);
}),
Obx(() {
if (controller.manageAccountDashboardController.isFcmCapabilitySupported && PlatformInfo.isMobile) {
return Column(children: [
@@ -197,7 +197,11 @@ class SettingsView extends GetWidget<SettingsController> {
case AccountMenuItem.profiles:
return ProfilesView(responsiveUtils: controller.responsiveUtils);
case AccountMenuItem.languageAndRegion:
return const LanguageAndRegionView();
if (controller.manageAccountDashboardController.isLanguageSettingDisplayed) {
return const LanguageAndRegionView();
} else {
return const SizedBox.shrink();
}
case AccountMenuItem.emailRules:
if (controller.manageAccountDashboardController.isRuleFilterCapabilitySupported) {
return EmailRulesView();