import { Mic, Monitor, Pause, Play, Square } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { Button } from '@/components/ui/button'; import { FormControl, FormItem, FormMessage } from '@/components/ui/form'; import { formatAudioDuration } from '@/lib/utils/audio'; interface AudioSampleSystemProps { file: File | null | undefined; isRecording: boolean; duration: number; onStart: () => void; onStop: () => void; onCancel: () => void; onTranscribe: () => void; onPlayPause: () => void; isPlaying: boolean; isTranscribing?: boolean; } export function AudioSampleSystem({ file, isRecording, duration, onStart, onStop, onCancel, onTranscribe, onPlayPause, isPlaying, isTranscribing = false, }: AudioSampleSystemProps) { const { t } = useTranslation(); return (
{!isRecording && !file && (

{t('audioSample.systemHint')}

)} {isRecording && (
{formatAudioDuration(duration)}

{t('audioSample.remaining', { time: formatAudioDuration(30 - duration) })}

)} {file && !isRecording && (
{t('audioSample.captureComplete')}

{t('audioSample.fileLabel', { name: file.name })}

)}
); }