minor refactors

This commit is contained in:
fmtabbara
2022-02-09 11:27:26 +00:00
parent a72264c685
commit 15bbba590b
3 changed files with 28 additions and 33 deletions
+23 -16
View File
@@ -1,11 +1,12 @@
import React, { useEffect, useState } from 'react'
import React, { useContext, useState } from 'react'
import { Box } from '@mui/system'
import { Stack } from '@mui/material'
import { WelcomeContent, VerifyMnemonic, MnemonicWords, CreatePassword, ExistingAccount, SelectNetwork } from './pages'
import { CircularProgress, Stack } from '@mui/material'
import { WelcomeContent, VerifyMnemonic, MnemonicWords, CreatePassword, ExistingAccount } from './pages'
import { NymLogo } from '../../components'
import { TMnemonicWords, TPages } from './types'
import { RenderPage } from './components'
import { CreateAccountContent } from './_legacy_create-account'
import { ClientContext } from '../../context/main'
const testMnemonic =
'futuristic big receptive caption saw hug odd spoon internal dime bike rake helpless left distribution gusty eyes beg enormous word influence trashy pets curl'
@@ -19,6 +20,8 @@ export const Welcome = () => {
const [page, setPage] = useState<TPages>('welcome')
const [mnemonicWords, setMnemonicWords] = useState<TMnemonicWords>()
const { isLoading } = useContext(ClientContext)
// useEffect(() => {
// const mnemonicArray = mnemonicToArray(testMnemonic)
// setMnemonicWords(mnemonicArray)
@@ -44,17 +47,20 @@ export const Welcome = () => {
margin: 'auto',
}}
>
<Stack spacing={3} alignItems="center" sx={{ width: 1080 }}>
<NymLogo />
<RenderPage page={page}>
<WelcomeContent
onUseExisting={() => setPage('existing account')}
onCreateAccountComplete={() => setPage('legacy create account')}
page="welcome"
/>
{isLoading ? (
<CircularProgress size={72} />
) : (
<Stack spacing={3} alignItems="center" sx={{ width: 1080 }}>
<NymLogo />
<RenderPage page={page}>
<WelcomeContent
onUseExisting={() => setPage('existing account')}
onCreateAccountComplete={() => setPage('legacy create account')}
page="welcome"
/>
<CreateAccountContent page="legacy create account" showSignIn={() => setPage('existing account')} />
{/* <MnemonicWords
<CreateAccountContent page="legacy create account" showSignIn={() => setPage('existing account')} />
{/* <MnemonicWords
mnemonicWords={mnemonicWords}
onNext={() => setPage('verify mnemonic')}
onPrev={() => setPage('welcome')}
@@ -66,9 +72,10 @@ export const Welcome = () => {
page="verify mnemonic"
/>
<CreatePassword page="create password" /> */}
<ExistingAccount page="existing account" onPrev={() => setPage('welcome')} />
</RenderPage>
</Stack>
<ExistingAccount page="existing account" onPrev={() => setPage('welcome')} />
</RenderPage>
</Stack>
)}
</Box>
</Box>
)
@@ -2,34 +2,23 @@ import React, { useContext, useState } from 'react'
import { Alert, Button, Stack, TextField } from '@mui/material'
import { Subtitle } from '../components'
import { ClientContext } from '../../../context/main'
import { signInWithMnemonic } from '../../../requests'
export const ExistingAccount: React.FC<{ page: 'existing account'; onPrev: () => void }> = ({ onPrev }) => {
const [mnemonic, setMnemonic] = useState<string>()
const [inputError, setInputError] = useState<string>()
const { logIn } = useContext(ClientContext)
const [mnemonic, setMnemonic] = useState<string>('')
const { logIn, error } = useContext(ClientContext)
const handleSignIn = async (e: React.MouseEvent<HTMLElement>) => {
e.preventDefault()
setInputError(undefined)
try {
await signInWithMnemonic(mnemonic || '')
logIn('MAINNET')
} catch (e: any) {
setInputError(e)
}
logIn(mnemonic)
}
return (
<Stack spacing={2} sx={{ width: 400 }} alignItems="center">
<Subtitle subtitle="Enter your mnemonic from existing wallet" />
<TextField value={mnemonic} onChange={(e) => setMnemonic(e.target.value)} multiline rows={5} fullWidth />
{inputError && (
{error && (
<Alert severity="error" variant="outlined" data-testid="error" sx={{ color: 'error.light', width: '100%' }}>
{inputError}
{error}
</Alert>
)}
@@ -3,4 +3,3 @@ export * from './mnemonic-words'
export * from './verify-mnemonic'
export * from './create-password'
export * from './existing-account'
export * from './select-network'