diff --git a/native/account/logged-out-modal.react.js b/native/account/logged-out-modal.react.js
--- a/native/account/logged-out-modal.react.js
+++ b/native/account/logged-out-modal.react.js
@@ -27,7 +27,10 @@
import { isLoggedIn } from 'lib/selectors/user-selectors.js';
import { recoveryFromReduxActionSources } from 'lib/types/account-types.js';
import { useDispatch } from 'lib/utils/redux-utils.js';
-import { usingCommServicesAccessToken } from 'lib/utils/services-utils.js';
+import {
+ usingCommServicesAccessToken,
+ usingRestoreFlow,
+} from 'lib/utils/services-utils.js';
import { splashBackgroundURI } from './background-info.js';
import FullscreenSIWEPanel from './fullscreen-siwe-panel.react.js';
@@ -57,7 +60,12 @@
let initialAppLoad = true;
const safeAreaEdges = ['top', 'bottom'];
-export type LoggedOutMode = 'loading' | 'prompt' | 'log-in' | 'siwe';
+export type LoggedOutMode =
+ | 'loading'
+ | 'prompt'
+ | 'log-in'
+ | 'siwe'
+ | 'restore';
const timingConfig = {
duration: 250,
@@ -426,6 +434,11 @@
combinedSetMode('log-in');
}, [combinedSetMode]);
+ const onPressRestore = React.useCallback(
+ () => combinedSetMode('restore'),
+ [combinedSetMode],
+ );
+
const { navigate } = props.navigation;
const onPressQRCodeSignIn = React.useCallback(() => {
navigate(QRCodeSignInNavigatorRouteName);
@@ -496,17 +509,19 @@
}
const signInButtons = [];
- signInButtons.push(
-
- Sign in
- ,
- );
- if (__DEV__) {
+ if (!usingRestoreFlow) {
+ signInButtons.push(
+
+ Sign in
+ ,
+ );
+ }
+ if (__DEV__ || usingRestoreFlow) {
signInButtons.push(
-
+ let siweSection = null;
+ if (!usingRestoreFlow) {
+ siweSection = (
+ <>
+
+
+
+
+ Sign in with Ethereum
+
+
+
+ or
+
+
+ >
+ );
+ }
+
+ let restoreButton = null;
+ if (usingRestoreFlow) {
+ restoreButton = (
-
-
-
- Sign in with Ethereum
+ Restore
-
-
- or
-
-
+ );
+ }
+
+ return (
+
+
+ {siweSection}
+ {restoreButton}
{signInButtons}