// Metro module 10374 (f10375). import LurkingStore from "../lurker_mode/LurkingStore"; import GuildMemberStore from "../../stores/GuildMemberStore"; import GuildVerificationStore from "../../stores/GuildVerificationStore"; import PermissionStore from "../../stores/PermissionStore"; import { Permissions } from "../../Constants"; import { useStateFromStores } from "../../_bundle/Module589"; import { useCurrentUserAutomodQuaratinedProfile } from "../guild_automod/AutomodPermissionUtils"; import { useCurrentUserCommunicationDisabled } from "../guild_communication_disabled/useUserCommunicationDisabled"; import { useIsActiveChannelOrUnarchivableThread } from "../threads/ThreadHooks"; import parseReactionPermissions from "./parseReactionPermissions"; export default function useReactionPermissions(a0) { const guild_id = a0?.guild_id; const stateFromStores = useStateFromStores([GuildVerificationStore], () => guild_id == null || GuildVerificationStore.canChatInGuild(guild_id), [guild_id]); const stateFromStores2 = useStateFromStores([LurkingStore], () => guild_id != null && LurkingStore.isLurking(guild_id), [guild_id]); const stateFromStores3 = useStateFromStores([GuildMemberStore], () => guild_id != null && GuildMemberStore.isCurrentUserGuest(guild_id), [guild_id]); const stateFromStores4 = useStateFromStores([PermissionStore], () => { let r0 = stateFromStores; if (stateFromStores) { r0 = PermissionStore.can(Permissions.ADD_REACTIONS, a0); } return r0; }, [stateFromStores, a0]); const currentUserAutomodQuaratinedProfile = useCurrentUserAutomodQuaratinedProfile(guild_id); const [, communicationDisabled] = useCurrentUserCommunicationDisabled(guild_id); const isActiveChannelOrUnarchivableThread = useIsActiveChannelOrUnarchivableThread(a0); return a0 == null ? { disableReactionReads: true, disableReactionCreates: true, disableReactionUpdates: true, isLurking: false, isGuest: false, isPendingMember: false } : { ...parseReactionPermissions({ channel: a0, canChat: stateFromStores, renderReactions: true, canAddNewReactions: stateFromStores4, isLurking: stateFromStores2, communicationDisabled, isActiveChannelOrUnarchivableThread, isAutomodQuarantined: currentUserAutomodQuaratinedProfile }), isLurking: stateFromStores2, isGuest: stateFromStores3, isPendingMember: false }; };