TF-4145 Create paywall url from workplaceFqdn

This commit is contained in:
dab246
2025-11-14 17:59:21 +07:00
committed by Dat H. Pham
parent e61253eb1f
commit d6e959c4d9
18 changed files with 283 additions and 118 deletions
@@ -6,6 +6,7 @@ import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/mixin/contact_support_mixin.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
import 'package:tmail_ui_user/features/quotas/domain/extensions/quota_extensions.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
class ManageAccountMenuController extends GetxController with ContactSupportMixin {
@@ -33,7 +34,7 @@ class ManageAccountMenuController extends GetxController with ContactSupportMixi
_quotaRxWorker = ever(
dashBoardController.octetsQuota,
(octetsQuota) {
if (octetsQuota != null) {
if (octetsQuota != null && octetsQuota.storageAvailable) {
_addStorageToMenuList();
}
},
@@ -9,6 +9,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/menu/settings
import 'package:tmail_ui_user/features/manage_account/presentation/menu/settings_utils.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/menu/widgets/setting_first_level_tile_builder.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
import 'package:tmail_ui_user/features/quotas/domain/extensions/quota_extensions.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
@@ -140,14 +141,27 @@ class SettingsFirstLevelView extends GetWidget<SettingsController> {
),
]);
}),
if (PlatformInfo.isWeb)
...[
divider,
_buildSettingItem(
context: context,
menuItem: AccountMenuItem.keyboardShortcuts,
appLocalizations: appLocalizations,
),
],
Obx(() {
if (controller.manageAccountDashboardController.octetsQuota.value != null) {
final octetsQuota = controller
.manageAccountDashboardController
.octetsQuota
.value;
if (octetsQuota != null && octetsQuota.storageAvailable) {
return Column(children: [
divider,
_buildSettingItem(
key: const ValueKey('setting_storage'),
context: context,
menuItem: AccountMenuItem.keyboardShortcuts,
menuItem: AccountMenuItem.storage,
appLocalizations: appLocalizations,
),
]);
@@ -18,6 +18,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/preferences/p
import 'package:tmail_ui_user/features/manage_account/presentation/storage/storage_view.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/vacation_view.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/widgets/vacation_notification_message_widget.dart';
import 'package:tmail_ui_user/features/quotas/domain/extensions/quota_extensions.dart';
class SettingsView extends GetWidget<SettingsController> {
const SettingsView({Key? key}) : super(key: key);
@@ -141,7 +142,9 @@ class SettingsView extends GetWidget<SettingsController> {
case AccountMenuItem.notification:
return const NotificationView();
case AccountMenuItem.storage:
if (controller.manageAccountDashboardController.isStorageCapabilitySupported) {
if (controller.manageAccountDashboardController.octetsQuota.value != null &&
controller.manageAccountDashboardController.octetsQuota.value?.storageAvailable == true &&
controller.manageAccountDashboardController.isStorageCapabilitySupported) {
return const StorageView();
} else {
return const SizedBox.shrink();