@@ -10,6 +10,8 @@ import { WalletRestore } from "./Restore";
1010import { WalletFileRestore } from "./FileRestore" ;
1111import { WalletMnemonicRestore } from "./MnemonicRestore" ;
1212import { WalletPassword } from "./WalletPassword" ;
13+ import { PickedDispatchProps } from "../../state/shared/PickedDispatchProps" ;
14+ import { ManageWalletActions } from "../../state/actions/manageWallet" ;
1315
1416enum SetupState {
1517 Init = 1 ,
@@ -18,36 +20,54 @@ enum SetupState {
1820 Restore ,
1921 RestoreWithMnemonic ,
2022 RestoreWithSecureFile ,
21- CreatePassword
23+ CreatePassword ,
24+ Waiting ,
25+ Complete ,
2226}
2327
2428export interface WalletSetupProps {
2529 onComplete : ( ) => void ;
30+ onCancel : ( ) => void ;
2631}
2732
33+ export type WalletViewDispatch = PickedDispatchProps < typeof ManageWalletActions , "walletImportMnemonic" > ;
34+
35+ type WalletViewDispatchProps = WalletSetupProps & WalletViewDispatch ;
36+
2837export interface WalletSetupState {
2938 setupState : SetupState ;
3039}
3140
32- export class WalletSetup extends Component < WalletSetupProps , WalletSetupState > {
33- constructor ( props : WalletSetupProps ) {
41+ export class WalletSetup extends Component < WalletViewDispatchProps , WalletSetupState > {
42+ constructor ( props : WalletViewDispatchProps ) {
3443 super ( props ) ;
3544 // bind events
3645 this . componentDidMount = this . componentDidMount . bind ( this ) ;
3746 this . componentWillUnmount = this . componentWillUnmount . bind ( this ) ;
38- this . onNewWallet = this . onNewWallet . bind ( this ) ;
47+ this . onInitWallet = this . onInitWallet . bind ( this ) ;
48+ this . onRequestNewWallet = this . onRequestNewWallet . bind ( this ) ;
49+ this . onRequestRestoreWallet = this . onRequestRestoreWallet . bind ( this ) ;
3950 }
4051
4152 componentDidMount ( ) : void {
4253 this . setState ( {
4354 setupState : SetupState . Init
4455 } ) ;
56+ this . onInitWallet ( ) ;
4557 }
4658
4759 componentWillUnmount ( ) : void { }
4860
49- private onNewWallet ( ) : void {
50- this . props . onComplete ( ) ;
61+ private onInitWallet ( ) : void {
62+ this . props . walletImportMnemonic ( "hello test green oil elephant" ) ;
63+ }
64+
65+ private onRequestNewWallet ( ) : void {
66+ this . setState ( { setupState : SetupState . New } )
67+ }
68+
69+ private onRequestRestoreWallet ( ) : void {
70+ this . setState ( { setupState : SetupState . Restore } )
5171 }
5272
5373 render ( ) {
@@ -63,7 +83,7 @@ export class WalletSetup extends Component<WalletSetupProps, WalletSetupState> {
6383 < Box direction = "column" align = "center" width = "100%" >
6484 < Box display = "flex" direction = "row" align = "center" width = "100%" >
6585 < SCard
66- onClick = { ( ) => this . setState ( { setupState : SetupState . New } ) }
86+ onClick = { ( ) => this . onRequestNewWallet ( ) }
6787 >
6888 < ImportIconWhite height = "80px" width = "80px" />
6989 < H3 align = "start" color = "white" minwidth = "50px" >
@@ -74,10 +94,7 @@ export class WalletSetup extends Component<WalletSetupProps, WalletSetupState> {
7494 </ Text >
7595 </ SCard >
7696 < SCard
77- onClick = { ( ) =>
78- this . setState ( { setupState : SetupState . Restore } )
79- }
80- >
97+ onClick = { ( ) => this . onRequestRestoreWallet ( ) } >
8198 < RestoreIconWhite height = "80px" width = "80px" />
8299 < H3 align = "start" color = "white" minwidth = "50px" >
83100 Restore Wallet
@@ -136,7 +153,8 @@ export class WalletSetup extends Component<WalletSetupProps, WalletSetupState> {
136153 this . state . setupState === SetupState . RestoreWithSecureFile && (
137154 < WalletFileRestore
138155 onComplete = { ( ) => this . props . onComplete ( ) }
139- onCancel = { ( ) => this . setState ( { setupState : SetupState . Restore } ) }
156+ onCancel = { ( ) => this . props . onCancel ( ) }
157+ onRestoreMnemonic = { ( words ) => this . props . walletImportMnemonic ( words ) }
140158 />
141159 ) }
142160 </ >
0 commit comments