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}