import React, { useState, useEffect } from "react"; import { useAppMessage } from "@daily-co/daily-react"; import { DailyEventObjectAppMessage } from "@daily-co/daily-js"; import styles from "./UserInputIndicator.module.css"; import { IconMicrophone } from "@tabler/icons-react"; import { TypewriterEffect } from "../ui/typewriter"; import AudioIndicator from "../AudioIndicator"; interface Props { active: boolean; } export default function UserInputIndicator({ active }: Props) { const [transcription, setTranscription] = useState([]); useAppMessage({ onAppMessage: (e: DailyEventObjectAppMessage) => { if (e.fromId && e.fromId === "transcription") { if (e.data.user_id === "" && e.data.is_final) { setTranscription((t) => [...t, ...e.data.text.split(" ")]); } } }, }); useEffect(() => { if (active) return; const t = setTimeout(() => setTranscription([]), 4000); return () => clearTimeout(t); }, [active]); return (
{active && }
); }