"use client"; import React, { useState } from "react"; import Record from "./components/record.js"; import { Dashboard } from "./components/dashboard.js"; import useWebRTC from "./components/webrtc.js"; import "../public/button.css"; const App = () => { const [isRecording, setIsRecording] = useState(false); const [splashScreen, setSplashScreen] = useState(true); const [stream, setStream] = useState(null); const handleRecord = (recording) => { setIsRecording(recording); setSplashScreen(false); if (recording) { navigator.mediaDevices .getUserMedia({ audio: true }) .then(setStream) .catch((err) => console.error(err)); } else if (!recording) { if (stream) { const tracks = stream.getTracks(); tracks.forEach((track) => track.stop()); setStream(null); } } }; const serverData = useWebRTC(stream, setIsRecording); return (
{splashScreen && ( handleRecord(recording)} /> )} {!splashScreen && ( handleRecord(recording)} transcriptionText={serverData.text ?? "(No transcription text)"} finalSummary={serverData.finalSummary} topics={serverData.topics ?? []} stream={stream} /> )}
); }; export default App;