import { cookies } from 'next/headers'; import { notFound, redirect } from 'next/navigation'; import { auth } from '@/app/(auth)/auth'; import { Chat } from '@/components/chat'; import { getChatById, getMessagesByChatId } from '@/lib/db/queries'; import { DataStreamHandler } from '@/components/data-stream-handler'; import { DEFAULT_CHAT_MODEL } from '@/lib/ai/models'; import { convertToUIMessages } from '@/lib/utils'; export default async function Page(props: { params: Promise<{ id: string }> }) { const params = await props.params; const { id } = params; const chat = await getChatById({ id }); if (!chat) { notFound(); } const session = await auth(); if (!session) { redirect('/api/auth/guest'); } if (chat.visibility === 'private') { if (!session.user) { return notFound(); } if (session.user.id !== chat.userId) { return notFound(); } } const messagesFromDb = await getMessagesByChatId({ id, }); const uiMessages = convertToUIMessages(messagesFromDb); const cookieStore = await cookies(); const chatModelFromCookie = cookieStore.get('chat-model'); if (!chatModelFromCookie) { return ( <> ); } return ( <> ); }