"use client"; import { useEffect, useState } from "react"; import { useParams } from "next/navigation"; import { ChatCompletion } from "@/lib/types"; import { ChatCompletionDetailView } from "@/components/chat-completions/chat-completion-detail"; import { client } from "@/lib/client"; export default function ChatCompletionDetailPage() { const params = useParams(); const id = params.id as string; const [completionDetail, setCompletionDetail] = useState(null); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { if (!id) { setError(new Error("Completion ID is missing.")); setIsLoading(false); return; } const fetchCompletionDetail = async () => { setIsLoading(true); setError(null); setCompletionDetail(null); try { const response = await client.chat.completions.retrieve(id); setCompletionDetail(response as ChatCompletion); } catch (err) { console.error( `Error fetching chat completion detail for ID ${id}:`, err, ); setError( err instanceof Error ? err : new Error("Failed to fetch completion detail"), ); } finally { setIsLoading(false); } }; fetchCompletionDetail(); }, [id]); return ( ); }