decord/alpha/source/modules/reactions/canReactToMessage.tsx

109 lines
3.6 KiB
TypeScript
Raw Normal View History

2026-10-08 09:57:35 +00:00
// Module ID: 7961
// Function ID: 7962
// Name: canReactToMessage
2026-10-08 09:57:35 +00:00
// Dependencies: [2124, 5887, 4707, 1389, 1085, 7962, 1402, 4694, 558, 576, 504, 2]
2026-10-03 08:58:59 +00:00
// Exports: canReactToMessage
2026-07-20 16:05:17 +00:00
2026-10-08 09:57:35 +00:00
// Module 7961 (canReactToMessage)
import FlagUtils from "FlagUtils" /* 1402 */;
import CommunicationDisabledUtils from "CommunicationDisabledUtils" /* 4694 */;
import canAddNewReactionsDefault from "canAddNewReactions" /* 7962 */;
import GuildMemberStore from "GuildMemberStore" /* 2124 */;
import GuildVerificationStore from "GuildVerificationStore" /* 5887 */;
import PermissionStore from "PermissionStore" /* 4707 */;
import UserStore from "UserStore" /* 1389 */;
2026-10-03 08:58:59 +00:00
import Constants from "Constants" /* 1085 */;
import ReactCompilerGating from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
const require = globalThis.__r;
2026-10-03 08:58:59 +00:00
let _require;
2026-10-03 08:58:59 +00:00
let c9;
let metroImportAll;
let metroImportDefault;
2026-07-20 16:05:17 +00:00
function canReactToMessageInternal(state, getGuildId, items) {
2026-10-03 08:58:59 +00:00
let obj;
let obj2;
2026-08-25 06:04:03 +00:00
[obj, obj2] = items;
2026-07-20 16:05:17 +00:00
const guildId = getGuildId.getGuildId();
const currentUser = obj.getCurrentUser();
let member = null;
if (null != guildId) {
let id;
2026-07-29 08:29:29 +00:00
if (currentUser != null) {
2026-07-20 16:05:17 +00:00
id = currentUser.id;
}
member = null;
if (null != id) {
member = obj2.getMember(guildId, currentUser.id);
}
}
2026-10-03 08:58:59 +00:00
let tmp6 = canAddNewReactionsDefault(getGuildId) && !getGuildId.isArchivedLockedThread() && state.state !== metroImportDefault.SEND_FAILED && state.type !== metroImportAll.THREAD_STARTER_MESSAGE;
2026-08-25 06:04:03 +00:00
if (tmp6) {
2026-10-03 08:58:59 +00:00
const obj3 = FlagUtils;
tmp6 = !obj3.hasFlag(state.flags, constants3.EPHEMERAL);
2026-07-20 16:05:17 +00:00
}
2026-08-25 06:04:03 +00:00
if (tmp6) {
2026-10-03 08:58:59 +00:00
const obj4 = CommunicationDisabledUtils;
tmp6 = !obj4.isMemberCommunicationDisabled(member);
2026-07-20 16:05:17 +00:00
}
2026-08-25 06:04:03 +00:00
return tmp6;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
({ MessageStates: metroImportDefault, MessageTypes: metroImportAll, MessageFlags: c9 } = Constants);
2026-10-08 09:57:35 +00:00
const tmp3 = ReactCompilerGating.isReactCompilerEnabled() ? (function useCanReactToMessage(arg0, arg1) {
2026-10-03 08:58:59 +00:00
let closure_0;
let first;
_require = arg0;
2026-10-03 08:58:59 +00:00
let closure_1 = arg1;
const obj = require("react");
const cResult = obj.c(4);
const tmp = _require;
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
let items = [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore];
cResult[0] = items;
first = items;
} else {
first = cResult[0];
}
if (cResult[1] === arg1) {
let tmp9;
if (cResult[2] === arg0) {
tmp9 = cResult[3];
}
const tmpResult = tmp(504);
return tmpResult.useStateFromStores(first, tmp9);
}
class M {
constructor() {
items = [, , , ];
items[0] = closure_6;
items[1] = closure_3;
items[2] = closure_4;
items[3] = closure_5;
return canReactToMessageInternal(closure_0, closure_1, items);
}
}
cResult[1] = arg1;
cResult[2] = arg0;
cResult[3] = M;
tmp9 = M;
2026-10-08 09:57:35 +00:00
}) : (function useCanReactToMessage(arg0, arg1) {
2026-10-03 08:58:59 +00:00
let closure_0;
_require = arg0;
let closure_1 = arg1;
let items = [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore];
2026-10-03 08:58:59 +00:00
const obj = require("get initialized");
return obj.useStateFromStores(items, () => {
const items = [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore];
return canReactToMessageInternal(closure_0, closure_1, items);
2026-07-20 16:05:17 +00:00
});
2026-10-03 08:58:59 +00:00
});
const result = size.fileFinishedImporting("modules/reactions/canReactToMessage.tsx");
export const canReactToMessage = function canReactToMessage(message, channel) {
const items = [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore];
return canReactToMessageInternal(message, channel, items);
2026-07-20 16:05:17 +00:00
};
2026-10-03 08:58:59 +00:00
export const useCanReactToMessage = tmp3;