Spaces:
Running
Running
File size: 1,906 Bytes
c47ec10 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | "use client";
import { LoaderCircle } from "lucide-react";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { useAuthGuard } from "@/lib/use-auth-guard";
import { ChatPanel } from "./components/chat-panel";
import { PptPanel } from "./components/ppt-panel";
import { PsdPanel } from "./components/psd-panel";
import { SearchPanel } from "./components/search-panel";
import { SkillPanel } from "./components/skill-panel";
const tabs = [
{ value: "skills", title: "搜索Skills" },
{ value: "search", title: "搜索" },
{ value: "ppt", title: "PPT生成" },
{ value: "psd", title: "PSD生成" },
{ value: "chat", title: "对话" },
];
export default function DebugPage() {
const { isCheckingAuth, session } = useAuthGuard(["admin"]);
if (isCheckingAuth || !session || session.role !== "admin") {
return (
<div className="flex min-h-[calc(100vh-49px)] items-center justify-center">
<LoaderCircle className="size-5 animate-spin text-muted-foreground" />
</div>
);
}
return (
<Tabs defaultValue="skills" className="mx-auto flex min-h-[calc(100vh-49px)] w-full max-w-[1600px] flex-col gap-4 px-4 pt-3 pb-6 md:px-8">
<TabsList variant="line" className="w-full">
{tabs.map(({ value, title }) => (
<TabsTrigger key={value} value={value}>
{title}
</TabsTrigger>
))}
</TabsList>
<TabsContent value="skills">
<SkillPanel />
</TabsContent>
<TabsContent value="search" className="min-h-0">
<SearchPanel />
</TabsContent>
<TabsContent value="ppt" className="min-h-0">
<PptPanel />
</TabsContent>
<TabsContent value="psd" className="min-h-0">
<PsdPanel />
</TabsContent>
<TabsContent value="chat" className="min-h-0">
<ChatPanel />
</TabsContent>
</Tabs>
);
}
|