import { auth } from "@/app/(auth)/auth"; import { TopNavbar } from "@/components/top-navbar"; import { getSiteSettings, getNavLinks, getTutorialVideos } from "@/lib/db/queries"; export default async function AdminLayout({ children, }: { children: React.ReactNode; }) { const [session, siteSettings, navLinks, tutorialVideos] = await Promise.all([ auth(), getSiteSettings(), getNavLinks(), getTutorialVideos(), ]); const settingsHref = session?.user?.type === "admin" ? "/settings" : session?.user?.type === "agent_admin" ? "/settings/agent-workflow" : null; return (
({ id: link.id, name: link.name, url: link.url, order: link.order, toolboxGroup: link.toolboxGroup || 1, }))} toolbox1Name={siteSettings.toolbox1Name || "工具箱"} toolbox1Enabled={siteSettings.toolbox1Enabled ?? true} toolbox2Name={siteSettings.toolbox2Name || "工具箱2"} toolbox2Enabled={siteSettings.toolbox2Enabled ?? false} tutorialVideos={tutorialVideos.map(v => ({ id: v.id, title: v.title, videoUrl: v.videoUrl, coverUrl: v.coverUrl, description: v.description, order: v.order, }))} tutorialEnabled={siteSettings.tutorialEnabled ?? false} rankingEnabled={siteSettings.rankingEnabled ?? true} productPlanningEnabled={(siteSettings as any).productPlanningEnabled ?? true} videoCanvasEnabled={(siteSettings as any).videoCanvasEnabled ?? true} />
{children}
); }