import { createFileRoute, useRouter } from '@tanstack/react-router'
import { useEffect, useState } from 'react'
import { AdminDashboard } from '../components/admin/AdminDashboard'
import { getAccessToken, getCurrentUser } from '../lib/auth'
import { Toaster } from '../components/ui/toast'

export const Route = createFileRoute('/admin/dashboard')({
  component: AdminDashboardPage,
})

function AdminDashboardPage() {
  const router = useRouter()
  const [checked, setChecked] = useState(false)

  useEffect(() => {
    const user = getCurrentUser()
    if (!getAccessToken() || user?.role !== 'admin') {
      router.navigate({ to: '/login' })
      return
    }
    setChecked(true)
  }, [router])

  if (!checked) {
    return <div className="flex min-h-screen items-center justify-center text-sm text-gray-500">Loading…</div>
  }

  return (
    <>
      <AdminDashboard />
      <Toaster />
    </>
  )
}
