import { useState, type FormEvent } from 'react' import { createAccount } from '../db' import { back, navigate } from '../router' import { BackButton, Header, Screen } from '../components/Screen' export function AddAccountPage(props: { onCreated: () => void }) { const [name, setName] = useState('') const [err, setErr] = useState(null) const [busy, setBusy] = useState(false) async function onSubmit(e: FormEvent) { e.preventDefault() if (busy) return const trimmed = name.trim() if (!trimmed) { setErr('Account name is required') return } if (trimmed.length > 40) { setErr('Name is too long (max 40 characters)') return } setBusy(true) try { await createAccount(trimmed) props.onCreated() navigate('/', { replace: true }) } catch (e) { setErr(e instanceof Error ? e.message : 'Could not create account') } finally { setBusy(false) } } return ( back('/')} />} /> } footer={ } >
{ setName(e.target.value) if (err) setErr(null) }} />
Use a short, recognizable name. You can create as many accounts as you need.
) }