Files
discord-decomp/modules/rewards/hooks/useHasXboxMonthlyOrbsPerk.tsx
T
2026-11-01 12:12:55 +02:00

30 lines
1.4 KiB
TypeScript

// Metro module 12783 (f12784).
import UserStore from "../../../stores/UserStore";
import { PremiumTypes } from "../../premium/PremiumConstants";
import * as _PremiumUtils from "../../../utils/PremiumUtils";
import PremiumUtils from "../../../utils/PremiumUtils";
import { getPerkSource } from "../../premium/perks_state/PerksStateUtils";
import { Perk, PerkSource } from "../../../_bundle/Module1892";
import { useStateFromStores } from "../../../_bundle/Module589";
export function hasCrepeMonthlyOrbsPerk(a0) {
if (PremiumUtils.canUseMonthlyOrbs(a0) && !_PremiumUtils.isPremiumExactly(a0, PremiumTypes.TIER_2)) {
const perkSource = getPerkSource(a0?.perks, Perk.MONTHLY_ORBS);
return perkSource != null && perkSource.includes(PerkSource.SOURCE_THIRDPARTY_CROISSANT);
}
return false;
}
export function useHasXboxMonthlyOrbsPerk() {
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser());
const canUseMonthlyOrbs = PremiumUtils.canUseMonthlyOrbs(stateFromStores);
let r18 = false;
if (canUseMonthlyOrbs) {
const isPremiumExactly = _PremiumUtils.isPremiumExactly(stateFromStores, PremiumTypes.TIER_2);
r18 = false;
if (!isPremiumExactly) {
const perkSource = getPerkSource(stateFromStores?.perks, Perk.MONTHLY_ORBS);
r18 = perkSource != null && perkSource.includes(PerkSource.SOURCE_THIRDPARTY_CROISSANT);
}
}
return r18;
}