decord/beta/source/modules/vibegrations/lib/useVibegrationsChannelProject.tsx
2026-10-01 14:13:23 +00:00

124 lines
4 KiB
TypeScript

// Module ID: 10463
// Function ID: 10464
// Name: useVibegrationsChannelProject
// Dependencies: [19, 2108, 2067, 4469, 8495, 1074, 5370, 504, 8496, 11, 5371, 2]
// Exports: default
// Module 10463 (useVibegrationsChannelProject)
import Constants from "Constants" /* 1074 */;
import VibegrationsProjectStore2 from "VibegrationsProjectStore" /* 8495 */;
import VibegrationsActionCreators from "VibegrationsActionCreators" /* 8496 */;
import react from "react" /* 19 */;
import GuildMemberStore from "GuildMemberStore" /* 2108 */;
import GuildStore from "GuildStore" /* 2067 */;
import PermissionStore from "PermissionStore" /* 4469 */;
import size from "module_2" /* 2 */;
const VibegrationsProjectStore = VibegrationsProjectStore2;
const isProjectOwner = VibegrationsProjectStore2.isProjectOwner;
const Permissions = Constants.Permissions;
let result = size.fileFinishedImporting("modules/vibegrations/lib/useVibegrationsChannelProject.tsx");
export default function useVibegrationsChannelProject(topic) {
let guild_id;
let stateFromStoresArray;
let tmp = require;
const tmp2 = guild_id;
topic = undefined;
const vibegrationsAppIdFromTopic = require("VibegrationsUtils").vibegrationsAppIdFromTopic;
const tmp3 = require("VibegrationsUtils");
if (topic != null) {
topic = topic.topic;
}
const result = vibegrationsAppIdFromTopic(topic);
require = result;
const tmp6 = null != result;
let closure_1 = tmp6;
guild_id = undefined;
if (topic != null) {
guild_id = topic.guild_id;
}
if (guild_id == null) {
guild_id = null;
}
let items = [GuildStore, PermissionStore];
const items1 = [guild_id];
const tmpResult = tmp(tmp2[7]);
const stateFromStores = tmpResult.useStateFromStores(items, () => {
let guild = null;
if (null != guild_id) {
guild = GuildStore.getGuild(tmp);
}
const canResult = null != guild && PermissionStore.can(Permissions.MANAGE_GUILD, guild);
return canResult;
}, items1);
const items2 = [stateFromStoresArray];
const items3 = [guild_id];
const tmpResult3 = tmp(tmp2[7]);
stateFromStoresArray = tmpResult3.useStateFromStoresArray(items2, () => {
let items;
if (null != guild_id) {
const selfMember = GuildMemberStore.getSelfMember(tmp);
let roles;
if (selfMember != null) {
roles = selfMember.roles;
}
if (roles == null) {
roles = [];
}
items = roles;
} else {
items = [];
}
return items;
}, items3);
const items4 = [tmp6, result, guild_id, stateFromStores, stateFromStoresArray];
const effect = stateFromStores.useEffect(() => {
const tmp = closure_1 && null != require;
if (tmp) {
const listProjects = VibegrationsActionCreators.listProjects;
VibegrationsActionCreators;
listProjects(guild_id);
}
}, items4);
const items5 = [VibegrationsProjectStore];
const items6 = [result, stateFromStores, stateFromStoresArray, guild_id];
const tmpResult4 = tmp(tmp2[7]);
return tmpResult4.useStateFromStores(items5, () => {
let result1;
if (null == result1) {
return null;
} else {
require = VibegrationsProjectStore.findProjectByApplicationId(tmp);
if (null != require) {
if (!isProjectOwner(require)) {
result1 = null;
if (null != guild_id) {
const obj = closure_1(guild_id[9]);
result1 = obj.castGuildIdAsEveryoneGuildRoleId(tmp2);
}
let prop = require.collaborator_role_ids;
if (prop == null) {
prop = [];
}
let tmp7 = null;
if (require.guild_id === guild_id) {
tmp7 = null;
const obj2 = require("VibegrationsTypes");
if (obj2.isProjectPublic(require)) {
const tmp10 = stateFromStores;
if (tmp10) {
tmp7 = require;
} else {
tmp7 = null;
}
}
}
return tmp7;
}
}
return require;
}
}, items6);
};