"use client"; import Modal from "../modal"; import useTranscript from "../useTranscript"; import useTopics from "../useTopics"; import useWaveform from "../useWaveform"; import useMp3 from "../useMp3"; import { TopicList } from "../topicList"; import Recorder from "../recorder"; import { Topic } from "../webSocketTypes"; import React, { useState } from "react"; import "../../../styles/button.css"; import FinalSummary from "../finalSummary"; import ShareLink from "../shareLink"; import QRCode from "react-qr-code"; import TranscriptTitle from "../transcriptTitle"; type TranscriptDetails = { params: { transcriptId: string; }; }; const protectedPath = true; export default function TranscriptDetails(details: TranscriptDetails) { const transcriptId = details.params.transcriptId; const transcript = useTranscript(protectedPath, transcriptId); const topics = useTopics(protectedPath, transcriptId); const waveform = useWaveform(protectedPath, transcriptId); const useActiveTopic = useState(null); const mp3 = useMp3(protectedPath, transcriptId); if (transcript?.error /** || topics?.error || waveform?.error **/) { return ( ); } const fullTranscript = topics.topics ?.map((topic) => topic.transcript) .join("\n\n") .replace(/ +/g, " ") .trim() || ""; return ( <> {!transcriptId || transcript?.loading || topics?.loading ? ( ) : ( <>
{transcript?.response?.title && ( )} {waveform?.loading === false && ( )}
{transcript?.response?.longSummary && ( )}
)} ); }