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

27 lines
1.4 KiB
TypeScript

// Metro module 7838 (f7839).
import { useEffect } from "react";
import UserStore from "../../../../stores/UserStore";
import ReferralTrialStore from "../../ReferralTrialStore";
import { FractionalPremiumStates, PremiumTypes } from "../../PremiumConstants";
import { useStateFromStores } from "../../../../_bundle/Module589";
import { useHasDiscountApplied } from "../../PremiumSubscriptionOfferUtil";
import { useHasActiveTrial } from "../../PremiumSubscriptionTrialUtil";
import useFractionalPremiumInfo from "../../../billing/hooks/useFractionalPremiumInfo";
import { isPremiumExactly } from "../../../../utils/PremiumTypeUtils";
export function useMaybeFetchReferralsRemaining(r6 = false) {
let c16032_1;
let c16032_0 = r6;
c16032_1 = void 0;
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser());
const hasDiscountApplied = useHasDiscountApplied();
const hasActiveTrial = useHasActiveTrial();
const fractionalPremiumInfo = useFractionalPremiumInfo();
const r30 = stateFromStores?.verified === true && isPremiumExactly(stateFromStores, PremiumTypes.TIER_2) && fractionalPremiumInfo.fetched && fractionalPremiumInfo.fractionalState !== FractionalPremiumStates.FP_ONLY && !hasDiscountApplied && !hasActiveTrial;
c16032_1 = r30;
useEffect(() => {
if (c16032_1 && !c16032_0) {
ReferralTrialStore.checkAndFetchReferralsRemaining();
}
}, [r30, r6]);
}