import { useSpeechRecognition } from '../hooks/useSpeechRecognition'; import { Mic, Waves } from 'lucide-react'; import { cn } from '@/lib/utils'; import { useEffect } from 'react'; interface VoiceCommandButtonProps { className?: string; onTranscriptUpdate: (transcript: string) => void; disabled?: boolean; } export function VoiceCommandButton({ className, onTranscriptUpdate, disabled = false }: VoiceCommandButtonProps) { const { transcript, start, stop, status, error, isSupported } = useSpeechRecognition(); useEffect(() => { if (transcript) { onTranscriptUpdate(transcript); } }, [transcript, onTranscriptUpdate]); useEffect(() => { if (status === 'recording') { onTranscriptUpdate(''); // Limpar contexto ao iniciar nova gravação } }, [status, onTranscriptUpdate]); if (!isSupported) { return (
Seu navegador não suporta gravação por voz
); } return (
{error && (
{error}
)}
); }