// Metro module 12991 (f12992).
import { useState, useCallback, useLayoutEffect, useMemo } from "react";
import { ScrollView, View } from "react-native";
import UserStore from "../../stores/UserStore";
import { AnalyticEvents, Fonts } from "../../Constants";
import { ContactPermissions } from "../../modules/contact_sync/native/ContactSyncConstants";
import { createStyles } from "../../design/components/Styles/native/createStyles";
import TextStyles from "../../modules/rebrand/native/TextStyles";
import Module712 from "../../_bundle/Module712";
import { useContactSyncAccount, isContactSyncEnabled, checkContactPermissions } from "../../modules/contact_sync/native/ContactSyncUtils";
import useMountEffect from "../../hooks/useMountEffect";
import AnalyticsUtils from "../../utils/AnalyticsUtils";
import { isAndroid } from "../../utils/PlatformUtils";
import { useNavigation } from "../../_bundle/Module1483";
import ModalActionCreators from "../../actions/ModalActionCreators";
import UserUtils from "../../utils/UserUtils";
import { intl, t } from "../../intl/index.native";
import { showShareActionSheet } from "../../modules/action_sheet/native/showShareActionSheet";
import { HeaderActionButton } from "../../design/components/Navigator/native/HeaderActionButton.native";
import Module12992 from "../../_bundle/Module12992";
import { getHeaderCloseButton } from "../../design/components/Navigator/native/NavigatorHeader.native";
import { Text } from "../../design/components/Text/native/Text";
import AddFriendById from "../../modules/main_tabs_v2/native/friends/screens/AddFriendById";
import ContactSyncUpsellCTA from "../../modules/contact_sync/native/components/ContactSyncUpsellCTA";
import useSafeAreaInsets_native from "../../modules/safe_area/useSafeAreaInsets.native";
import { Navigator } from "../../design/components/Navigator/native/Navigator.native";
let useStyles;
const AddFriendModalScene = function AddFriendModalScene(props) {
let navigation, callback, callback2;
const { onSkip, sourceMetadata } = props;
navigation = void 0;
callback = void 0;
callback2 = void 0;
const styles = useStyles();
const contactSyncAccount = useContactSyncAccount();
const [state, setState] = useState(!isContactSyncEnabled(contactSyncAccount));
useMountEffect(() => {
AnalyticsUtils.track(AnalyticEvents.FRIEND_ADD_VIEWED, sourceMetadata);
checkContactPermissions().then((result) => {
const NOT_DETERMINED = ContactPermissions.NOT_DETERMINED;
const r11 = isAndroid() && result === ContactPermissions.UNAUTHORIZED;
setState(result === NOT_DETERMINED || r11 || !isContactSyncEnabled(contactSyncAccount));
});
});
navigation = useNavigation();
callback = useCallback(() => {
if (onSkip != null) {
onSkip();
}
ModalActionCreators.pop();
}, [onSkip]);
callback2 = useCallback(() => {
const currentUser = UserStore.getCurrentUser();
const username = currentUser != null ? UserUtils.getUserTag(currentUser) : void 0;
AnalyticsUtils.track(AnalyticEvents.FRIEND_ADD_VIEWED, {
friend_add_type: "Invite",
source_page: "Add Friend Modal"
});
showShareActionSheet({
message: intl.formatToPlainString(t["6E9a1J"], {
url: "https://discord.com/",
username
})
}, "Add Friend Modal");
}, []);
useLayoutEffect(() => {
navigation.setOptions({
headerRight: () => ,
headerLeft: getHeaderCloseButton(callback)
});
}, [callback, callback2, navigation]);
return
{intl.string(t.GWMTSE)}
{intl.string(t["Rn/sLl"])}
{intl.string(t.dukg0Z)}
{state ? : null}
;
};
useStyles = createStyles({
headerText: {
...TextStyles(Fonts.DISPLAY_EXTRABOLD, Module712.colors.MOBILE_TEXT_HEADING_PRIMARY, 24),
marginTop: 32,
marginHorizontal: 16,
textAlign: "center"
},
subheaderText: {
lineHeight: 18,
marginVertical: 8,
marginHorizontal: 16,
textAlign: "center"
},
input: {
marginTop: 16
},
otherOptionsContainer: {
marginTop: 16,
paddingHorizontal: 16
},
rowContainer: {
backgroundColor: Module712.colors.BACKGROUND_SURFACE_HIGH,
marginTop: 8
}
});
export default function AddFriendModal(props) {
const initialParams = props;
const top = useSafeAreaInsets_native().top;
return ({
ADD_FRIEND: {
ignoreKeyboard: true,
title: intl.string(t.w5uwoI),
initialParams,
render: (a0) =>
}
}), [props])} initialRouteName="ADD_FRIEND" headerStatusBarHeight={top} />;
};