23 lines
1.6 KiB
TypeScript
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]));
|
|
}
|