import type { Metadata } from 'next'
import { redirect } from 'next/navigation'
import { auth } from '@/auth'
import AdminDashboard from '@/components/admin/AdminDashboard'
import { isUserAdmin } from '@/lib/admin-auth'
import { fetchAdminDashboard } from '@/lib/admin-dashboard'

export const metadata: Metadata = {
  title: 'Admin — pulpit | Twoja Łódka',
  robots: { index: false, follow: false },
}

export const dynamic = 'force-dynamic'

export default async function AdminIndexPage() {
  const session = await auth()
  if (!session?.user?.id) redirect('/logowanie?callbackUrl=/admin')

  const admin = await isUserAdmin(session.user.id, session.user.email)
  if (!admin) redirect('/profil')

  try {
    const data = await fetchAdminDashboard()
    return <AdminDashboard data={data} />
  } catch (error) {
    console.error('AdminIndexPage', error)
    return (
      <div className="min-h-screen bg-slate-100 px-4 pt-28">
        <div className="mx-auto max-w-2xl rounded-2xl border border-red-200 bg-red-50 p-6 text-red-950">
          <h1 className="text-xl font-bold">Nie udało się pobrać statystyk</h1>
          <p className="mt-2 text-sm">Sprawdź połączenie z bazą danych i spróbuj ponownie.</p>
        </div>
      </div>
    )
  }
}
