Files
discord-decomp/modules/user_profile/hooks/usePersonalizedVoiceChannelUsers.tsx
T
2026-11-01 12:12:55 +02:00

25 lines
1.4 KiB
TypeScript

// Metro module 12018 (f12019).
import UserAffinitiesV2Store from "../../user_affinities/UserAffinitiesV2Store";
import ConsentStore from "../../../stores/ConsentStore";
import UserStore from "../../../stores/UserStore";
import SortedVoiceStateStore from "../../../stores/views/SortedVoiceStateStore";
import { Consents } from "../../../Constants";
import { useStateFromStoresArray, useStateFromStores } from "../../../_bundle/Module589";
export default function usePersonalizedVoiceChannelUsers(a0) {
let stateFromStores, stateFromStores2;
const stateFromStoresArray = useStateFromStoresArray([SortedVoiceStateStore], () => SortedVoiceStateStore.getVoiceStatesForChannelAlt(a0.id, a0.guild_id).map((item) => item.user.id), [a0.id, a0.guild_id]);
stateFromStores = useStateFromStores([UserAffinitiesV2Store], () => UserAffinitiesV2Store.getUserAffinitiesMap());
stateFromStores2 = useStateFromStores([ConsentStore], () => ConsentStore.hasConsented(Consents.PERSONALIZATION));
return useStateFromStoresArray([UserStore], () => (stateFromStores2 ? stateFromStoresArray.sort((a, b) => {
let r9 = stateFromStores.get(b)?.vcProbability;
if (r9 == null) {
r9 = 0;
}
let r13 = stateFromStores.get(a)?.vcProbability;
if (r13 == null) {
r13 = 0;
}
return r9 - r13;
}) : stateFromStoresArray).map((item) => UserStore.getUser(item)).filter((item) => item != null), [stateFromStores2, stateFromStores, stateFromStoresArray]);
};