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

46 lines
1.5 KiB
TypeScript

// Metro module 12522 (f12523).
import { useEffect } from "react";
import PremiumGroupStore from "../PremiumGroupStore";
import { useStateFromStoresObject } from "../../../../_bundle/Module589";
import Dispatcher from "../../../../Dispatcher";
export default function usePremiumGroupMembers(a0) {
const subscriptionId = a0;
let r3 = arguments[1];
if (r3 === void 0) {
r3 = {};
}
let useCachedData = r3.useCachedData;
if (useCachedData === void 0) {
useCachedData = false;
}
let c19884_1 = useCachedData;
let fetch2 = r3.fetch;
if (fetch2 === void 0) {
fetch2 = true;
}
let c19884_2 = fetch2;
const stateFromStoresObject = useStateFromStoresObject([PremiumGroupStore], () => ({
premiumGroupMembers: PremiumGroupStore.getMembers(),
isFetchingMembers: PremiumGroupStore.isFetchingMembers(),
isUpdatingMembers: PremiumGroupStore.isUpdatingMembers()
}));
const premiumGroupMembers = stateFromStoresObject.premiumGroupMembers;
let isFetchingMembers = stateFromStoresObject.isFetchingMembers;
const isUpdatingMembers = stateFromStoresObject.isUpdatingMembers;
useEffect(() => {
if (c19884_2 && !(c19884_1 && PremiumGroupStore.hasFetchedMembers()) && subscriptionId != null) {
Dispatcher.dispatch({
type: "PREMIUM_GROUP_MEMBERS_REQUEST",
subscriptionId
});
}
}, [fetch2, a0, useCachedData]);
if (!isFetchingMembers) {
isFetchingMembers = isUpdatingMembers;
}
return {
premiumGroupMembers,
isLoading: isFetchingMembers
};
};