decord/source/modules/instant_invite/useInviteAssignableRoles.tsx

74 lines
2.7 KiB
TypeScript
Raw Normal View History

2026-07-23 10:11:24 +00:00
// Module ID: 16492
// Function ID: 128530
2026-07-20 16:05:17 +00:00
// Name: useInviteAssignableRoles
2026-07-23 10:11:24 +00:00
// Dependencies: [31, 1911, 1910, 3758, 1849, 653, 566, 3763, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-07-23 10:11:24 +00:00
// Module 16492 (useInviteAssignableRoles)
import result from "result";
import { isEveryoneRole } from "GuildRoleRecordTypeTag";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import closure_7 from "_isNativeReflectConstruct";
import { Permissions } from "ME";
const require = arg1;
const result = require("_createForOfIteratorHelperLoose").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;
const items = [_createForOfIteratorHelperLoose, closure_7, _isNativeReflectConstruct];
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-20 16:05:17 +00:00
const obj = {};
2026-07-23 10:11:24 +00:00
if (null != id) {
let sortedRoles = outer1_5.getSortedRoles(id.id);
2026-07-20 16:05:17 +00:00
} else {
sortedRoles = [];
}
obj.sortedRoles = sortedRoles;
2026-07-23 10:11:24 +00:00
obj.currentUser = outer1_7.getCurrentUser();
let canResult = null != id;
2026-07-20 16:05:17 +00:00
if (canResult) {
2026-07-23 10:11:24 +00:00
canResult = outer1_6.can(outer1_8.MANAGE_ROLES, id);
2026-07-20 16:05:17 +00:00
}
obj.canManageRoles = canResult;
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-23 10:11:24 +00:00
highestRole = sortedRoles(currentUser[7]).getHighestRole(highestRole, currentUser.id);
2026-07-20 16:05:17 +00:00
return sortedRoles.filter((managed) => {
2026-07-23 10:11:24 +00:00
let tmp = !outer2_4(managed);
2026-07-20 16:05:17 +00:00
if (tmp) {
let tmp2 = !managed.managed;
if (tmp2) {
const tags = managed.tags;
let guild_connections;
if (null != tags) {
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]);
isRoleHigherResult = obj.isRoleHigher(closure_0, outer1_2.id, closure_0, managed);
2026-07-20 16:05:17 +00:00
}
tmp2 = isRoleHigherResult;
}
tmp = tmp2;
}
return tmp;
});
}
}
}
return [];
}, items2);
};