From 8cc4a9e230c8a576f063d1b27438b7ca2bac46ec Mon Sep 17 00:00:00 2001 From: fmtabbara Date: Thu, 31 Mar 2022 16:29:36 +0100 Subject: [PATCH] ui tweaks --- .../pages/welcome/components/textfields.tsx | 37 ++++++++++------ .../pages/welcome/components/word-tiles.tsx | 9 +++- .../pages/welcome/pages/verify-mnemonic.tsx | 42 +++---------------- 3 files changed, 37 insertions(+), 51 deletions(-) diff --git a/nym-wallet/src/pages/welcome/components/textfields.tsx b/nym-wallet/src/pages/welcome/components/textfields.tsx index bcfa640a3a..3af234d8be 100644 --- a/nym-wallet/src/pages/welcome/components/textfields.tsx +++ b/nym-wallet/src/pages/welcome/components/textfields.tsx @@ -7,19 +7,30 @@ export const MnemonicInput: React.FC<{ mnemonic: string; error?: string; onUpdateMnemonic: (mnemonic: string) => void; -}> = ({ mnemonic, error, onUpdateMnemonic }) => ( - - onUpdateMnemonic(e.target.value)} - multiline - rows={5} - fullWidth - /> - {error && } - -); +}> = ({ mnemonic, error, onUpdateMnemonic }) => { + const [showPassword, setShowPassword] = useState(false); + return ( + + onUpdateMnemonic(e.target.value)} + multiline={!!showPassword} + rows={4} + fullWidth + InputProps={{ + endAdornment: ( + setShowPassword((show) => !show)}> + {showPassword ? : } + + ), + }} + /> + {error && } + + ); +}; export const PasswordInput: React.FC<{ password: string; diff --git a/nym-wallet/src/pages/welcome/components/word-tiles.tsx b/nym-wallet/src/pages/welcome/components/word-tiles.tsx index 4f0f70d807..6c71f0fb08 100644 --- a/nym-wallet/src/pages/welcome/components/word-tiles.tsx +++ b/nym-wallet/src/pages/welcome/components/word-tiles.tsx @@ -7,17 +7,19 @@ export const WordTile = ({ index, disabled, onClick, + button, }: { mnemonicWord: string; index?: number; disabled?: boolean; onClick?: boolean; + button?: boolean; }) => ( void; + buttons?: boolean; }) => { if (mnemonicWords) { return ( @@ -55,6 +59,7 @@ export const WordTiles = ({ index={showIndex ? index : undefined} onClick={!!onClick} disabled={disabled} + button={buttons} /> ))} diff --git a/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx b/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx index 1fd3403aac..10c7f9689f 100644 --- a/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx +++ b/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx @@ -1,34 +1,18 @@ import React, { useContext, useEffect, useState } from 'react'; -import { Button, CircularProgress, Stack } from '@mui/material'; -import { useSnackbar } from 'notistack'; +import { Button, Stack } from '@mui/material'; import { HiddenWords, Subtitle, Title, WordTiles } from '../components'; import { THiddenMnemonicWord, THiddenMnemonicWords, TMnemonicWord, TMnemonicWords, TPages } from '../types'; import { randomNumberBetween } from '../../../utils'; import { SignInContext } from '../context'; -import { createPassword } from '../../../requests'; const numberOfRandomWords = 6; -export const VerifyMnemonic = ({ page, onNext, onPrev }: { page: TPages; onNext: () => void; onPrev: () => void }) => { +export const VerifyMnemonic = ({ onNext }: { page: TPages; onNext: () => void; onPrev: () => void }) => { const [randomWords, setRandomWords] = useState(); const [hiddenRandomWords, setHiddenRandomWords] = useState(); const [currentSelection, setCurrentSelection] = useState(0); - const [isLoading, setIsLoading] = useState(false); - const { mnemonicWords, mnemonic, password } = useContext(SignInContext); - const { enqueueSnackbar } = useSnackbar(); - - const storePassword = async () => { - try { - setIsLoading(true); - await createPassword({ mnemonic, password }); - enqueueSnackbar('Password successfully created', { variant: 'success' }); - } catch (e) { - enqueueSnackbar(e as string, { variant: 'error' }); - } finally { - setIsLoading(false); - } - }; + const { mnemonicWords } = useContext(SignInContext); useEffect(() => { if (mnemonicWords) { @@ -55,40 +39,26 @@ export const VerifyMnemonic = ({ page, onNext, onPrev }: { page: TPages; onNext: if (randomWords && hiddenRandomWords) { return ( <> -
<Subtitle subtitle="Select the words from your mnmonic based on their order" /> <HiddenWords mnemonicWords={hiddenRandomWords} /> <WordTiles mnemonicWords={randomWords} onClick={currentSelection !== numberOfRandomWords ? revealWord : undefined} + buttons /> <Stack spacing={3} sx={{ width: 300 }}> <Button variant="contained" fullWidth size="large" - disabled={currentSelection !== numberOfRandomWords || isLoading} - onClick={async () => { - await storePassword(); + disabled={currentSelection !== numberOfRandomWords} + onClick={() => { onNext(); }} - endIcon={isLoading && <CircularProgress />} > Next </Button> - <Button - size="large" - onClick={onPrev} - fullWidth - sx={{ - color: 'common.white', - border: '1px solid white', - '&:hover': { border: '1px solid white', '&:hover': { background: 'none' } }, - }} - > - Back - </Button> </Stack> </> );