"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.
>
);
}