82 lines
2.9 KiB
TypeScript
82 lines
2.9 KiB
TypeScript
// Module ID: 17626
|
|
// Function ID: 17627
|
|
// Name: useInviteAssignableRoles
|
|
// Dependencies: [19, 2103, 2102, 4469, 1372, 1074, 504, 4474, 2]
|
|
// Exports: default
|
|
|
|
// Module 17626 (useInviteAssignableRoles)
|
|
import Constants from "Constants" /* 1074 */;
|
|
import GuildRoleRecord from "GuildRoleRecord" /* 2103 */;
|
|
import PermissionUtilsAll from "PermissionUtils" /* 4474 */;
|
|
import react from "react" /* 19 */;
|
|
import GuildRoleStore from "GuildRoleStore" /* 2102 */;
|
|
import PermissionStore from "PermissionStore" /* 4469 */;
|
|
import UserStore from "UserStore" /* 1372 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
const require = globalThis.__r;
|
|
let _require;
|
|
|
|
const isEveryoneRole = GuildRoleRecord.isEveryoneRole;
|
|
const Permissions = Constants.Permissions;
|
|
const result = size.fileFinishedImporting("modules/instant_invite/useInviteAssignableRoles.tsx");
|
|
|
|
export default function useInviteAssignableRoles(arg0) {
|
|
let closure_0;
|
|
let currentUser;
|
|
_require = arg0;
|
|
let obj = require("get initialized");
|
|
const items = [GuildRoleStore, UserStore, PermissionStore];
|
|
const items1 = [arg0];
|
|
const stateFromStoresObject = obj.useStateFromStoresObject(items, () => {
|
|
let canResult;
|
|
if (null != closure_0) {
|
|
sortedRoles = GuildRoleStore.getSortedRoles(tmp.id);
|
|
} else {
|
|
sortedRoles = [];
|
|
}
|
|
const obj = { sortedRoles, currentUser: UserStore.getCurrentUser(), canManageRoles: canResult };
|
|
canResult = null != tmp && PermissionStore.can(Permissions.MANAGE_ROLES, tmp);
|
|
return obj;
|
|
}, items1);
|
|
let sortedRoles = stateFromStoresObject.sortedRoles;
|
|
currentUser = stateFromStoresObject.currentUser;
|
|
const canManageRoles = stateFromStoresObject.canManageRoles;
|
|
const items2 = [arg0, currentUser, canManageRoles, sortedRoles];
|
|
return canManageRoles.useMemo(() => {
|
|
let highestRole;
|
|
let tmp2;
|
|
if (null != highestRole) {
|
|
if (null != currentUser) {
|
|
let tmp3 = canManageRoles;
|
|
if (tmp3) {
|
|
let obj = sortedRoles(currentUser[7]);
|
|
highestRole = obj.getHighestRole(tmp, tmp2.id);
|
|
return sortedRoles.filter((managed) => {
|
|
let tmp2 = !isEveryoneRole(managed);
|
|
isEveryoneRole(managed);
|
|
if (tmp2) {
|
|
let tmp3 = !managed.managed;
|
|
if (tmp3) {
|
|
const tags = managed.tags;
|
|
let guild_connections;
|
|
if (tags != null) {
|
|
guild_connections = tags.guild_connections;
|
|
}
|
|
let isRoleHigherResult = undefined === guild_connections;
|
|
if (isRoleHigherResult) {
|
|
const obj = PermissionUtilsAll;
|
|
isRoleHigherResult = obj.isRoleHigher(closure_0, currentUser.id, closure_0, managed);
|
|
}
|
|
tmp3 = isRoleHigherResult;
|
|
}
|
|
tmp2 = tmp3;
|
|
}
|
|
return tmp2;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
return [];
|
|
}, items2);
|
|
};
|