import React, { useState } from 'react'; import { View } from 'react-native'; import { Text, Button, Dialog, Portal } from 'react-native-paper'; import { HDNode } from 'ethers/lib/utils'; import { useNavigation } from '@react-navigation/native'; import { generateWallet, resetWallet } from '../utils'; import { DialogComponent } from './Dialog'; const HomeScreen = () => { const navigation = useNavigation(); const [isWalletCreated, setIsWalletCreated] = useState(false); const [wallet, setWallet] = useState(); const [isWalletCreating, setIsWalletCreating] = useState(false); const [walletDialog, setWalletDialog] = useState(false); const [resetWalletDialog, setResetWalletDialog] = useState(false); const hideWalletDialog = () => setWalletDialog(false); const hideResetDialog = () => setResetWalletDialog(false); const createWallet = async () => { setIsWalletCreating(true); await new Promise(resolve => setTimeout(resolve, 200)); const etherWallet = await generateWallet(); setWalletDialog(true); if (etherWallet) { setWallet(etherWallet); setIsWalletCreated(true); } }; const confirmResetWallet = async () => { await resetWallet(); setIsWalletCreated(false); setWallet(null); setIsWalletCreating(false); hideResetDialog(); }; return ( Reset Wallet Are you sure? {isWalletCreated ? ( Account1 Address: {wallet && wallet.address.toString()} Public Key: {wallet && wallet.publicKey.toString()} ) : ( Create Wallet )} ); }; export { HomeScreen };