// Metro module 15359 (f15360). import { memo, useEffect, useCallback } from "react"; import { View } from "react-native"; import ChannelStore from "../../../stores/ChannelStore"; import GuildStore from "../../../stores/GuildStore"; import RelationshipStore from "../../../stores/RelationshipStore"; import UserGuildSettingsStore from "../../../stores/UserGuildSettingsStore"; import UserStore from "../../../stores/UserStore"; import { ITEM_PADDING } from "./DesignConstants"; import { createICYMIStyles } from "./createICYMIStyles"; import Module712 from "../../../_bundle/Module712"; import { useStateFromStores } from "../../../_bundle/Module589"; import GuildActionCreators from "../../../actions/GuildActionCreators"; import ICYMIActionCreators from "../ICYMIActionCreators"; import { openChannelLongPressActionSheet } from "../../channel/native/openChannelLongPressActionSheet"; import { showLongPressMessageActionSheet } from "../../messages/native/long_press/showLongPressMessageActionSheet"; import { navigateToPost } from "./ICYMIShared"; import { useGravityMessage } from "../ICYMIUtils"; import ICYMICardInCard from "./ICYMICardInCard"; import { intl, t } from "../../../intl/index.native"; import SnowflakeUtils from "../../../utils/SnowflakeUtils"; import { PressableHighlight } from "../../../design/void/Pressables/native/Pressables"; import getChannelA11yLabel, { getChannelA11yHint } from "../../channel/getChannelA11yLabel"; import { MessageRowContent } from "./ICYMIMessageRow"; import ICYMICardInteractionRow from "./ICYMICardInteractionRow"; let Component; const styles = createICYMIStyles((a0) => ({ pressable: { flex: 1, paddingLeft: a0.inset }, footer: { marginVertical: a0.margin, gap: Module712.space.PX_8, paddingHorizontal: ITEM_PADDING, marginLeft: a0.inset } })); Component = memo(function({ unread, message, guild, channel, visible }) { const stateFromStores2 = useStateFromStores([UserGuildSettingsStore], () => UserGuildSettingsStore.isChannelMuted(channel.getGuildId(), channel.id)); const r14 = styles(); useEffect(() => { if (guild?.id != null) { GuildActionCreators.requestMembersById(guild?.id, message.author.id); } }, [guild?.id, message.author.id]); const callback3 = useCallback(() => { ICYMIActionCreators.itemInteracted(message.id, "announcement", "long_press_channel"); ICYMIActionCreators.feedItemActioned({ itemId: message.id, itemType: "announcement", actionParameters: { actionGestureType: "long_press", actionTargetElement: "item_header", actionIntentType: "open", actionDestinationType: "channel" } }); openChannelLongPressActionSheet(channel.id); }, [channel.id, message.id]); const callback = useCallback(() => { ICYMIActionCreators.itemInteracted(message.id, "announcement", "long_press_message"); ICYMIActionCreators.feedItemActioned({ itemId: message.id, itemType: "announcement", actionParameters: { actionGestureType: "long_press", actionTargetElement: "item_container", actionIntentType: "open", actionDestinationType: "channel" } }); showLongPressMessageActionSheet({ channel, message, user: UserStore.getUser(message.author.id) }); }, [channel, message]); const callback2 = useCallback(() => { ICYMIActionCreators.itemInteracted(message.id, "announcement", "press_message"); ICYMIActionCreators.feedItemActioned({ itemId: message.id, itemType: "announcement", actionParameters: { actionGestureType: "press", actionTargetElement: "item_container", actionIntentType: "navigate", actionDestinationType: "channel" } }); if (message != null) { ICYMIActionCreators.ackGravityItems([{ id: message.id, timestamp: Date.now() }]); navigateToPost(channel.id, guild.id, message.id); } }, [message, channel.id, guild.id]); const gravityMessage = useGravityMessage(message); return ; }); export default function AnnouncementMessageRowWrapper(props) { let author; const { unread, message: message2, visible } = props; author = void 0; const stateFromStores = useStateFromStores([ChannelStore], () => ChannelStore.getChannel(message2.getChannelId())); const stateFromStores2 = useStateFromStores([GuildStore], () => GuildStore.getGuild(stateFromStores?.guild_id)); const gravityMessage = useGravityMessage(message2); author = gravityMessage?.author; const stateFromStores3 = useStateFromStores([RelationshipStore], () => RelationshipStore.isBlockedOrIgnored(author?.id)); return stateFromStores == null ? null : stateFromStores2 == null ? null : gravityMessage == null ? null : author == null ? null : stateFromStores3 ? null : ; };