decord/beta/source/modules/conjure/projects/useConjureProjects.tsx
2026-10-12 16:32:48 +00:00

456 lines
15 KiB
TypeScript

// Module ID: 12997
// Function ID: 12998
// Name: useConjureProjects
// Dependencies: [32, 19, 5440, 7321, 4748, 2087, 4750, 4939, 12998, 10652, 1126, 3849, 558, 576, 6948, 12342, 11409, 1453, 504, 6946, 2]
// Exports: describeConjureProjectRow
// Module 12997 (useConjureProjects)
import react2 from "react" /* 576 */;
import intl6 from "intl" /* 1126 */;
import _modDef3849 from "module_3849" /* 3849 */;
import ConjureUtils from "ConjureUtils" /* 6946 */;
import ConjureGuildExperiment from "ConjureGuildExperiment" /* 6948 */;
import conjureAppInServer from "conjureAppInServer" /* 11409 */;
import ConjureActivity from "ConjureActivity" /* 12342 */;
import _slicedToArray from "_slicedToArray" /* 32 */;
import react from "react" /* 19 */;
import ApplicationStore from "ApplicationStore" /* 5440 */;
import UserProfileStore from "UserProfileStore" /* 7321 */;
import GuildChannelStore from "GuildChannelStore" /* 4748 */;
import GuildStore from "GuildStore" /* 2087 */;
import PermissionStore from "PermissionStore" /* 4750 */;
import SelectedGuildStore from "SelectedGuildStore" /* 4939 */;
import ConjureChatStore from "ConjureChatStore" /* 12998 */;
import ConjureProjectStore from "ConjureProjectStore" /* 10652 */;
import ReactCompilerGating_mod from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let _require, map, set;
function conjureEntriesEqual(nextExpiry, nextExpiry2) {
let everyResult = nextExpiry.nextExpiry === nextExpiry2.nextExpiry && nextExpiry.entries.length === nextExpiry2.entries.length;
if (everyResult) {
const entries = nextExpiry.entries;
everyResult = entries.every((projectId, index) => null != nextExpiry2.entries[index] && projectId.projectId === nextExpiry2.entries[index].projectId && projectId.activity === nextExpiry2.entries[index].activity && projectId.name === nextExpiry2.entries[index].name && projectId.project.updated_at === nextExpiry2.entries[index].project.updated_at && projectId.guildId === nextExpiry2.entries[index].guildId && projectId.guildName === nextExpiry2.entries[index].guildName && projectId.notInServer === nextExpiry2.entries[index].notInServer && projectId.guild === nextExpiry2.entries[index].guild);
}
return everyResult;
}
function conjureGuildsEqual(arr, arg1) {
let closure_0 = arg1;
const tmp = arr.length === arg1.length && arr.every((item, index) => item === closure_0[index]);
return tmp;
}
function collectEntries(_location) {
let obj3;
_require = _location;
function add(item10061) {
let name;
let tmpResult3;
const obj = set;
if (!set.has(item10061.id)) {
const obj2 = ConjureActivity;
const result = obj2.conjureProjectGuildId(item10061);
if (null == result) {
obj.add(item10061.id);
const isThinkingResult = ConjureChatStore.isThinking(item10061.id);
let num = ConjureChatStore.getFinishedAt(item10061.id);
const obj4 = { thinking: isThinkingResult, finishedAt: num, now };
const tmpResult = ConjureActivity;
const conjureActivityResult = tmpResult.conjureActivity(obj4);
if ("done" === conjureActivityResult) {
if (null != num) {
const sum = num + tmp(12342).CONJURE_DONE_WINDOW_MS;
bound = sum;
if (null != bound) {
const _Math = Math;
bound = Math.min(bound, sum);
}
}
}
let guild = null;
if (null != result) {
guild = GuildStore.getGuild(result);
}
if (guild == null) {
guild = null;
}
({ id: obj8.projectId, name: obj8.name } = item10061);
const obj5 = { project: item10061, projectId: null, name: null, guildId: result, guild, guildName: name, notInServer: "not_in_server" === tmpResult3.readConjureAppServerPresence(item10061), activity: conjureActivityResult, sortTime: num };
name = undefined;
const push = items.push;
if (guild != null) {
name = guild.name;
}
if (name == null) {
name = null;
}
tmpResult3 = conjureAppInServer;
if (null == num) {
num = 0;
if (null != item10061.updated_at) {
const _Date = Date;
const parsed = Date.parse(item10061.updated_at);
const _Number = Number;
let num2 = 0;
if (!Number.isNaN(parsed)) {
num2 = parsed;
}
num = num2;
}
}
push(obj5);
} else {
let value = map.get(result);
const obj3 = map;
if (null == value) {
const obj6 = { guildId: result, location: _location };
const tmpResult4 = ConjureGuildExperiment;
const result1 = tmpResult4.isConjureGuildEnabled(obj6);
const result2 = obj3.set(result, result1);
value = result1;
}
}
}
}
function isEnabled(id) {
const value = map.get(id);
const obj = map;
if (null != value) {
return value;
} else {
const obj3 = { guildId: id, location: _location };
const obj2 = ConjureGuildExperiment;
const result = obj2.isConjureGuildEnabled(obj3);
const result1 = obj.set(id, result);
return result;
}
}
const now = Date.now();
map = new Map();
set = new Set();
const items = [];
let bound = null;
const ownedProjects = ConjureProjectStore.getOwnedProjects();
const iter = ownedProjects[Symbol.iterator]();
while (iter !== undefined) {
let addResult = add(iter.next());
continue;
}
const values = Object.values(GuildStore.getGuilds());
for (const item10042 of values) {
let tmp6 = item10042;
let obj = ConjureProjectStore;
if (ConjureProjectStore.hasFetchedGuildProjects(item10042.id)) {
if (isEnabled(tmp6.id)) {
let sharedProjects = obj.getSharedProjects(tmp6.id);
for (const item10061 of sharedProjects) {
let addResult1 = add(item10061);
continue;
}
}
}
continue;
}
let obj2 = { entries: obj3.sortConjureProjects(items), nextExpiry: bound };
obj3 = require("ConjureActivity");
return obj2;
}
let ReactCompilerGating = ReactCompilerGating_mod;
let closure_15 = ReactCompilerGating.isReactCompilerEnabled() ? (function useDoneWindowExpiry(arg0, arg1) {
let closure_0 = arg0;
let closure_1 = arg1;
const obj = react2;
const cResult = obj.c(4);
if (cResult[0] === arg0) {
let tmp2;
let tmp3;
if (cResult[1] === arg1) {
tmp2 = cResult[2];
tmp3 = cResult[3];
}
const effect = react.useEffect(tmp2, tmp3);
}
const fn = function o() {
let timeout;
if (null != timeout) {
const _Math = Math;
const _Date = Date;
const _setTimeout = setTimeout;
timeout = setTimeout(() => closure_1_1((arg0) => arg0 + 1), Math.max(0, tmp - Date.now()));
return () => clearTimeout(closure_0);
}
};
const items = [arg0, arg1];
cResult[0] = arg0;
cResult[1] = arg1;
cResult[2] = fn;
cResult[3] = items;
tmp3 = items;
tmp2 = fn;
}) : (function useDoneWindowExpiry(arg0, arg1) {
let closure_0 = arg0;
let closure_1 = arg1;
const items = [arg0, arg1];
const effect = react.useEffect(() => {
let timeout;
if (null != timeout) {
const _Math = Math;
const _Date = Date;
const _setTimeout = setTimeout;
timeout = setTimeout(() => closure_1_1((arg0) => arg0 + 1), Math.max(0, tmp - Date.now()));
return () => clearTimeout(closure_0);
}
}, items);
});
ReactCompilerGating = ReactCompilerGating_mod;
let tmp2 = ReactCompilerGating.isReactCompilerEnabled() ? (function useConjureProjects(arg0) {
let closure_0;
let first;
let first1;
let tmp14;
let tmp6;
_require = arg0;
const obj = require("react");
const cResult = obj.c(6);
[first, tmp6] = react.useState(0);
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
const items = [ConjureProjectStore, ConjureChatStore, GuildStore, GuildChannelStore, UserProfileStore, ApplicationStore, require("ApexExperiment").ApexExperimentStore];
cResult[0] = items;
first1 = items;
} else {
first1 = cResult[0];
}
if (cResult[1] !== arg0) {
const fn = function v() {
return collectEntries(closure_0);
};
cResult[1] = arg0;
cResult[2] = fn;
tmp14 = fn;
} else {
tmp14 = cResult[2];
}
if (cResult[3] === arg0) {
let tmp15;
if (cResult[4] === first) {
tmp15 = cResult[5];
}
const tmpResult = require("get initialized");
const stateFromStores = tmpResult.useStateFromStores(first1, tmp14, tmp15, conjureEntriesEqual);
const entries = stateFromStores.entries;
closure_15(stateFromStores.nextExpiry, tmp6);
return entries;
}
const items1 = [arg0, first];
cResult[3] = arg0;
cResult[4] = first;
cResult[5] = items1;
tmp15 = items1;
}) : (function useConjureProjects(arg0) {
let closure_0;
let tmp2;
let tmp3;
_require = arg0;
[tmp2, tmp3] = react.useState(0);
_slicedToArray(react.useState(0), 2);
const items = [ConjureProjectStore, ConjureChatStore, GuildStore, GuildChannelStore, UserProfileStore, ApplicationStore, ];
const useStateFromStores = require("get initialized").useStateFromStores;
require("get initialized");
items[6] = require("ApexExperiment").ApexExperimentStore;
const items1 = [arg0, tmp2];
const stateFromStores = useStateFromStores(items, () => collectEntries(closure_0), items1, conjureEntriesEqual);
const entries = stateFromStores.entries;
closure_15(stateFromStores.nextExpiry, tmp3);
return entries;
});
ReactCompilerGating = ReactCompilerGating_mod;
let tmp3 = ReactCompilerGating.isReactCompilerEnabled() ? (function useConjureEligibleGuilds(arg0) {
let closure_0;
let first;
let tmp7;
let tmp8;
_require = arg0;
let obj = require("react");
const cResult = obj.c(4);
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
const items = [GuildStore, require("ApexExperiment").ApexExperimentStore, PermissionStore];
cResult[0] = items;
first = items;
} else {
first = cResult[0];
}
if (cResult[1] !== arg0) {
const fn = function u() {
const values = Object.values(GuildStore.getGuilds());
const found = values.filter((item) => {
const obj = closure_0(dependencyMap[19]);
return obj.canStartConjureProject(item, closure_1_0);
});
return found.sort((name, name2) => {
name = name.name;
return name.localeCompare(name2.name);
});
};
const items1 = [arg0];
cResult[1] = arg0;
cResult[2] = fn;
cResult[3] = items1;
tmp8 = items1;
tmp7 = fn;
} else {
tmp7 = cResult[2];
tmp8 = cResult[3];
}
const tmpResult = require("get initialized");
return tmpResult.useStateFromStores(first, tmp7, tmp8, conjureGuildsEqual);
}) : (function useConjureEligibleGuilds(arg0) {
let closure_0;
_require = arg0;
const items = [GuildStore, , ];
const useStateFromStores = require("get initialized").useStateFromStores;
require("get initialized");
items[1] = require("ApexExperiment").ApexExperimentStore;
items[2] = PermissionStore;
const items1 = [arg0];
return useStateFromStores(items, () => {
const values = Object.values(GuildStore.getGuilds());
const found = values.filter((item) => {
const obj = closure_0(dependencyMap[19]);
return obj.canStartConjureProject(item, closure_1_0);
});
return found.sort((name, name2) => {
name = name.name;
return name.localeCompare(name2.name);
});
}, items1, conjureGuildsEqual);
});
ReactCompilerGating = ReactCompilerGating_mod;
const tmp4 = ReactCompilerGating.isReactCompilerEnabled() ? (function useConjureForMeGuildId(arg0) {
let closure_0;
let first;
let tmp7;
let tmp8;
_require = arg0;
let obj = require("react");
const cResult = obj.c(4);
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
const items = [GuildStore, SelectedGuildStore, require("ApexExperiment").ApexExperimentStore];
cResult[0] = items;
first = items;
} else {
first = cResult[0];
}
if (cResult[1] !== arg0) {
const fn = function u() {
let id;
let obj = GuildStore;
const guild = GuildStore.getGuild(SelectedGuildStore.getGuildId());
if (null != guild) {
const obj2 = ConjureUtils;
if (obj2.canAccessConjure(guild, closure_0)) {
id = guild.id;
}
return id;
}
const values = Object.values(obj.getGuilds());
id = undefined;
const sorted = values.sort((name, name2) => {
name = name.name;
return name.localeCompare(name2.name);
});
const found = sorted.find((item) => {
const obj = closure_0(dependencyMap[19]);
return obj.canAccessConjure(item, closure_1_0);
});
if (found != null) {
id = found.id;
}
if (id == null) {
id = null;
}
};
const items1 = [arg0];
cResult[1] = arg0;
cResult[2] = fn;
cResult[3] = items1;
tmp8 = items1;
tmp7 = fn;
} else {
tmp7 = cResult[2];
tmp8 = cResult[3];
}
const tmpResult = require("get initialized");
return tmpResult.useStateFromStores(first, tmp7, tmp8);
}) : (function useConjureForMeGuildId(arg0) {
let closure_0;
_require = arg0;
const items = [GuildStore, SelectedGuildStore, ];
const useStateFromStores = require("get initialized").useStateFromStores;
require("get initialized");
items[2] = require("ApexExperiment").ApexExperimentStore;
const items1 = [arg0];
return useStateFromStores(items, () => {
let id;
let obj = GuildStore;
const guild = GuildStore.getGuild(SelectedGuildStore.getGuildId());
if (null != guild) {
const obj2 = ConjureUtils;
if (obj2.canAccessConjure(guild, closure_0)) {
id = guild.id;
}
return id;
}
const values = Object.values(obj.getGuilds());
id = undefined;
const sorted = values.sort((name, name2) => {
name = name.name;
return name.localeCompare(name2.name);
});
const found = sorted.find((item) => {
const obj = closure_0(dependencyMap[19]);
return obj.canAccessConjure(item, closure_1_0);
});
if (found != null) {
id = found.id;
}
if (id == null) {
id = null;
}
}, items1);
});
let result = size.fileFinishedImporting("modules/conjure/projects/useConjureProjects.tsx");
export const describeConjureProjectRow = function describeConjureProjectRow(entry) {
let intl;
let intl2;
let intl3;
let intl4;
let intl5;
let obj;
let obj11;
let obj4;
let obj6;
if (entry.notInServer) {
const obj3 = { serverName: intl4.string(_modDef3849["08PzLy"]), label: intl5.formatToPlainString(_modDef3849.pyh2pa, obj4) };
intl4 = intl6.intl;
intl5 = intl6.intl;
obj = obj3;
obj4 = { name: entry.name };
} else if (null == entry.guildName) {
const obj5 = { serverName: intl2.string(_modDef3849["3QFps8"]), label: intl3.formatToPlainString(_modDef3849["2sBOnp"], obj6) };
intl2 = intl6.intl;
intl3 = intl6.intl;
obj = obj5;
obj6 = { name: entry.name };
} else {
obj = { serverName: entry.guildName, label: intl.formatToPlainString(_modDef3849["hd+GF1"], obj11) };
intl = intl6.intl;
obj11 = { name: null, server: null };
({ name: obj2.name, guildName: obj2.server } = entry);
}
return obj;
};
export const useConjureProjects = tmp2;
export const useConjureEligibleGuilds = tmp3;
export const useConjureForMeGuildId = tmp4;