"use client"; import { useEffect, use } from "react"; import { Heading, Text, VStack, Spinner, Button, Center, } from "@chakra-ui/react"; import { useRouter } from "next/navigation"; import { useTranscriptGet } from "../../../../lib/apiHooks"; type TranscriptProcessing = { params: Promise<{ transcriptId: string; }>; }; export default function TranscriptProcessing(details: TranscriptProcessing) { const params = use(details.params); const transcriptId = params.transcriptId; const router = useRouter(); const transcript = useTranscriptGet(transcriptId); useEffect(() => { const status = transcript.data?.status; if (!status) return; if (status === "ended" || status === "error") { router.replace(`/transcripts/${transcriptId}`); } else if (status === "recording") { router.replace(`/transcripts/${transcriptId}/record`); } else if (status === "idle") { const dest = transcript.data?.source_kind === "file" ? `/transcripts/${transcriptId}/upload` : `/transcripts/${transcriptId}/record`; router.replace(dest); } }, [ transcript.data?.status, transcript.data?.source_kind, router, transcriptId, ]); if (transcript.isLoading) { return ( Loading transcript... ); } if (transcript.error) { return ( Transcript not found We couldn't load this transcript. ); } return ( <>
Processing recording You can safely return to the library while your recording is being processed.
); }