decord/source/modules/instant_invite/native/useMobileInviteSuggestions.tsx
2026-08-12 06:57:52 +00:00

96 lines
3.6 KiB
TypeScript

// Module ID: 9123
// Function ID: 9124
// Name: useMobileInviteSuggestions
// Dependencies: [32, 19, 1990, 1910, 9124, 4416, 7236, 676, 505, 589, 698, 9125, 9126, 2]
// Exports: default
// Module 9123 (useMobileInviteSuggestions)
import _slicedToArray from "_slicedToArray";
import noop from "noop";
import trackCommunicationDisabled from "trackCommunicationDisabled";
import createGuildRecordFromRust from "createGuildRecordFromRust";
import _computeRows from "_computeRows";
import getVoiceStatesForGuild from "getVoiceStatesForGuild";
import { InviteTargetTypes } from "InviteSendStates";
import { AnalyticEvents } from "ME";
import { NOOP_NULL } from "sum";
const require = arg1;
const result = require("trackCommunicationDisabled").fileFinishedImporting("modules/instant_invite/native/useMobileInviteSuggestions.tsx");
export default function useMobileInviteSuggestions(arg0, arg1, arg2, arg3) {
const _require = arg0;
let closure_1 = arg1;
const dependencyMap = arg2;
const callback = arg3;
let items = [_computeRows, getVoiceStatesForGuild];
const tmp = callback(_require(589).useStateFromStoresArray(items, () => {
const items = [store.getInviteSuggestionRows(), ];
let voiceStatesForChannel = null;
if (null != closure_0) {
voiceStatesForChannel = outer1_8.getVoiceStatesForChannel(tmp);
}
items[1] = voiceStatesForChannel;
return items;
}), 2);
const rows = tmp[0];
let trackCommunicationDisabled = tmp[1];
const tmp3 = callback(rows.useState(true), 2);
const isFetchingRows = tmp3[0];
_computeRows = tmp3[1];
const items1 = [rows, arg0, isFetchingRows, arg3, arg1];
const effect = rows.useEffect(() => {
if (!isFetchingRows) {
const initialCounts = store.getInitialCounts();
let obj = callback(698);
obj = { location: null, num_suggestions: null, guild_id: null, num_friends: null, num_dms: null, num_group_dms: null, application_id: null };
obj[0] = callback;
obj[1] = rows.length;
obj[2] = lib.guild_id;
({ numFriends: obj2[3], numDms: obj2[4], numGroupDms: obj2[5] } = initialCounts);
obj[6] = _slicedToArray;
obj.track(outer1_10.INVITE_SUGGESTION_OPENED, obj);
}
}, items1);
const items2 = [arg0, arg2];
const effect1 = rows.useEffect(() => {
store(true);
let isGuildVoiceResult = !tmp3;
if (dependencyMap !== outer1_9.EMBEDDED_APPLICATION) {
isGuildVoiceResult = set.isGuildVoice();
}
if (isGuildVoiceResult) {
let obj = lib(9125);
obj = { location: "useMobileInviteSuggestions", guildId: null };
obj[1] = set.guild_id;
isGuildVoiceResult = obj.getGuildMembersInMobileVCInvitesExperiment(obj);
}
if (dependencyMap !== outer1_9.EMBEDDED_APPLICATION) {
if (!isGuildVoiceResult) {
let memberIds = trackCommunicationDisabled.getMemberIds(set.guild_id);
}
const _Set = Set;
set = new Set(memberIds);
if (isGuildVoiceResult) {
isGuildVoiceResult = null != trackCommunicationDisabled;
}
if (isGuildVoiceResult) {
const item = trackCommunicationDisabled.forEach((user) => {
set.add(user.user.id);
});
}
obj = { omitUserIds: null, guild: null, channel: null, inviteTargetType: null };
obj[0] = set;
obj[1] = isFetchingRows.getGuild(set.guild_id);
obj[2] = set;
obj[3] = dependencyMap;
const inviteSuggestions = lib(9126).loadInviteSuggestions(obj);
const obj3 = lib(9126);
inviteSuggestions.catch(outer1_11).finally(() => {
callback(false);
});
}
memberIds = [];
}, items2);
return { rows, isFetchingRows };
};