40 lines
1.7 KiB
TypeScript
40 lines
1.7 KiB
TypeScript
// Metro module 11627 (f11628).
|
|
import { useMemo } from "react";
|
|
import GuildStore from "../../../../stores/GuildStore";
|
|
import GuildPowerupsStore from "../GuildPowerupsStore";
|
|
import { GuildPowerupType, LEVEL_SKU_ID_TO_BOOSTING_TIER, POWERUPS_INCLUDED_IN_LEVEL } from "../constants/GuildPowerupsConstants";
|
|
import { useStateFromStores } from "../../../../_bundle/Module589";
|
|
import useGuildPowerupsBoostCount from "./useGuildPowerupsBoostCount";
|
|
import { isNotNullish } from "../../../../utils/GlobalUtils";
|
|
export default function useAvailableBoostCountForPowerup(a0, a1) {
|
|
let stateFromStores;
|
|
const stateFromStores2 = useStateFromStores([GuildStore], () => GuildStore.getGuild(a0));
|
|
stateFromStores = useStateFromStores([GuildPowerupsStore], () => GuildPowerupsStore.getStateForGuild(a0));
|
|
const spent = useGuildPowerupsBoostCount(a0).spent;
|
|
const memo = useMemo(() => {
|
|
if (a1 != null && a1.type === GuildPowerupType.LEVEL && stateFromStores != null) {
|
|
const r12 = LEVEL_SKU_ID_TO_BOOSTING_TIER[a1.skuId];
|
|
let c27122_0 = r12;
|
|
return r12 == null ? [] : Object.entries(POWERUPS_INCLUDED_IN_LEVEL).filter((item) => {
|
|
const [r13, r14] = item;
|
|
return r14 === c27122_0 && stateFromStores.unlockedPowerups[r13] != null;
|
|
}).map((item) => {
|
|
const [r8] = item;
|
|
return stateFromStores.allPowerups[r8];
|
|
}).filter(isNotNullish);
|
|
}
|
|
return [];
|
|
}, [a1, stateFromStores]);
|
|
let r34 = memo == null ? void 0 : memo.reduce((acc, item) => acc + item.cost, 0);
|
|
const r38 = Math;
|
|
let r41 = stateFromStores2?.premiumSubscriberCount;
|
|
if (r41 == null) {
|
|
r41 = 0;
|
|
}
|
|
const r42 = r41 - spent;
|
|
if (r34 == null) {
|
|
r34 = 0;
|
|
}
|
|
return r38.max(r42 + r34, 0);
|
|
};
|