import { t as tr } from './i18n'; import { useState, type FormEvent } from 'react'; import { nowMinute, money, requestUuid, type Position } from './api'; export function TransferForm({ accounts, busy, submit, initialSourceId, }: { accounts: Position[]; busy: boolean; submit: (data: unknown) => void; initialSourceId?: string; }) { const [requestId] = useState(() => requestUuid()); const [sourceId, setSource] = useState(initialSourceId || accounts[0]?.id || ''), [targetId, setTarget] = useState( accounts.find((p) => p.id !== (initialSourceId || accounts[0]?.id))?.id || '', ), [amount, setAmount] = useState(''); const source = accounts.find((p) => p.id === sourceId), target = accounts.find((p) => p.id === targetId); const same = source?.currency === target?.currency; function save(e: FormEvent) { e.preventDefault(); submit(Object.fromEntries(new FormData(e.currentTarget))); } if (accounts.length < 2) return

{tr('请先创建至少两个启用中的资产账户。隐藏账户需验证密码后才能选择。')}

; return (

{tr( '双方余额同时更新。正数手续费额外扣除,负数表示优惠抵扣(不超过转出金额);转账时间不能早于双方最新余额记录。', )}

{!same && (

{tr('跨币种请填写银行实际到账金额;本次转账不修改公共参考汇率。')}

)}