chatbot-template/app/(chat)/page.tsx

56 lines
1.2 KiB
TypeScript
Raw Normal View History

import { cookies } from 'next/headers';
import { Chat } from '@/components/chat';
import { DEFAULT_CHAT_MODEL } from '@/lib/ai/models';
import { generateUUID } from '@/lib/utils';
import { DataStreamHandler } from '@/components/data-stream-handler';
import { auth } from '../(auth)/auth';
import { redirect } from 'next/navigation';
2023-05-19 12:33:56 -04:00
2024-10-11 18:00:22 +05:30
export default async function Page() {
2025-04-25 23:40:15 -07:00
const session = await auth();
if (!session) {
redirect('/api/auth/guest');
2025-04-25 23:40:15 -07:00
}
2024-10-11 18:00:22 +05:30
const id = generateUUID();
const cookieStore = await cookies();
const modelIdFromCookie = cookieStore.get('chat-model');
2024-10-30 16:01:24 +05:30
if (!modelIdFromCookie) {
return (
<>
<Chat
key={id}
id={id}
initialMessages={[]}
initialChatModel={DEFAULT_CHAT_MODEL}
initialVisibilityType="private"
isReadonly={false}
session={session}
autoResume={false}
/>
<DataStreamHandler />
</>
);
}
return (
<>
<Chat
key={id}
id={id}
initialMessages={[]}
initialChatModel={modelIdFromCookie.value}
initialVisibilityType="private"
isReadonly={false}
session={session}
autoResume={false}
/>
<DataStreamHandler />
</>
);
2023-05-19 12:33:56 -04:00
}