diff --git a/lib/utils/farcaster-utils.js b/lib/utils/farcaster-utils.js --- a/lib/utils/farcaster-utils.js +++ b/lib/utils/farcaster-utils.js @@ -9,7 +9,7 @@ import { syncedMetadataNames } from '../types/synced-metadata-types.js'; import { useSelector, useDispatch } from '../utils/redux-utils.js'; -const DISABLE_CONNECT_FARCASTER_ALERT = true; +const DISABLE_CONNECT_FARCASTER_ALERT = false; const NO_FID_METADATA = 'NONE'; function useCurrentUserFID(): ?string { diff --git a/native/components/connect-farcaster-bottom-sheet.react.js b/native/components/connect-farcaster-bottom-sheet.react.js --- a/native/components/connect-farcaster-bottom-sheet.react.js +++ b/native/components/connect-farcaster-bottom-sheet.react.js @@ -6,7 +6,10 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { useIsAppForegrounded } from 'lib/shared/lifecycle-utils.js'; -import { useCurrentUserFID } from 'lib/utils/farcaster-utils.js'; +import { + useCurrentUserFID, + useSetLocalFID, +} from 'lib/utils/farcaster-utils.js'; import FarcasterPrompt from './farcaster-prompt.react.js'; import FarcasterWebView, { @@ -42,6 +45,8 @@ const tryLinkFID = useTryLinkFID(); + const setLocalFID = useSetLocalFID(); + const onSuccess = React.useCallback( async (newFID: string) => { setWebViewState('closed'); @@ -84,9 +89,16 @@ const connectButtonVariant = isLoadingLinkFID ? 'loading' : 'enabled'; + const onClosed = React.useCallback(() => { + if (!fid) { + setLocalFID(null); + } + goBack(); + }, [fid, setLocalFID, goBack]); + const connectFarcasterBottomSheet = React.useMemo( () => ( - <BottomSheet ref={bottomSheetRef} onClosed={goBack}> + <BottomSheet ref={bottomSheetRef} onClosed={onClosed}> <View style={styles.container}> <View style={styles.promptContainer}> <FarcasterPrompt textType="connect" /> @@ -100,7 +112,7 @@ <FarcasterWebView onSuccess={onSuccess} webViewState={webViewState} /> </BottomSheet> ), - [connectButtonVariant, goBack, onPressConnect, onSuccess, webViewState], + [onClosed, onPressConnect, connectButtonVariant, onSuccess, webViewState], ); return connectFarcasterBottomSheet;