decord/alpha/source/modules/premium/PremiumSubscriptionTrialUtil.tsx

81 lines
2.9 KiB
TypeScript
Raw Normal View History

// Module ID: 8322
// Function ID: 8323
// Name: PremiumSubscriptionTrialUtil
// Dependencies: [1372, 4421, 7695, 1374, 504, 2]
2026-07-20 16:05:17 +00:00
// Exports: getPremiumTrialOffer, hasActiveTrial, isEligibleTrialSub, useCurrentPremiumTrialTier, useHasActiveTrial
// Module 8322 (PremiumSubscriptionTrialUtil)
import initialize from "initialize" /* 504 */;
import UserStore from "UserStore" /* 1372 */;
import SubscriptionStore from "SubscriptionStore" /* 4421 */;
import UserOfferStore from "UserOfferStore" /* 7695 */;
2026-07-23 10:11:24 +00:00
require = fn;
const PremiumConstants = fn(1374);
({ PREMIUM_TIER_2_LIKELIHOOD_TRIAL_ID: hasOwnProperty, PREMIUM_TIER_2_REACTIVATION_TRIAL_ID: metroRequire, PREMIUM_TIER_2_3P_ONE_MONTH_TRIAL_ID: closure_7, PREMIUM_TIER_2_REFERRAL_TRIAL_ID: closure_8, PREMIUM_TRIAL_IDS_ALL: closure_9 } = PremiumConstants);
const size = fn(2);
const result = size.fileFinishedImporting("modules/premium/PremiumSubscriptionTrialUtil.tsx");
2026-07-20 16:05:17 +00:00
export const useHasActiveTrial = function useHasActiveTrial() {
const items = [SubscriptionStore];
2026-08-24 06:08:38 +00:00
const stateFromStores = initialize.useStateFromStores(items, () => premiumTypeSubscription.getPremiumTypeSubscription());
2026-07-29 08:29:29 +00:00
let hasActiveTrial;
if (stateFromStores != null) {
hasActiveTrial = stateFromStores.hasActiveTrial;
}
return hasActiveTrial;
2026-07-20 16:05:17 +00:00
};
export const hasActiveTrial = function hasActiveTrial() {
const premiumTypeSubscription = SubscriptionStore.getPremiumTypeSubscription();
2026-07-20 16:05:17 +00:00
let trialId;
2026-07-29 08:29:29 +00:00
if (premiumTypeSubscription != null) {
2026-07-20 16:05:17 +00:00
trialId = premiumTypeSubscription.trialId;
}
return null != trialId;
};
export const isEligibleTrialSub = function isEligibleTrialSub(trialId) {
trialId = undefined;
2026-07-29 08:29:29 +00:00
if (trialId != null) {
2026-07-20 16:05:17 +00:00
trialId = trialId.trialId;
}
let tmp2 = null != trialId;
if (tmp2) {
let tmp4 = trialId.trialId === hasOwnProperty;
2026-07-20 16:05:17 +00:00
if (!tmp4) {
tmp4 = trialId.trialId === timestampProducer;
2026-07-20 16:05:17 +00:00
}
if (!tmp4) {
tmp4 = trialId.trialId === React5;
2026-07-20 16:05:17 +00:00
}
if (!tmp4) {
tmp4 = trialId.trialId === React6;
2026-07-20 16:05:17 +00:00
}
tmp2 = tmp4;
}
return tmp2;
};
export const useCurrentPremiumTrialTier = function useCurrentPremiumTrialTier() {
const items = [SubscriptionStore];
2026-08-24 06:08:38 +00:00
const stateFromStores = initialize.useStateFromStores(items, () => premiumTypeSubscription.getPremiumTypeSubscription());
const items1 = [UserStore];
2026-08-24 06:08:38 +00:00
const stateFromStores1 = initialize.useStateFromStores(items1, () => currentUser.getCurrentUser());
2026-07-29 08:29:29 +00:00
let hasActiveTrial;
if (stateFromStores != null) {
hasActiveTrial = stateFromStores.hasActiveTrial;
}
let tmp4 = null;
if (hasActiveTrial) {
let premiumType;
if (stateFromStores1 != null) {
premiumType = stateFromStores1.premiumType;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp4 = premiumType;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp4;
2026-07-20 16:05:17 +00:00
};
export const getPremiumTrialOffer = function getPremiumTrialOffer() {
const mapped = React7.map((item) => userTrialOffer.getUserTrialOffer(item));
2026-08-27 16:17:25 +00:00
const found = mapped.filter((hasExpired) => null != hasExpired && !hasExpired.hasExpired);
2026-07-20 16:05:17 +00:00
return found.shift();
};