decord/source/modules/instant_invite/useInviteAssignableRoles.tsx

74 lines
2.7 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 17111
// Function ID: 17112
2026-07-20 16:05:17 +00:00
// Name: useInviteAssignableRoles
2026-08-24 06:08:38 +00:00
// Dependencies: [19, 1985, 1984, 4024, 1922, 676, 589, 4029, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-08-24 06:08:38 +00:00
// Module 17111 (useInviteAssignableRoles)
import closure_3 from "noop" /* 19 */;
import { isEveryoneRole } from "GuildRoleRecordTypeTag" /* 1985 */;
import closure_5 from "createGuildRoleRecordFromRust" /* 1984 */;
import closure_6 from "getUncachedChannelPermissions" /* 4024 */;
import closure_7 from "mergeGuildAvatar" /* 1922 */;
import { Permissions } from "ME" /* 676 */;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-08-24 06:08:38 +00:00
const result = require("set").fileFinishedImporting("modules/instant_invite/useInviteAssignableRoles.tsx");
2026-07-20 16:05:17 +00:00
export default function useInviteAssignableRoles(arg0) {
2026-07-23 10:11:24 +00:00
const _require = arg0;
2026-08-24 06:08:38 +00:00
const items = [closure_5, closure_7, closure_6];
2026-07-20 16:05:17 +00:00
const items1 = [arg0];
2026-07-23 10:11:24 +00:00
const stateFromStoresObject = _require(currentUser[6]).useStateFromStoresObject(items, () => {
2026-07-29 08:29:29 +00:00
if (null != closure_0) {
2026-08-24 06:08:38 +00:00
sortedRoles = closure_1_5.getSortedRoles(tmp.id);
2026-07-20 16:05:17 +00:00
} else {
sortedRoles = [];
}
2026-08-24 06:08:38 +00:00
const obj = { sortedRoles, currentUser: closure_1_7.getCurrentUser(), canManageRoles: null };
2026-07-29 08:29:29 +00:00
let canResult = null != tmp;
2026-07-20 16:05:17 +00:00
if (canResult) {
2026-08-24 06:08:38 +00:00
canResult = closure_1_6.can(closure_1_8.MANAGE_ROLES, tmp);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj[2] = canResult;
2026-07-20 16:05:17 +00:00
return obj;
}, items1);
2026-07-23 10:11:24 +00:00
let sortedRoles = stateFromStoresObject.sortedRoles;
currentUser = stateFromStoresObject.currentUser;
2026-07-20 16:05:17 +00:00
const canManageRoles = stateFromStoresObject.canManageRoles;
const items2 = [arg0, currentUser, canManageRoles, sortedRoles];
2026-07-23 10:11:24 +00:00
return canManageRoles.useMemo(() => {
2026-07-20 16:05:17 +00:00
if (null != highestRole) {
if (null != currentUser) {
if (canManageRoles) {
2026-07-29 08:29:29 +00:00
highestRole = sortedRoles(currentUser[7]).getHighestRole(tmp, tmp2.id);
2026-07-20 16:05:17 +00:00
return sortedRoles.filter((managed) => {
2026-08-24 06:08:38 +00:00
const tmp = closure_2_4(managed);
2026-07-29 08:29:29 +00:00
let tmp2 = !tmp;
if (!tmp) {
managed = managed.managed;
let tmp3 = !managed;
if (!managed) {
2026-07-20 16:05:17 +00:00
const tags = managed.tags;
let guild_connections;
2026-07-29 08:29:29 +00:00
if (tags != null) {
2026-07-20 16:05:17 +00:00
guild_connections = tags.guild_connections;
}
let isRoleHigherResult = undefined === guild_connections;
if (isRoleHigherResult) {
2026-07-23 10:11:24 +00:00
const obj = sortedRoles(currentUser[7]);
2026-08-24 06:08:38 +00:00
isRoleHigherResult = obj.isRoleHigher(closure_0, closure_1_2.id, closure_0, managed);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp3 = isRoleHigherResult;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp2 = tmp3;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp2;
2026-07-20 16:05:17 +00:00
});
}
}
}
return [];
}, items2);
};