Files
discord-decomp/modules/premium/PremiumSubscriptionTrialUtil.tsx
T
2026-11-01 12:12:55 +02:00

25 lines
1.6 KiB
TypeScript

// Metro module 7840 (f7841).
import UserStore from "../../stores/UserStore";
import SubscriptionStore from "../../stores/billing/SubscriptionStore";
import UserOfferStore from "../../stores/billing/UserOfferStore";
import { PREMIUM_TIER_2_3P_ONE_MONTH_TRIAL_ID, PREMIUM_TIER_2_LIKELIHOOD_TRIAL_ID, PREMIUM_TIER_2_REACTIVATION_TRIAL_ID, PREMIUM_TIER_2_REFERRAL_TRIAL_ID, PREMIUM_TRIAL_IDS_ALL } from "./PremiumConstants";
import { useStateFromStores } from "../../_bundle/Module589";
import { hasUserTrialOfferExpired } from "./useTrialOffer";
export function useHasActiveTrial() {
return !!useStateFromStores([SubscriptionStore], () => SubscriptionStore.getPremiumTypeSubscription())?.hasActiveTrial;
}
export function hasActiveTrial() {
return SubscriptionStore.getPremiumTypeSubscription()?.trialId != null;
}
export function isEligibleTrialSub(a0) {
return a0?.trialId != null && (a0.trialId === PREMIUM_TIER_2_LIKELIHOOD_TRIAL_ID || a0.trialId === PREMIUM_TIER_2_REACTIVATION_TRIAL_ID || a0.trialId === PREMIUM_TIER_2_3P_ONE_MONTH_TRIAL_ID || a0.trialId === PREMIUM_TIER_2_REFERRAL_TRIAL_ID);
}
export function useCurrentPremiumTrialTier() {
const stateFromStores = useStateFromStores([SubscriptionStore], () => SubscriptionStore.getPremiumTypeSubscription());
const stateFromStores2 = useStateFromStores([UserStore], () => UserStore.getCurrentUser());
return stateFromStores?.hasActiveTrial ? stateFromStores2?.premiumType : null;
}
export function getPremiumTrialOffer() {
return PREMIUM_TRIAL_IDS_ALL.map((item) => UserOfferStore.getUserTrialOffer(item)).filter((item) => item != null && !hasUserTrialOfferExpired(item)).shift();
}