27 lines
941 B
TypeScript
27 lines
941 B
TypeScript
import { useUserStore } from "@/stores/use-user-store";
|
|
import { AdminProvider } from "./admin-context";
|
|
import { AdminShell } from "./components/admin-shell";
|
|
|
|
export default function AdminPage() {
|
|
const actor = useUserStore((state) => state.user);
|
|
const hydrated = useUserStore((state) => state.hydrated);
|
|
|
|
if (!hydrated) return null;
|
|
if (actor?.role !== "admin") {
|
|
return (
|
|
<main className="min-h-dvh bg-background px-6 py-10 text-foreground">
|
|
<div className="mx-auto max-w-3xl rounded-lg border border-border bg-background p-6">
|
|
<h1 className="text-2xl font-semibold">无权限</h1>
|
|
<p className="mt-2 text-sm text-foreground/55">当前账号不是管理员,无法访问后台。</p>
|
|
</div>
|
|
</main>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<AdminProvider>
|
|
<AdminShell />
|
|
</AdminProvider>
|
|
);
|
|
}
|