decord/source/modules/guild_scheduled_events/useCanCreateAnEvent.tsx

51 lines
1.8 KiB
TypeScript
Raw Normal View History

// Module ID: 9813
// Function ID: 9814
2026-07-29 08:29:29 +00:00
// Name: useCanCreateAnEvent
// Dependencies: [32, 2013, 1980, 4276, 1074, 504, 9811, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
// Module 9813 (useCanCreateAnEvent)
import useManageResourcePermissions from "useManageResourcePermissions" /* 9811 */;
import _slicedToArray from "module_32" /* 32 */;
import GuildChannelStore from "GuildChannelStore" /* 2013 */;
import GuildStore from "GuildStore" /* 1980 */;
import PermissionStore from "PermissionStore" /* 4276 */;
2026-07-23 10:11:24 +00:00
const require = globalThis.__r;
require = fn;
const GUILD_VOCAL_CHANNELS_KEY = fn(2013).GUILD_VOCAL_CHANNELS_KEY;
const Permissions = fn(1074).Permissions;
const size = fn(2);
const result = size.fileFinishedImporting("modules/guild_scheduled_events/useCanCreateAnEvent.tsx");
2026-07-20 16:05:17 +00:00
export default function useCanCreateAnEvent(arg0, arg1) {
_require = arg0;
2026-08-24 06:08:38 +00:00
dependencyMap = arg1;
const items = [GuildStore, GuildChannelStore, PermissionStore];
2026-07-20 16:05:17 +00:00
const items1 = [arg0, arg1];
return require("initialize").useStateFromStores(items, () => {
const guild = GuildStore.getGuild(closure_0);
if (!PermissionStore.can(Permissions.ADMINISTRATOR, guild)) {
if (!PermissionStore.can(Permissions.CREATE_EVENTS, guild)) {
const tmp8 = GuildChannelStore.getChannels(closure_0)[GUILD_VOCAL_CHANNELS_KEY];
2026-07-29 08:29:29 +00:00
const iter = tmp8[Symbol.iterator]();
while (iter !== undefined) {
let channel = iter.next().channel;
if (null == closure_1) {
let obj2 = useManageResourcePermissions;
if (PermissionStore.can(_slicedToArray(obj2.attachChannelPermissions(channel), 1)[0], channel)) {
2026-07-29 08:29:29 +00:00
iter.return();
let flag = true;
return true;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
return false;
}
}
return true;
}, items1);
};