Page MenuHomePhabricator

D14085.id46244.diff
No OneTemporary

D14085.id46244.diff

diff --git a/native/account/prompt-button.react.js b/native/account/prompt-button.react.js
--- a/native/account/prompt-button.react.js
+++ b/native/account/prompt-button.react.js
@@ -48,7 +48,7 @@
backgroundColor: 'siweButton',
flexDirection: 'row',
justifyContent: 'center',
- padding: 12,
+ padding: 10,
},
siweIcon: {
paddingRight: 10,
diff --git a/native/account/restore-prompt-screen.react.js b/native/account/restore-prompt-screen.react.js
--- a/native/account/restore-prompt-screen.react.js
+++ b/native/account/restore-prompt-screen.react.js
@@ -9,6 +9,8 @@
import RegistrationContainer from './registration/registration-container.react.js';
import RegistrationContentContainer from './registration/registration-content-container.react.js';
import type { SignInNavigationProp } from './sign-in-navigator.react';
+import { useSIWEPanelState } from './siwe-hooks.js';
+import SIWEPanel from './siwe-panel.react.js';
import type { NavigationRoute } from '../navigation/route-names';
import { RestorePasswordAccountScreenRouteName } from '../navigation/route-names.js';
import { useStyles } from '../themes/colors.js';
@@ -18,6 +20,10 @@
+route: NavigationRoute<'RestorePromptScreen'>,
};
+const siweSignatureRequestData = {
+ messageType: 'msg_auth',
+};
+
function RestorePromptScreen(props: Props): React.Node {
const styles = useStyles(unboundStyles);
@@ -25,43 +31,67 @@
props.navigation.navigate(RestorePasswordAccountScreenRouteName);
}, [props.navigation]);
+ const {
+ panelState,
+ openPanel,
+ onPanelClosed,
+ onPanelClosing,
+ siwePanelSetLoading,
+ } = useSIWEPanelState();
+ let siwePanel;
+ if (panelState !== 'closed') {
+ siwePanel = (
+ <SIWEPanel
+ onClosing={onPanelClosing}
+ onClosed={onPanelClosed}
+ closing={panelState === 'closing'}
+ onSuccessfulWalletSignature={() => {}}
+ siweSignatureRequestData={siweSignatureRequestData}
+ setLoading={siwePanelSetLoading}
+ />
+ );
+ }
+
return (
- <RegistrationContainer>
- <RegistrationContentContainer style={styles.scrollViewContentContainer}>
- <Text style={styles.header}>Restore account</Text>
- <Text style={styles.section}>
- If you’ve lost access to your primary device, you can try recovering
- your Comm account.
- </Text>
- <Text style={styles.section}>
- To proceed, select the same login method that you used during
- registration.
- </Text>
- <Text style={styles.section}>
- Note that after completing the recovery flow, you will be logged out
- from all of your other devices.
- </Text>
- <View style={styles.iconContainer}>
- <MaterialIcon name="backup-restore" size={200} color="white" />
- </View>
- </RegistrationContentContainer>
- <RegistrationButtonContainer>
- <View style={styles.buttonContainer}>
- <PromptButton
- text="Restore with Ethereum"
- onPress={() => {}}
- variant="siwe"
- />
- </View>
- <View style={styles.buttonContainer}>
- <PromptButton
- text="Restore with password"
- onPress={openPasswordRestoreScreen}
- variant="enabled"
- />
- </View>
- </RegistrationButtonContainer>
- </RegistrationContainer>
+ <>
+ <RegistrationContainer>
+ <RegistrationContentContainer style={styles.scrollViewContentContainer}>
+ <Text style={styles.header}>Restore account</Text>
+ <Text style={styles.section}>
+ If you’ve lost access to your primary device, you can try recovering
+ your Comm account.
+ </Text>
+ <Text style={styles.section}>
+ To proceed, select the same login method that you used during
+ registration.
+ </Text>
+ <Text style={styles.section}>
+ Note that after completing the recovery flow, you will be logged out
+ from all of your other devices.
+ </Text>
+ <View style={styles.iconContainer}>
+ <MaterialIcon name="backup-restore" size={200} color="white" />
+ </View>
+ </RegistrationContentContainer>
+ <RegistrationButtonContainer>
+ <View style={styles.buttonContainer}>
+ <PromptButton
+ text="Restore with Ethereum"
+ onPress={openPanel}
+ variant={panelState === 'opening' ? 'loading' : 'siwe'}
+ />
+ </View>
+ <View style={styles.buttonContainer}>
+ <PromptButton
+ text="Restore with password"
+ onPress={openPasswordRestoreScreen}
+ variant="enabled"
+ />
+ </View>
+ </RegistrationButtonContainer>
+ </RegistrationContainer>
+ {siwePanel}
+ </>
);
}
@@ -89,6 +119,22 @@
scrollViewContentContainer: {
flexGrow: 1,
},
+ loadingContainer: {
+ position: 'absolute',
+ top: 0,
+ bottom: 0,
+ left: 0,
+ right: 0,
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+ backdrop: {
+ backgroundColor: 'black',
+ opacity: 0.6,
+ width: '100%',
+ height: '100%',
+ position: 'absolute',
+ },
};
export default RestorePromptScreen;

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 12, 8:35 PM (20 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2649369
Default Alt Text
D14085.id46244.diff (5 KB)

Event Timeline