import { ChangeEvent, useState } from 'react'; import { transcribeAudio } from '../api'; import type { TranscriptionResult } from '../types'; export function TranscribeTab() { const [result, setResult] = useState(null); const [busy, setBusy] = useState(false); const [error, setError] = useState(null); async function onFile(event: ChangeEvent) { const file = event.target.files?.[0]; if (!file) return; setBusy(true); setError(null); setResult(null); try { setResult(await transcribeAudio(file)); } catch (err) { setError(err instanceof Error ? err.message : String(err)); } finally { setBusy(false); } } return (
{error ?

{error}

: null} {result ? (
Transcript

{result.text}

) : null}
); }