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'
import { getSystemConfig } from '@/lib/config'

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, config] = await Promise.all([
    getConversations(),
    prisma.notebook.findMany({
      where: { userId },
      orderBy: { order: 'asc' }
    }),
    getSystemConfig(),
  ])

  // Check if web search tools are configured
  const webSearchAvailable = !!(
    config.WEB_SEARCH_PROVIDER || config.BRAVE_SEARCH_API_KEY || config.SEARXNG_URL || config.JINA_API_KEY
  )

  return (
    <div className="flex-1 flex flex-col h-full bg-white dark:bg-[#1a1c22]">
      <ChatContainer
        initialConversations={conversations}
        notebooks={notebooks}
        webSearchAvailable={webSearchAvailable}
      />
    </div>
  )
}
