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

75 lines
2.4 KiB
TypeScript

// Metro module 4096 (f4097).
import { useMemo } from "react";
import GuildStore from "../../../../stores/GuildStore";
import GameServerStore from "../../game_server/GameServerStore";
import GuildPowerupsStore from "../GuildPowerupsStore";
import { useGameServerEnabled, getGameServerEnabled } from "../../game_server/GameServerExperiment";
import { useStateFromStores } from "../../../../_bundle/Module589";
export default function useGuildAppliedBoostCount(a0) {
let total, gameServerEnabled, stateFromStores, stateFromStores2;
let r15 = useStateFromStores([GuildStore], () => GuildStore.getGuild(a0)?.premiumSubscriberCount);
if (r15 == null) {
r15 = 0;
}
total = r15;
gameServerEnabled = useGameServerEnabled(a0, "GuildPowerupsBoostCount");
stateFromStores = useStateFromStores([GuildPowerupsStore], () => GuildPowerupsStore.getStateForGuild(a0)?.appliedBoosts);
stateFromStores2 = useStateFromStores([GameServerStore], () => GameServerStore.getStateForGuild(a0)?.appliedBoosts);
return useMemo(() => {
L6: {
if (stateFromStores != null) {
if (gameServerEnabled && stateFromStores2 == null) {
break L6;
}
let r10 = stateFromStores2;
if (stateFromStores2 == null) {
r10 = 0;
}
const spent = stateFromStores + r10;
return {
available: Math.max(0, total - spent),
spent,
total,
isLoading: false
};
}
}
return {
available: 0,
spent: 0,
total,
isLoading: true
};
}, [total, stateFromStores, stateFromStores2, gameServerEnabled]);
};
export function getGuildPowerupsBoostCount(a0) {
let total2 = GuildStore.getGuild(a0)?.premiumSubscriberCount;
if (total2 == null) {
total2 = 0;
}
const gameServerEnabled2 = getGameServerEnabled(a0, "GuildPowerupsBoostCount");
const appliedBoosts = GuildPowerupsStore.getStateForGuild(a0)?.appliedBoosts;
let r26 = GameServerStore.getStateForGuild(a0)?.appliedBoosts;
L14: {
if (appliedBoosts != null) {
if (gameServerEnabled2 && r26 == null) {
break L14;
}
if (r26 == null) {
r26 = 0;
}
const spent = appliedBoosts + r26;
return {
available: Math.max(0, total2 - spent),
spent,
total: total2
};
}
}
return {
available: 0,
spent: 0,
total: total2
};
}