move local keys to local keys file, use local storage to show web subscription success snackbar

This commit is contained in:
ggurdin 2023-12-11 14:07:36 -05:00
parent 3f44ced2c6
commit 9c6b12d810
3 changed files with 22 additions and 4 deletions

View file

@ -8,6 +8,7 @@ import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat_list/chat_list_view.dart';
import 'package:fluffychat/pages/settings_security/settings_security.dart';
import 'package:fluffychat/pangea/constants/local.key.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/utils/add_to_space.dart';
@ -757,6 +758,15 @@ class ChatListController extends State<ChatList>
await pangeaController.subscriptionController.initialize();
pangeaController.afterSyncAndFirstLoginInitialization(context);
await pangeaController.inviteBotToExistingSpaces();
final bool? beganWebPayment = pangeaController.pStoreService.read(
PLocalKey.beganWebPayment,
);
if (beganWebPayment ?? false) {
pangeaController.pStoreService.delete(PLocalKey.beganWebPayment);
if (pangeaController.subscriptionController.isSubscribed) {
showSubscribedSnackbar(context);
}
}
} else {
ErrorHandler.logError(
m: "didn't run afterSyncAndFirstLoginInitialization because not mounted",

View file

@ -4,4 +4,8 @@ class PLocalKey {
static const String classes = 'classes';
static const String cachedClassCodeToJoin = "cachedclasscodetojoin";
static const String beganWebPayment = "beganWebPayment";
// making this a random string so that it's harder to guess
static const String activatedTrialKey = '7C4EuKIsph';
}

View file

@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/constants/local.key.dart';
import 'package:fluffychat/pangea/controllers/base_controller.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/models/base_subscription_info.dart';
@ -82,14 +83,13 @@ class SubscriptionController extends BaseController {
}
}
final String activatedTrialKey = 'activatedTrial';
bool get activatedNewUserTrial =>
_pangeaController.userController.inTrialWindow &&
(_pangeaController.pStoreService.read(activatedTrialKey) ?? false);
(_pangeaController.pStoreService.read(PLocalKey.activatedTrialKey) ??
false);
void activateNewUserTrial() {
_pangeaController.pStoreService.save(activatedTrialKey, true);
_pangeaController.pStoreService.save(PLocalKey.activatedTrialKey, true);
setNewUserTrial();
}
@ -204,6 +204,10 @@ class SubscriptionController extends BaseController {
selectedSubscription.duration!,
isPromo: isPromo,
);
_pangeaController.pStoreService.save(
PLocalKey.beganWebPayment,
true,
);
setState();
launchUrlString(
paymentLink,