// 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 ? : null;
L6: {
r85 = null;
if (isReportable) {
if (message == null) {
r85 = null;
if (isLoaded) {
break L6;
}
}
r85 = ;
}
}
if (RelationshipTypes.NONE === stateFromStores) {
const bot = user.bot;
r105 = null;
r106 = null;
r107 = null;
if (!bot) {
r106 = ;
r105 = null;
r107 = null;
}
} else if (RelationshipTypes.PENDING_INCOMING === stateFromStores) {
r107 = intl.format(t.uIomXw, {
username: UserUtils.getName(user)
});
r106 = ;
r105 = ;
} else if (RelationshipTypes.FRIEND === stateFromStores) {
r106 = ;
r105 = null;
r107 = null;
} else if (RelationshipTypes.PENDING_OUTGOING === stateFromStores) {
r106 = ;
r105 = null;
r107 = null;
} else {
const BLOCKED = RelationshipTypes.BLOCKED;
r105 = null;
r106 = null;
r107 = null;
if (BLOCKED === stateFromStores) {
r106 = ;
r105 = null;
r107 = null;
}
}
return
{r107 != null && {r107}}
{r106}
{r105}
{r74}
{r85}
;
};