Files
discord-decomp/modules/reactions/canReactToMessage.tsx
T
2026-11-01 12:12:55 +02:00

23 lines
1.6 KiB
TypeScript

// Metro module 7752 (f7753).
import GuildMemberStore from "../../stores/GuildMemberStore";
import GuildVerificationStore from "../../stores/GuildVerificationStore";
import PermissionStore from "../../stores/PermissionStore";
import UserStore from "../../stores/UserStore";
import { MessageFlags, MessageStates, MessageTypes, Permissions } from "../../Constants";
import { hasFlag } from "../../_bundle/Module1384";
import { isMemberCommunicationDisabled } from "../guild_communication_disabled/CommunicationDisabledUtils";
import { useStateFromStores } from "../../_bundle/Module589";
const canReactToMessageInternal = function canReactToMessageInternal(a0, a1, a2) {
const [r29, r10, r8, r9] = a2;
const guildId = a1.getGuildId();
const currentUser = r29.getCurrentUser();
const r46 = guildId != null ? currentUser?.id != null ? r10.getMember(guildId, currentUser.id) : null : null;
return (guildId != null && r8.canChatInGuild(guildId) && r9.can(Permissions.ADD_REACTIONS, a1) || a1.isPrivate()) && !a1.isArchivedLockedThread() && a0.state !== MessageStates.SEND_FAILED && a0.type !== MessageTypes.THREAD_STARTER_MESSAGE && !hasFlag(a0.flags, MessageFlags.EPHEMERAL) && !isMemberCommunicationDisabled(r46);
};
export function canReactToMessage(a0, a1) {
return canReactToMessageInternal(a0, a1, [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore]);
}
export function useCanReactToMessage(c16008_0, c16008_1) {
return useStateFromStores([UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore], () => canReactToMessageInternal(c16008_0, c16008_1, [UserStore, GuildMemberStore, GuildVerificationStore, PermissionStore]));
}