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

48 lines
2.2 KiB
TypeScript

// Metro module 15140 (f15141).
import "../../../../stores/GuildMemberStore";
import SortedGuildStore from "../../../../stores/SortedGuildStore";
import UserStore from "../../../../stores/UserStore";
import GuildBoostSlotStore from "../../../../stores/billing/GuildBoostSlotStore";
import { PremiumTypes } from "../../PremiumConstants";
import { isPremium } from "../../../../utils/PremiumTypeUtils";
import { useStateFromStores, useStateFromStoresArray } from "../../../../_bundle/Module589";
function $mk95545() {
return (a0) => a0.premiumGuildSubscription != null;
}
function $mk95546($env) {
return (a0) => $env.$parent[2].getMember(a0, $env[0].id)?.premiumSince != null;
}
let env10741 = {};
export default function useIsCurrentUserEligibleForPowerupUpsells() {
let env21702;
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser());
const stateFromStoresArray = useStateFromStoresArray([GuildBoostSlotStore], () => GuildBoostSlotStore.hasFetched ? Object.values(GuildBoostSlotStore.boostSlots) : []);
const stateFromStores2 = useStateFromStores([SortedGuildStore], () => SortedGuildStore.getFlattenedGuildIds());
const r27 = env21702 = {
$parent: env10741
};
env21702[0] = stateFromStores;
let r28 = stateFromStores != null;
if (r28) {
const isPremiumGroupMember = stateFromStores.isPremiumGroupMember();
r28 = isPremiumGroupMember ? !isPremiumGroupMember : !!isPremium(stateFromStores, PremiumTypes.TIER_2) || (!!stateFromStoresArray.some($mk95545()) || stateFromStores2.some($mk95546(r27)));
}
return r28;
};
export function getIsCurrentUserEligibleForPowerupUpsells() {
const currentUser = UserStore.getCurrentUser();
const r9 = GuildBoostSlotStore.hasFetched ? Object.values(GuildBoostSlotStore.boostSlots) : [];
let env21703;
const flattenedGuildIds = SortedGuildStore.getFlattenedGuildIds();
const r6 = env21703 = {
$parent: env10741
};
env21703[0] = currentUser;
let r18 = currentUser != null;
if (r18) {
const isPremiumGroupMember = currentUser.isPremiumGroupMember();
r18 = isPremiumGroupMember ? !isPremiumGroupMember : !!isPremium(currentUser, PremiumTypes.TIER_2) || (!!r9.some($mk95545()) || flattenedGuildIds.some($mk95546(r6)));
}
return r18;
}