36 lines
1.6 KiB
TypeScript
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]);
|
|
};
|