decord/source/modules/guild_settings/roles/GuildSettingsRolesUtils.tsx

226 lines
8.2 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 16928
// Function ID: 16929
2026-07-29 08:29:29 +00:00
// Name: ADD_MEMBER_QUERY_LIMIT
2026-08-24 06:08:38 +00:00
// Dependencies: [19, 1991, 1922, 16919, 676, 589, 4223, 6967, 6814, 698, 6812, 1370, 2]
2026-07-29 08:29:29 +00:00
// Exports: filterFullMembersByQuery, filterRole, getSectionAnalyticsName, useGuildMembers, useGuildRoleMembers, useQueryGuildMembers
2026-07-20 16:05:17 +00:00
2026-08-24 06:08:38 +00:00
// Module 16928 (ADD_MEMBER_QUERY_LIMIT)
import isDiscordFrontendDevelopment from "isDiscordFrontendDevelopment" /* 1370 */;
import fuzzysearchDefault from "fuzzysearch" /* 6812 */;
import closure_3 from "noop" /* 19 */;
import closure_4 from "trackCommunicationDisabled" /* 1991 */;
import closure_5 from "mergeGuildAvatar" /* 1922 */;
import { GuildSettingsRoleEditSections as closure_6 } from "MAX_SUBCATEGORIES" /* 16919 */;
import { AnalyticEvents } from "ME" /* 676 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
const result = require("set").fileFinishedImporting("modules/guild_settings/roles/GuildSettingsRolesUtils.tsx");
2026-07-29 08:29:29 +00:00
export const ADD_MEMBER_QUERY_LIMIT = 50;
export const MAX_PREFETCH_MEMBER_COUNT = 1000;
export const useGuildMembers = function useGuildMembers(id, callback) {
2026-07-23 10:11:24 +00:00
const _require = id;
2026-08-24 06:08:38 +00:00
closure_1 = callback;
const items = [closure_4];
2026-07-20 16:05:17 +00:00
const items1 = [id, callback];
2026-07-23 10:11:24 +00:00
stateFromStoresArray = _require(stateFromStoresArray[5]).useStateFromStoresArray(items, () => {
2026-08-24 06:08:38 +00:00
const members = closure_1_4.getMembers(closure_0);
2026-07-20 16:05:17 +00:00
let found = members;
2026-07-29 08:29:29 +00:00
if (null != callback) {
found = members.filter(tmp);
2026-07-20 16:05:17 +00:00
}
return found;
}, items1);
2026-07-29 08:29:29 +00:00
const obj = _require(stateFromStoresArray[5]);
2026-08-24 06:08:38 +00:00
const items2 = [closure_5];
2026-07-20 16:05:17 +00:00
const items3 = [stateFromStoresArray];
2026-07-23 10:11:24 +00:00
const stateFromStoresObject = _require(stateFromStoresArray[5]).useStateFromStoresObject(items2, () => stateFromStoresArray.reduce((arg0, userId) => {
2026-07-29 08:29:29 +00:00
user = user.getUser(userId.userId);
2026-07-20 16:05:17 +00:00
if (null != user) {
arg0[userId.userId] = user;
}
return arg0;
}, {}), items3);
const items4 = [stateFromStoresArray, stateFromStoresObject, id];
2026-07-23 10:11:24 +00:00
return stateFromStoresObject.useMemo(() => {
2026-07-20 16:05:17 +00:00
const items = [];
2026-07-29 08:29:29 +00:00
const iter = stateFromStoresArray[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp3 = nextResult;
let tmp4 = stateFromStoresObject;
let tmp5 = stateFromStoresObject[nextResult.userId];
let obj = tmp5;
if (null != tmp5) {
let tmp15 = nextResult;
let nick = tmp3.nick;
if (nick == null) {
2026-07-23 10:11:24 +00:00
let tmp6 = callback;
let tmp7 = stateFromStoresArray;
2026-07-29 08:29:29 +00:00
let obj2 = callback(stateFromStoresArray[6]);
let tmp8 = tmp5;
nick = obj2.getName(obj);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj = { name: null, userTag: null, id: null, avatarSource: null, avatarURL: null, bot: null, verifiedBot: null, roles: null, key: null, user: null };
obj[0] = nick;
let tmp9 = callback;
let tmp10 = stateFromStoresArray;
let obj4 = callback(stateFromStoresArray[6]);
let tmp11 = tmp5;
obj[1] = obj4.getUserTag(obj);
let tmp12 = nextResult;
obj[2] = tmp3.userId;
let tmp13 = closure_0;
obj[3] = obj.getAvatarSource(closure_0);
obj[4] = obj.getAvatarURL(closure_0, 80);
obj[5] = obj.bot;
obj[6] = obj.isVerifiedBot();
({ roles: obj3[7], userId: obj3[8] } = tmp3);
obj[9] = obj;
let arr = items.push(obj);
}
continue;
2026-07-20 16:05:17 +00:00
}
return items;
}, items4);
2026-07-29 08:29:29 +00:00
};
2026-07-20 16:05:17 +00:00
export const useGuildRoleMembers = function useGuildRoleMembers(id, id2, onMembersLoadFail) {
2026-07-29 08:29:29 +00:00
let _require = id;
let callback = id2;
let stateFromStoresArray = onMembersLoadFail;
stateFromStoresObject = stateFromStoresObject.useRef(onMembersLoadFail);
const effect = stateFromStoresObject.useEffect(() => {
stateFromStoresObject.current = stateFromStoresArray;
2026-07-20 16:05:17 +00:00
});
2026-07-29 08:29:29 +00:00
let items = [id, id2];
const effect1 = stateFromStoresObject.useEffect(() => {
const membersForRole = id(stateFromStoresArray[7]).requestMembersForRole(id, callback);
membersForRole.catch(stateFromStoresObject.current);
2026-07-20 16:05:17 +00:00
}, items);
const items1 = [id2];
2026-07-29 08:29:29 +00:00
callback = stateFromStoresObject.useCallback((roles) => {
2026-07-20 16:05:17 +00:00
roles = roles.roles;
2026-07-29 08:29:29 +00:00
return roles.includes(callback);
}, items1);
_require = id;
stateFromStoresArray = undefined;
stateFromStoresObject = undefined;
2026-08-24 06:08:38 +00:00
const items2 = [closure_4];
2026-07-29 08:29:29 +00:00
const items3 = [id, callback];
stateFromStoresArray = _require(stateFromStoresArray[5]).useStateFromStoresArray(items2, () => {
2026-08-24 06:08:38 +00:00
const members = closure_1_4.getMembers(closure_0);
2026-07-29 08:29:29 +00:00
let found = members;
if (null != callback) {
found = members.filter(tmp);
}
return found;
}, items3);
let obj = _require(stateFromStoresArray[5]);
2026-08-24 06:08:38 +00:00
const items4 = [closure_5];
2026-07-29 08:29:29 +00:00
const items5 = [stateFromStoresArray];
stateFromStoresObject = _require(stateFromStoresArray[5]).useStateFromStoresObject(items4, () => stateFromStoresArray.reduce((arg0, userId) => {
user = user.getUser(userId.userId);
if (null != user) {
arg0[userId.userId] = user;
}
return arg0;
}, {}), items5);
const items6 = [stateFromStoresArray, stateFromStoresObject, id];
return stateFromStoresObject.useMemo(() => {
const items = [];
const iter = stateFromStoresArray[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp3 = nextResult;
let tmp4 = stateFromStoresObject;
let tmp5 = stateFromStoresObject[nextResult.userId];
let obj = tmp5;
if (null != tmp5) {
let tmp15 = nextResult;
let nick = tmp3.nick;
if (nick == null) {
let tmp6 = callback;
let tmp7 = stateFromStoresArray;
let obj2 = callback(stateFromStoresArray[6]);
let tmp8 = tmp5;
nick = obj2.getName(obj);
}
obj = { name: null, userTag: null, id: null, avatarSource: null, avatarURL: null, bot: null, verifiedBot: null, roles: null, key: null, user: null };
obj[0] = nick;
let tmp9 = callback;
let tmp10 = stateFromStoresArray;
let obj4 = callback(stateFromStoresArray[6]);
let tmp11 = tmp5;
obj[1] = obj4.getUserTag(obj);
let tmp12 = nextResult;
obj[2] = tmp3.userId;
let tmp13 = closure_0;
obj[3] = obj.getAvatarSource(closure_0);
obj[4] = obj.getAvatarURL(closure_0, 80);
obj[5] = obj.bot;
obj[6] = obj.isVerifiedBot();
({ roles: obj3[7], userId: obj3[8] } = tmp3);
obj[9] = obj;
let arr = items.push(obj);
}
continue;
}
return items;
}, items6);
2026-07-20 16:05:17 +00:00
};
export const useQueryGuildMembers = function useQueryGuildMembers(id, formatted) {
2026-08-24 06:08:38 +00:00
closure_0 = id;
closure_1 = formatted;
closure_2 = React.useRef(false);
2026-07-20 16:05:17 +00:00
const items = [id, formatted];
const effect = React.useEffect(() => {
2026-07-29 08:29:29 +00:00
const members = callback(ref[8]).requestMembers(closure_0, callback, 200);
2026-07-23 10:11:24 +00:00
let current = "" === callback;
2026-07-20 16:05:17 +00:00
if (!current) {
current = ref.current;
}
if (!current) {
2026-08-24 06:08:38 +00:00
callback(ref[9]).track(closure_1_7.SEARCH_STARTED, { search_type: "Role Members" });
2026-07-20 16:05:17 +00:00
ref.current = true;
2026-07-29 08:29:29 +00:00
const tmpResult = callback(ref[9]);
2026-07-20 16:05:17 +00:00
}
}, items);
};
export const filterFullMembersByQuery = function filterFullMembersByQuery(str, id) {
const formatted = str.trim().toLowerCase();
let tmp8Result = id.id === formatted;
if (!tmp8Result) {
2026-08-24 06:08:38 +00:00
tmp8Result = fuzzysearchDefault(formatted, id.name.toLowerCase());
2026-07-20 16:05:17 +00:00
const str2 = id.name;
2026-08-24 06:08:38 +00:00
const tmp5 = fuzzysearchDefault;
2026-07-20 16:05:17 +00:00
}
if (!tmp8Result) {
2026-08-24 06:08:38 +00:00
tmp8Result = fuzzysearchDefault(formatted, id.userTag.toLowerCase());
2026-07-20 16:05:17 +00:00
const str3 = id.userTag;
2026-08-24 06:08:38 +00:00
const tmp8 = fuzzysearchDefault;
2026-07-20 16:05:17 +00:00
}
return tmp8Result;
};
2026-07-29 08:29:29 +00:00
export const getSectionAnalyticsName = function getSectionAnalyticsName(DISPLAY) {
if (constants.MEMBERS === DISPLAY) {
2026-07-20 16:05:17 +00:00
return "Members";
2026-07-29 08:29:29 +00:00
} else if (tmp.PERMISSIONS === DISPLAY) {
2026-07-20 16:05:17 +00:00
return "Permissions";
2026-07-29 08:29:29 +00:00
} else if (tmp.DISPLAY === DISPLAY) {
2026-07-20 16:05:17 +00:00
return "Role Settings";
2026-07-29 08:29:29 +00:00
} else if (tmp.VERIFICATIONS === DISPLAY) {
2026-07-20 16:05:17 +00:00
return "Connections";
} else {
2026-08-24 06:08:38 +00:00
isDiscordFrontendDevelopment.assertNever(DISPLAY);
2026-07-20 16:05:17 +00:00
}
};
export const filterRole = function filterRole(name, str) {
let hasItem = "" === str;
if (!hasItem) {
const formatted = name.name.toLowerCase();
hasItem = formatted.includes(str.toLowerCase());
str = name.name;
}
return hasItem;
};