TF-4145 Create paywall url from workplaceFqdn
This commit is contained in:
+2
-5
@@ -1,7 +1,6 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/validate_setting_capability_supported_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
|
||||
import 'package:tmail_ui_user/features/quotas/domain/exceptions/quotas_exception.dart';
|
||||
import 'package:tmail_ui_user/features/quotas/domain/extensions/list_quotas_extensions.dart';
|
||||
@@ -13,9 +12,7 @@ import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
extension ValidateStorageMenuVisibleExtension
|
||||
on ManageAccountDashBoardController {
|
||||
void injectQuotaBindings() {
|
||||
if (isStorageCapabilitySupported) {
|
||||
QuotasInteractorBindings().dependencies();
|
||||
}
|
||||
QuotasInteractorBindings().dependencies();
|
||||
}
|
||||
|
||||
void getQuotas(AccountId? accountId) {
|
||||
@@ -27,7 +24,7 @@ extension ValidateStorageMenuVisibleExtension
|
||||
}
|
||||
|
||||
getQuotasInteractor = getBinding<GetQuotasInteractor>();
|
||||
if (getQuotasInteractor == null || !isStorageCapabilitySupported) {
|
||||
if (getQuotasInteractor == null) {
|
||||
consumeState(
|
||||
Stream.value(Left(GetQuotasFailure(QuotasNotSupportedException))),
|
||||
);
|
||||
|
||||
@@ -30,6 +30,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/b
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/export_trace_log_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/handle_vacation_response_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/validate_setting_capability_supported_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/validate_storage_menu_visible_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/forward/bindings/forward_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/identities/identity_bindings.dart';
|
||||
@@ -154,11 +155,10 @@ class ManageAccountDashBoardController extends ReloadableController
|
||||
paywallController = PaywallController(
|
||||
ownEmailAddress: ownEmailAddress.value,
|
||||
);
|
||||
paywallController?.loadPaywallUrl();
|
||||
|
||||
if (quota != null) {
|
||||
octetsQuota.value = quota;
|
||||
} else {
|
||||
} else if (isStorageCapabilitySupported) {
|
||||
getQuotas(accountId.value);
|
||||
}
|
||||
}
|
||||
@@ -194,7 +194,9 @@ class ManageAccountDashBoardController extends ReloadableController
|
||||
injectVacationBindings(session, accountId);
|
||||
injectForwardBindings(session, accountId);
|
||||
injectRuleFilterBindings(session, accountId);
|
||||
injectQuotaBindings();
|
||||
if (isStorageCapabilitySupported) {
|
||||
injectQuotaBindings();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -25,6 +25,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 ManageAccountDashBoardView extends GetWidget<ManageAccountDashBoardController> {
|
||||
|
||||
@@ -171,7 +172,9 @@ class ManageAccountDashBoardView extends GetWidget<ManageAccountDashBoardControl
|
||||
case AccountMenuItem.mailboxVisibility:
|
||||
return MailboxVisibilityView();
|
||||
case AccountMenuItem.storage:
|
||||
if (controller.isStorageCapabilitySupported) {
|
||||
if (controller.octetsQuota.value != null &&
|
||||
controller.octetsQuota.value?.storageAvailable == true &&
|
||||
controller.isStorageCapabilitySupported) {
|
||||
return const StorageView();
|
||||
} else {
|
||||
return const SizedBox.shrink();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
},
|
||||
|
||||
+17
-3
@@ -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();
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
|
||||
@@ -17,7 +16,7 @@ class StorageController extends BaseController with SaaSPremiumMixin {
|
||||
return isPremiumAvailable(accountId: accountId, session: session);
|
||||
}
|
||||
|
||||
void onUpgradeStorage(BuildContext context) {
|
||||
dashBoardController.paywallController?.navigateToPaywall(context);
|
||||
void onUpgradeStorage() {
|
||||
dashBoardController.paywallController?.navigateToPaywall();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,8 +89,8 @@ class StorageView extends GetWidget<StorageController> with AppLoaderMixin {
|
||||
return UpgradeStorageWidget(
|
||||
imagePaths: controller.imagePaths,
|
||||
isMobile: isMobile,
|
||||
onUpgradeStorageAction: () =>
|
||||
controller.onUpgradeStorage(context),
|
||||
onUpgradeStorageAction:
|
||||
controller.onUpgradeStorage,
|
||||
);
|
||||
} else {
|
||||
return const SizedBox.shrink();
|
||||
|
||||
Reference in New Issue
Block a user