const formData = new FormData();
formData.append('transaction_history_file', transactionFile);
formData.append('realized_gains_file', gainsFile);
const response = await fetch('/api/upload-csv', {
method: 'POST',
body: formData
});
// Handle streaming response
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const text = decoder.decode(value);
const lines = text.split('\n').filter(l => l.trim());
for (const line of lines) {
const data = JSON.parse(line);
if (data.type === 'progress') {
console.log(`Progress: ${data.percentage}% - ${data.message}`);
} else if (data.type === 'success') {
console.log('Upload complete!', data.stats);
} else if (data.type === 'error') {
console.error('Upload failed:', data.message);
}
}
}