import React, { useState } from 'react'; import { ScrollView, View, Text } from 'react-native'; import { Button, TextInput } from 'react-native-paper'; import { addAccountFromHDPath } from '../utils/accounts'; import { Account, PathState } from '../types'; import styles from '../styles/stylesheet'; const HDPath = ({ pathCode, updateAccounts, updateIndex, hideDialog, }: { pathCode: string; updateIndex: (index: number) => void; updateAccounts: (account: Account) => void; hideDialog: () => void; }) => { const [isAccountCreating, setIsAccountCreating] = useState(false); const [path, setPath] = useState({ firstNumber: '', secondNumber: '', thirdNumber: '', }); const handleChange = (key: keyof PathState, value: string) => { setPath({ ...path, [key]: value.replace(/[^0-9]/g, ''), }); }; const createFromHDPathHandler = async () => { setIsAccountCreating(true); const hdPath = pathCode + `${path.firstNumber}'/${path.secondNumber}/${path.thirdNumber}`; try { const newAccount = await addAccountFromHDPath(hdPath); if (newAccount) { updateAccounts(newAccount); updateIndex(newAccount.counterId); hideDialog(); } } catch (error) { console.error('Error creating account:', error); } finally { setIsAccountCreating(false); } }; return ( {pathCode} handleChange('firstNumber', text)} value={path.firstNumber} style={styles.HDtextInput} /> '/ handleChange('secondNumber', text)} value={path.secondNumber} style={styles.HDtextInput} /> / handleChange('thirdNumber', text)} value={path.thirdNumber} style={styles.HDtextInput} /> ); }; export default HDPath;