import { useAddPosition } from '../api/useAddPosition'; import { useAddPositionForm } from '../model/useAddPositionForm'; const inputStyle: React.CSSProperties = { padding: '8px 12px', border: '1px solid #e0e0e0', borderRadius: 'var(--border-radius)', fontSize: 14, }; export function AddPositionForm({ portfolioId }: { portfolioId: number }) { const addPosition = useAddPosition(portfolioId); const form = useAddPositionForm(); function handleAddPosition() { if (!form.newSecid.trim() || !parseInt(form.newQty, 10)) return; addPosition.mutate( { secid: form.newSecid.trim().toUpperCase(), quantity: parseInt(form.newQty, 10), buyPrice: form.newPrice ? parseFloat(form.newPrice) : undefined, buyDate: form.newDate || undefined, }, { onSuccess: () => { form.setShowAddForm(false); form.reset(); }, }, ); } return (
form.setNewSecid(e.target.value)} placeholder="SBER" style={{ ...inputStyle, width: 120 }} />
form.setNewQty(e.target.value)} style={{ ...inputStyle, width: 100 }} />
form.setNewPrice(e.target.value)} placeholder="0.00" style={{ ...inputStyle, width: 120 }} />
form.setNewDate(e.target.value)} style={{ ...inputStyle, width: 150 }} />
); }