import { useState, useCallback } from "react" export function useVoicePlayback() { const [speakingHead, setSpeakingHead] = useState(null) const [headSummaries, setHeadSummaries] = useState>({}) const onHeadSpeak = useCallback( (headId: string, summary: string, audioBase64?: string | null) => { setSpeakingHead(headId) setHeadSummaries((prev) => ({ ...prev, [headId]: summary })) if (audioBase64) { try { const audio = new Audio(`data:audio/wav;base64,${audioBase64}`) audio.play().then(() => { audio.onended = () => setSpeakingHead(null) }).catch(() => setSpeakingHead(null)) } catch { setSpeakingHead(null) } } else { setTimeout(() => setSpeakingHead(null), 1500) } }, [] ) const clearSpeaking = useCallback(() => setSpeakingHead(null), []) return { speakingHead, headSummaries, onHeadSpeak, clearSpeaking } }