27 lines
1.4 KiB
TypeScript
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]);
|
|
}
|