import React from 'react' import {View} from 'react-native' import Svg, {Circle, Path} from 'react-native-svg' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {Nux, useUpsertNuxMutation} from '#/state/queries/nuxs' import {atoms as a, ViewStyleProp} from '#/alf' import {Button, ButtonProps} from '#/components/Button' import * as Dialog from '#/components/Dialog' import {InlineLinkText} from '#/components/Link' import * as Prompt from '#/components/Prompt' import {TenMillion} from './' export function Trigger({children}: {children: ButtonProps['children']}) { const {_} = useLingui() const {mutate: upsertNux} = useUpsertNuxMutation() const [show, setShow] = React.useState(false) const [fallback, setFallback] = React.useState(false) const control = Prompt.usePromptControl() const handleOnPress = () => { if (!fallback) { setShow(true) upsertNux({ id: Nux.TenMillionDialog, completed: true, data: undefined, }) } else { control.open() } } const onHandleFallback = () => { setFallback(true) control.open() } return ( <> {show && !fallback && ( setShow(false)} onFallback={onHandleFallback} /> )} Bluesky is celebrating 10 million users! Together, we're rebuilding the social internet. We're glad you're here. To learn more,{' '} { control.close() }} style={[a.text_md, a.leading_snug]}> check out our post. ) } export function Icon({width, style}: {width: number} & ViewStyleProp) { return ( ) }