decord/source/modules/guild_settings/roles/GuildSettingsRolesUtils.tsx
github-actions ecf26fc058 chore: update source for alpha 347.2
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4823.js (118.4 MB)
2026-09-16 07:03:15 +00:00

207 lines
7.4 KiB
TypeScript

// Module ID: 17823
// Function ID: 17824
// Name: GuildSettingsRolesUtils
// Dependencies: [19, 2022, 1372, 17814, 1074, 504, 4482, 7239, 5605, 1241, 5603, 1370, 2]
// Exports: filterFullMembersByQuery, filterRole, getSectionAnalyticsName, useGuildMembers, useGuildRoleMembers, useQueryGuildMembers
// Module 17823 (GuildSettingsRolesUtils)
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1241 */;
import GlobalUtils from "GlobalUtils" /* 1370 */;
import UserUtilsDefault from "UserUtils" /* 4482 */;
import fuzzysearchDefault from "fuzzysearch" /* 5603 */;
import GuildUtilsDefault from "GuildUtils" /* 5605 */;
import GuildRoleMemberActionCreators from "GuildRoleMemberActionCreators" /* 7239 */;
import noop from "module_19" /* 19 */;
import GuildMemberStore from "GuildMemberStore" /* 2022 */;
import UserStore from "UserStore" /* 1372 */;
const require = globalThis.__r;
require = fn;
const constants = fn(17814).GuildSettingsRoleEditSections;
const AnalyticEvents = fn(1074).AnalyticEvents;
const size = fn(2);
const result = size.fileFinishedImporting("modules/guild_settings/roles/GuildSettingsRolesUtils.tsx");
export const ADD_MEMBER_QUERY_LIMIT = 50;
export const MAX_PREFETCH_MEMBER_COUNT = 1000;
export const useGuildMembers = function useGuildMembers(id, callback) {
_require = id;
closure_1 = callback;
const items = [GuildMemberStore];
const items1 = [id, callback];
stateFromStoresArray = require("initialize").useStateFromStoresArray(items, () => {
const members = GuildMemberStore.getMembers(closure_0);
let found = members;
if (null != closure_1) {
found = members.filter(tmp);
}
return found;
}, items1);
const obj = require("initialize");
const items2 = [UserStore];
const items3 = [stateFromStoresArray];
const stateFromStoresObject = require("initialize").useStateFromStoresObject(items2, () => current.reduce((acc, userId) => {
user = user.getUser(userId.userId);
if (null != user) {
acc[userId.userId] = user;
}
return acc;
}, {}), items3);
const items4 = [stateFromStoresArray, stateFromStoresObject, id];
return stateFromStoresObject.useMemo(() => {
const items = [];
const iter = current[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp3 = nextResult;
let tmp5 = ref[nextResult.userId];
let obj = tmp5;
if (null != tmp5) {
let nick = tmp3.nick;
if (nick == null) {
let obj2 = UserUtilsDefault;
nick = obj2.getName(obj);
}
let obj5 = { name: nick, userTag: null, id: null, avatarSource: null, avatarURL: null, bot: null, verifiedBot: null, roles: null, key: null, user: null };
let obj4 = UserUtilsDefault;
obj5.userTag = obj4.getUserTag(obj);
obj5.id = tmp3.userId;
obj5.avatarSource = obj.getAvatarSource(closure_0);
obj5.avatarURL = obj.getAvatarURL(closure_0, 80);
obj5.bot = obj.bot;
obj5.verifiedBot = obj.isVerifiedBot();
({ roles: obj3.roles, userId: obj3.key } = tmp3);
obj5.user = obj;
let arr = items.push(obj5);
}
continue;
}
return items;
}, items4);
};
export const useGuildRoleMembers = function useGuildRoleMembers(id, id2, onMembersLoadFail) {
_require = id;
closure_1 = id2;
dependencyMap = onMembersLoadFail;
noop = noop.useRef(onMembersLoadFail);
const effect = noop.useEffect(() => {
closure_3.current = current;
});
let items = [id, id2];
const effect1 = noop.useEffect(() => {
const membersForRole = GuildRoleMemberActionCreators.requestMembersForRole(closure_0, closure_1);
membersForRole.catch(ref.current);
}, items);
const items1 = [id2];
const callback = noop.useCallback((roles) => {
roles = roles.roles;
return roles.includes(closure_1);
}, items1);
closure_129_0 = id;
closure_129_1 = callback;
const items2 = [GuildMemberStore];
const items3 = [id, callback];
const stateFromStoresArray = require("initialize").useStateFromStoresArray(items2, () => {
const members = GuildMemberStore.getMembers(closure_0);
let found = members;
if (null != closure_1) {
found = members.filter(tmp);
}
return found;
}, items3);
closure_129_2 = stateFromStoresArray;
let obj = require("initialize");
const items4 = [UserStore];
const items5 = [stateFromStoresArray];
const stateFromStoresObject = require("initialize").useStateFromStoresObject(items4, () => current.reduce((acc, userId) => {
user = user.getUser(userId.userId);
if (null != user) {
acc[userId.userId] = user;
}
return acc;
}, {}), items5);
closure_129_3 = stateFromStoresObject;
const items6 = [stateFromStoresArray, stateFromStoresObject, id];
return noop.useMemo(() => {
const items = [];
const iter = current[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp3 = nextResult;
let tmp5 = ref[nextResult.userId];
let obj = tmp5;
if (null != tmp5) {
let nick = tmp3.nick;
if (nick == null) {
let obj2 = UserUtilsDefault;
nick = obj2.getName(obj);
}
let obj5 = { name: nick, userTag: null, id: null, avatarSource: null, avatarURL: null, bot: null, verifiedBot: null, roles: null, key: null, user: null };
let obj4 = UserUtilsDefault;
obj5.userTag = obj4.getUserTag(obj);
obj5.id = tmp3.userId;
obj5.avatarSource = obj.getAvatarSource(closure_0);
obj5.avatarURL = obj.getAvatarURL(closure_0, 80);
obj5.bot = obj.bot;
obj5.verifiedBot = obj.isVerifiedBot();
({ roles: obj3.roles, userId: obj3.key } = tmp3);
obj5.user = obj;
let arr = items.push(obj5);
}
continue;
}
return items;
}, items6);
};
export const useQueryGuildMembers = function useQueryGuildMembers(id, formatted) {
closure_0 = id;
closure_1 = formatted;
noop.useRef(false);
const items = [id, formatted];
const effect = noop.useEffect(() => {
const members = GuildUtilsDefault.requestMembers(closure_0, closure_1, 200);
let current = "" === closure_1;
if (!current) {
current = ref.current;
}
if (!current) {
AnalyticsUtilsDefault.track(AnalyticEvents.SEARCH_STARTED, { search_type: "Role Members" });
ref.current = true;
const tmpResult = AnalyticsUtilsDefault;
}
}, items);
};
export const filterFullMembersByQuery = function filterFullMembersByQuery(str, id) {
const formatted = str.trim().toLowerCase();
let tmp8Result = id.id === formatted;
if (!tmp8Result) {
tmp8Result = fuzzysearchDefault(formatted, id.name.toLowerCase());
}
if (!tmp8Result) {
tmp8Result = fuzzysearchDefault(formatted, id.userTag.toLowerCase());
}
return tmp8Result;
};
export const getSectionAnalyticsName = function getSectionAnalyticsName(DISPLAY) {
if (constants.MEMBERS === DISPLAY) {
return "Members";
} else if (tmp.PERMISSIONS === DISPLAY) {
return "Permissions";
} else if (tmp.DISPLAY === DISPLAY) {
return "Role Settings";
} else if (tmp.VERIFICATIONS === DISPLAY) {
return "Connections";
} else {
GlobalUtils.assertNever(DISPLAY);
}
};
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;
};