37 lines
972 B
TypeScript
37 lines
972 B
TypeScript
import { Metadata } from 'next'
|
|
import { auth } from '@/auth'
|
|
import { redirect } from 'next/navigation'
|
|
import { prisma } from '@/lib/prisma'
|
|
import { ChatContainer } from '@/components/chat/chat-container'
|
|
import { getConversations } from '@/app/actions/chat-actions'
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'Chat IA | Memento',
|
|
description: 'Discutez avec vos notes et vos agents IA',
|
|
}
|
|
|
|
export default async function ChatPage() {
|
|
const session = await auth()
|
|
if (!session?.user?.id) redirect('/login')
|
|
|
|
const userId = session.user.id
|
|
|
|
// Fetch initial data
|
|
const [conversations, notebooks] = await Promise.all([
|
|
getConversations(),
|
|
prisma.notebook.findMany({
|
|
where: { userId },
|
|
orderBy: { order: 'asc' }
|
|
})
|
|
])
|
|
|
|
return (
|
|
<div className="flex-1 flex flex-col h-full bg-white dark:bg-[#1a1c22]">
|
|
<ChatContainer
|
|
initialConversations={conversations}
|
|
notebooks={notebooks}
|
|
/>
|
|
</div>
|
|
)
|
|
}
|