Files
discord-decomp/modules/guild_scheduled_events/useInterestedEventUsers.tsx
T
2026-11-01 12:12:55 +02:00

36 lines
1.6 KiB
TypeScript

// Metro module 8222 (f8223).
import { useMemo } from "react";
import GuildScheduledEventStore from "./GuildScheduledEventStore";
import { GuildScheduledEventUserResponses } from "./GuildScheduledEventsConstants";
import { useStateFromStoresArray } from "../../_bundle/Module589";
export default function useInterestedEventUsers(a0, a1) {
let stateFromStoresArray2;
let c16379_0 = a0;
const stateFromStoresArray = useStateFromStoresArray([GuildScheduledEventStore], () => Object.values(GuildScheduledEventStore.getUsersForGuildEvent(c16379_0, null)), [a0]);
stateFromStoresArray2 = useStateFromStoresArray([GuildScheduledEventStore], () => Object.values(GuildScheduledEventStore.getUsersForGuildEvent(c16379_0, a1)), [a0, a1]);
return useMemo(() => {
let c26154_0, c26154_1, c26154_2;
const addUserToAllInterested = function addUserToAllInterested(a0) {
if (!c26154_1.has(a0.user_id)) {
c26154_2.push(a0);
c26154_1.add(a0.user_id);
}
};
c26154_0 = stateFromStoresArray2.reduce((acc, item) => {
acc[item.user_id] = item;
return acc;
}, {});
const r16 = stateFromStoresArray.filter((item) => {
const r6 = c26154_0[item.user_id];
return r6 == null || r6.response === GuildScheduledEventUserResponses.INTERESTED;
});
const r19 = stateFromStoresArray2.filter((item) => item.response === GuildScheduledEventUserResponses.INTERESTED);
c26154_1 = new Set();
const r25 = [];
c26154_2 = r25;
r16.forEach(addUserToAllInterested);
r19.forEach(addUserToAllInterested);
return r25;
}, [stateFromStoresArray, stateFromStoresArray2]);
};