// Metro module 15724 (f15725). import { useCallback } from "react"; import { View } from "react-native"; import RelationshipStore from "../../../stores/RelationshipStore"; import { AnalyticsPages, RelationshipTypes } from "../../../Constants"; import { BLOCK_CONFIRMATION_ACTION_SHEET_KEY } from "../../relationships/native/RestrictionConfirmationConstants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { useDMMessageToReport } from "../../messages/useDMMessageToReport"; import { useStateFromStores } from "../../../_bundle/Module589"; import RelationshipActionCreators from "../../../actions/RelationshipActionCreators"; import PeopleUtils from "../../people/PeopleUtils"; import { confirmRemoveFriend } from "../../user_profile/native/UserProfileAlertUtils"; import UserUtils from "../../../utils/UserUtils"; import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators"; import { showReportModalForFirstDM } from "../../in_app_reports/ReportModals"; import ChannelActionCreators from "../../../actions/ChannelActionCreators"; import { Button } from "../../../design/components/Button/native/Button.native"; import { intl, t } from "../../../intl/index.native"; import { Text } from "../../../design/components/Text/native/Text"; const useStyles = createStyles({ container: { gap: Module712.space.PX_8, marginVertical: Module712.space.PX_12 }, buttonRow: { flexDirection: "row", flexWrap: "wrap", gap: Module712.space.PX_8 } }); export default function RestrictedMessagePreviewActions(props) { let r85, r105, r106, r107; const { channel, user } = props; const styles = useStyles(); const dMMessageToReport = useDMMessageToReport(channel, user.id, user.bot === true); const { message, isReportable, isLoaded } = dMMessageToReport; const stateFromStores = useStateFromStores([RelationshipStore], () => RelationshipStore.getRelationshipType(user.id), [user.id]); const callback3 = useCallback(() => { RelationshipActionCreators.addRelationship({ userId: user.id, context: { location: AnalyticsPages.DM_CHANNEL } }); }, [user.id]); const callback4 = useCallback(() => { PeopleUtils.maybeConfirmFriendRequestAccept({ userId: user.id, location: AnalyticsPages.DM_CHANNEL }); }, [user.id]); const callback = useCallback(() => { RelationshipActionCreators.cancelFriendRequest(user.id, { location: AnalyticsPages.DM_CHANNEL }); }, [user.id]); const callback5 = useCallback(() => { confirmRemoveFriend({ userDisplayName: UserUtils.getName(user), onConfirm: () => { RelationshipActionCreators.removeFriend(user.id, { location: AnalyticsPages.DM_CHANNEL }); } }); }, [user]); const callback2 = useCallback(() => { ActionSheetActionCreators.openLazy(import("../../relationships/native/BlockConfirmationActionSheet"), BLOCK_CONFIRMATION_ACTION_SHEET_KEY, { userId: user.id, channelId: channel.id }); }, [user.id, channel.id]); const callback6 = useCallback(() => { RelationshipActionCreators.unblockUser(user.id, { location: AnalyticsPages.DM_CHANNEL }); }, [user.id]); const callback7 = useCallback(() => { if (message != null) { showReportModalForFirstDM(message, () => { ChannelActionCreators.closePrivateChannel(channel.id, true); }); } }, [message, channel.id]); const r74 = stateFromStores !== RelationshipTypes.BLOCKED ?