"use client"; import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { Loader2, LogOut } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { FileUploader } from "@/components/file-uploader"; import { FileList } from "@/components/file-list"; import { PersonaEditor } from "@/components/persona-editor"; export default function AdminPage() { const router = useRouter(); const [checking, setChecking] = useState(true); const [refreshKey, setRefreshKey] = useState(0); useEffect(() => { (async () => { const r = await fetch("/api/admin/me", { credentials: "same-origin" }); const session = r.ok ? await r.json().catch(() => null) : null; if (!session?.authenticated) router.replace("/admin/login"); else setChecking(false); })(); }, [router]); async function logout() { await fetch("/api/admin/logout", { method: "POST", credentials: "same-origin" }); router.replace("/admin/login"); } if (checking) { return (
); } return (

Educator Dashboard

Upload PDFs to your linked Hugging Face Dataset.

← Chat
Upload PDFs setRefreshKey((k) => k + 1)} />
); }