Page MenuHomePhorge

D14444.1768466554.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D14444.1768466554.diff

diff --git a/native/components/connect-farcaster-alert-handler.react.js b/native/components/connect-farcaster-alert-handler.react.js
--- a/native/components/connect-farcaster-alert-handler.react.js
+++ b/native/components/connect-farcaster-alert-handler.react.js
@@ -9,7 +9,10 @@
alertTypes,
type RecordAlertActionPayload,
} from 'lib/types/alert-types.js';
-import { useCurrentUserFID } from 'lib/utils/farcaster-utils.js';
+import {
+ useCurrentUserFID,
+ useSetLocalFID,
+} from 'lib/utils/farcaster-utils.js';
import { shouldSkipConnectFarcasterAlert } from 'lib/utils/push-alerts.js';
import { useDispatch } from 'lib/utils/redux-utils.js';
import sleep from 'lib/utils/sleep.js';
@@ -26,6 +29,8 @@
const fid = useCurrentUserFID();
+ const setLocalFID = useSetLocalFID();
+
const connectFarcasterAlertInfo = useSelector(
state => state.alertStore.alertInfos[alertTypes.CONNECT_FARCASTER],
);
@@ -44,6 +49,11 @@
void (async () => {
await sleep(1000);
+ // We set the local FID to null to prevent the prompt from being displayed
+ // again. We set it here, rather than in the bottom sheet itself, to avoid
+ // the scenario where the user connects their Farcaster account but we
+ // accidentally overwrite the FID on close and set it to null.
+ setLocalFID(null);
navigate(ConnectFarcasterBottomSheetRouteName);
const payload: RecordAlertActionPayload = {
@@ -56,7 +66,15 @@
payload,
});
})();
- }, [connectFarcasterAlertInfo, dispatch, fid, isActive, loggedIn, navigate]);
+ }, [
+ connectFarcasterAlertInfo,
+ dispatch,
+ fid,
+ isActive,
+ loggedIn,
+ navigate,
+ setLocalFID,
+ ]);
return null;
}
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
@@ -55,8 +55,6 @@
[tryLinkFID],
);
- const bottomSheetRef = React.useRef(null);
-
const bottomSheetContext = React.useContext(BottomSheetContext);
invariant(bottomSheetContext, 'bottomSheetContext should be set');
const { setContentHeight } = bottomSheetContext;
@@ -73,9 +71,9 @@
React.useEffect(() => {
if (fid && isAppForegrounded) {
- bottomSheetRef.current?.close();
+ goBack();
}
- }, [fid, isAppForegrounded]);
+ }, [fid, goBack, isAppForegrounded]);
const onPressConnect = React.useCallback(() => {
setIsLoadingLinkFID(true);
@@ -86,7 +84,7 @@
const connectFarcasterBottomSheet = React.useMemo(
() => (
- <BottomSheet ref={bottomSheetRef} onClosed={goBack}>
+ <BottomSheet onClosed={goBack}>
<View style={styles.container}>
<View style={styles.promptContainer}>
<FarcasterPrompt textType="connect" />
@@ -100,7 +98,7 @@
<FarcasterWebView onSuccess={onSuccess} webViewState={webViewState} />
</BottomSheet>
),
- [connectButtonVariant, goBack, onPressConnect, onSuccess, webViewState],
+ [goBack, onPressConnect, connectButtonVariant, onSuccess, webViewState],
);
return connectFarcasterBottomSheet;

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 15, 8:42 AM (3 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5936993
Default Alt Text
D14444.1768466554.diff (3 KB)

Event Timeline