diff --git a/native/account/registration/existing-ethereum-account.react.js b/native/account/registration/existing-ethereum-account.react.js --- a/native/account/registration/existing-ethereum-account.react.js +++ b/native/account/registration/existing-ethereum-account.react.js @@ -1,7 +1,10 @@ // @flow import * as React from 'react'; -import { Text } from 'react-native'; +import { Text, Alert } from 'react-native'; + +import { siweAuthActionTypes } from 'lib/actions/siwe-actions.js'; +import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors.js'; import RegistrationButtonContainer from './registration-button-container.react.js'; import RegistrationButton from './registration-button.react.js'; @@ -9,7 +12,12 @@ import RegistrationContentContainer from './registration-content-container.react.js'; import type { RegistrationNavigationProp } from './registration-navigator.react.js'; import type { NavigationRoute } from '../../navigation/route-names.js'; +import { useSelector } from '../../redux/redux-utils.js'; import { useStyles } from '../../themes/colors.js'; +import { useSIWEServerCall } from '../siwe-hooks.js'; + +const siweAuthLoadingStatusSelector = + createLoadingStatusSelector(siweAuthActionTypes); export type ExistingEthereumAccountParams = { +message: string, @@ -21,12 +29,27 @@ +route: NavigationRoute<'ExistingEthereumAccount'>, }; function ExistingEthereumAccount(props: Props): React.Node { - const styles = useStyles(unboundStyles); + const siweServerCallParams = React.useMemo(() => { + const onServerCallFailure = () => { + Alert.alert('Unknown error', 'Uhh... try again?', [{ text: 'OK' }], { + cancelable: false, + }); + }; + return { onFailure: onServerCallFailure }; + }, []); + const siweServerCall = useSIWEServerCall(siweServerCallParams); - const { goBack } = props.navigation; + const { params } = props.route; + const onProceedToLogIn = React.useCallback(() => { + siweServerCall(params); + }, [siweServerCall, params]); - const onProceedToLogIn = React.useCallback(() => {}, []); + const siweAuthCallLoading = useSelector( + state => siweAuthLoadingStatusSelector(state) === 'loading', + ); + const { goBack } = props.navigation; + const styles = useStyles(unboundStyles); return ( @@ -42,7 +65,7 @@