import {View} from 'react-native' import * as Contacts from 'expo-contacts' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useQuery} from '@tanstack/react-query' import {urls} from '#/lib/constants' import {useRunCallbackOnce} from '#/lib/runCallbackOnce' import {atoms as a} from '#/alf' import {Admonition} from '#/components/Admonition' import {Button, ButtonText} from '#/components/Button' import {ContactsHeroImage} from '#/components/contacts/components/HeroImage' import {InlineLinkText} from '#/components/Link' import {useAnalytics} from '#/analytics' import { OnboardingControls, OnboardingDescriptionText, OnboardingPosition, OnboardingTitleText, } from '../Layout' import {useOnboardingInternalState} from '../state' export function StepFindContactsIntro() { const ax = useAnalytics() const {_} = useLingui() const {dispatch} = useOnboardingInternalState() useRunCallbackOnce(() => { ax.metric('onboarding:contacts:presented', {}) }) const {data: isAvailable, isSuccess} = useQuery({ queryKey: ['contacts-available'], queryFn: async () => await Contacts.isAvailableAsync(), }) return ( Bluesky is more fun with friends Find your friends on Bluesky by verifying your phone number and matching with your contacts. We protect your information and you control what happens next.{' '} Learn more {!isAvailable && isSuccess && ( Contact sync is not available on this device, as the app is unable to access your contacts. )} ) }