TF-3444 Fix could not expand folder tree in folder visibility on iOS

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-05 15:20:56 +07:00
committed by Dat H. Pham
parent 38d2cc5350
commit 9d54709fac
2 changed files with 60 additions and 94 deletions
@@ -99,7 +99,11 @@ class ManageAccountDashBoardView extends GetWidget<ManageAccountDashBoardControl
], ],
)) ))
]), ]),
mobile: SettingsView(closeAction: () => controller.backToMailboxDashBoard(context: context)) mobile: SafeArea(
child: SettingsView(
closeAction: () =>
controller.backToMailboxDashBoard(context: context)),
)
), ),
), ),
); );
@@ -33,33 +33,18 @@ class SettingsView extends GetWidget<SettingsController> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Column(
color: Colors.white,
child: SafeArea(
top: controller.manageAccountDashboardController.isVacationCapabilitySupported,
bottom: controller.manageAccountDashboardController.isVacationCapabilitySupported,
left: controller.manageAccountDashboardController.isVacationCapabilitySupported &&
controller.responsiveUtils.isPortraitMobile(context),
right: controller.manageAccountDashboardController.isVacationCapabilitySupported &&
controller.responsiveUtils.isPortraitMobile(context),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SafeArea( SizedBox.fromSize(
bottom: false,
child: SizedBox.fromSize(
size: const Size.fromHeight(52), size: const Size.fromHeight(52),
child: Padding( child: Padding(
padding: SettingsUtils.getPaddingAppBar(context, controller.responsiveUtils), padding: SettingsUtils.getPaddingAppBar(context, controller.responsiveUtils),
child: _buildAppbar(context))), child: _buildAppbar(context))),
),
const Divider(color: AppColor.colorDividerComposer, height: 1), const Divider(color: AppColor.colorDividerComposer, height: 1),
Obx(() { Obx(() {
if (controller.manageAccountDashboardController.vacationResponse.value?.vacationResponderIsValid == true) { if (controller.manageAccountDashboardController.vacationResponse.value?.vacationResponderIsValid == true) {
return SafeArea( return VacationNotificationMessageWidget(
top: false,
bottom: false,
child: VacationNotificationMessageWidget(
margin: const EdgeInsetsDirectional.only(start: 12, end: 12, top: 8), margin: const EdgeInsetsDirectional.only(start: 12, end: 12, top: 8),
fromAccountDashBoard: true, fromAccountDashBoard: true,
vacationResponse: controller.manageAccountDashboardController.vacationResponse.value!, vacationResponse: controller.manageAccountDashboardController.vacationResponse.value!,
@@ -67,15 +52,11 @@ class SettingsView extends GetWidget<SettingsController> {
? () => controller.manageAccountDashboardController.selectAccountMenuItem(AccountMenuItem.vacation) ? () => controller.manageAccountDashboardController.selectAccountMenuItem(AccountMenuItem.vacation)
: null, : null,
actionEndNow: controller.manageAccountDashboardController.disableVacationResponder actionEndNow: controller.manageAccountDashboardController.disableVacationResponder
),
); );
} else if ((controller.manageAccountDashboardController.vacationResponse.value?.vacationResponderIsWaiting == true } else if ((controller.manageAccountDashboardController.vacationResponse.value?.vacationResponderIsWaiting == true
|| controller.manageAccountDashboardController.vacationResponse.value?.vacationResponderIsStopped == true) || controller.manageAccountDashboardController.vacationResponse.value?.vacationResponderIsStopped == true)
&& controller.manageAccountDashboardController.inVacationSettings()) { && controller.manageAccountDashboardController.inVacationSettings()) {
return SafeArea( return VacationNotificationMessageWidget(
top: false,
bottom: false,
child: VacationNotificationMessageWidget(
margin: const EdgeInsetsDirectional.only(start: 12, end: 12, top: 8), margin: const EdgeInsetsDirectional.only(start: 12, end: 12, top: 8),
fromAccountDashBoard: true, fromAccountDashBoard: true,
vacationResponse: controller.manageAccountDashboardController.vacationResponse.value!, vacationResponse: controller.manageAccountDashboardController.vacationResponse.value!,
@@ -84,7 +65,6 @@ class SettingsView extends GetWidget<SettingsController> {
padding: EdgeInsetsDirectional.only(end: 12), padding: EdgeInsetsDirectional.only(end: 12),
child: Icon(Icons.timer, size: 20), child: Icon(Icons.timer, size: 20),
) )
),
); );
} else { } else {
return const SizedBox.shrink(); return const SizedBox.shrink();
@@ -100,8 +80,6 @@ class SettingsView extends GetWidget<SettingsController> {
}), }),
Expanded(child: _bodySettingsScreen()) Expanded(child: _bodySettingsScreen())
] ]
),
),
); );
} }
@@ -200,9 +178,7 @@ class SettingsView extends GetWidget<SettingsController> {
return Obx(() { return Obx(() {
switch (controller.manageAccountDashboardController.settingsPageLevel.value) { switch (controller.manageAccountDashboardController.settingsPageLevel.value) {
case SettingsPageLevel.universal: case SettingsPageLevel.universal:
return const SafeArea( return const SettingsFirstLevelView();
top: false,
child: SettingsFirstLevelView());
case SettingsPageLevel.level1: case SettingsPageLevel.level1:
return _viewDisplayedOfAccountMenuItem(); return _viewDisplayedOfAccountMenuItem();
} }
@@ -213,34 +189,24 @@ class SettingsView extends GetWidget<SettingsController> {
return Obx(() { return Obx(() {
switch(controller.manageAccountDashboardController.accountMenuItemSelected.value) { switch(controller.manageAccountDashboardController.accountMenuItemSelected.value) {
case AccountMenuItem.profiles: case AccountMenuItem.profiles:
return SafeArea( return ProfilesView();
top: false,
child: ProfilesView());
case AccountMenuItem.languageAndRegion: case AccountMenuItem.languageAndRegion:
return const SafeArea( return const LanguageAndRegionView();
top: false,
child: LanguageAndRegionView());
case AccountMenuItem.emailRules: case AccountMenuItem.emailRules:
if (controller.manageAccountDashboardController.isRuleFilterCapabilitySupported) { if (controller.manageAccountDashboardController.isRuleFilterCapabilitySupported) {
return SafeArea( return EmailRulesView();
top: false,
child: EmailRulesView());
} else { } else {
return const SizedBox.shrink(); return const SizedBox.shrink();
} }
case AccountMenuItem.alwaysReadReceipt: case AccountMenuItem.alwaysReadReceipt:
if (controller.manageAccountDashboardController.isServerSettingsCapabilitySupported) { if (controller.manageAccountDashboardController.isServerSettingsCapabilitySupported) {
return const SafeArea( return const AlwaysReadReceiptView();
top: false,
child: AlwaysReadReceiptView());
} else { } else {
return const SizedBox.shrink(); return const SizedBox.shrink();
} }
case AccountMenuItem.forward: case AccountMenuItem.forward:
if (controller.manageAccountDashboardController.isForwardCapabilitySupported) { if (controller.manageAccountDashboardController.isForwardCapabilitySupported) {
return SafeArea( return ForwardView();
top: false,
child: ForwardView());
} else { } else {
return const SizedBox.shrink(); return const SizedBox.shrink();
} }
@@ -251,13 +217,9 @@ class SettingsView extends GetWidget<SettingsController> {
return const SizedBox.shrink(); return const SizedBox.shrink();
} }
case AccountMenuItem.mailboxVisibility: case AccountMenuItem.mailboxVisibility:
return SafeArea( return MailboxVisibilityView();
top: false,
child: MailboxVisibilityView());
case AccountMenuItem.notification: case AccountMenuItem.notification:
return const SafeArea( return const NotificationView();
top: false,
child: NotificationView());
default: default:
return const SizedBox.shrink(); return const SizedBox.shrink();
} }