25 lines
1.4 KiB
TypeScript
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]);
|
|
};
|