// 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} />; };