import { redirect } from "next/navigation"; import { getTranslations } from "next-intl/server"; import { getCurrentUser } from "@/lib/auth/session"; export const dynamic = "force-dynamic"; export default async function AdminLayout({ children, }: { children: React.ReactNode; }) { const user = await getCurrentUser(); if (!user || !user.is_admin) { redirect("/dashboard"); } const t = await getTranslations("auto.appAdminLayout"); const links: { href: string; label: string }[] = [ { href: "/admin/stats", label: t("stats") }, { href: "/admin/categories", label: t("categories") }, { href: "/admin/templates", label: t("templates") }, { href: "/admin/ranking", label: t("ranking") }, { href: "/admin/tags", label: t("tags") }, { href: "/admin/fonts", label: t("fonts") }, { href: "/admin/blogs", label: t("blogs") }, { href: "/admin/slides", label: t("slides") }, { href: "/admin/files", label: t("media") }, { href: "/admin/ai", label: t("aiContent") }, { href: "/admin/messaging", label: t("messaging") }, { href: "/admin/marketing", label: t("marketing") }, { href: "/admin/crm", label: t("crm") }, { href: "/admin/users", label: t("users") }, { href: "/admin/plans", label: t("plans") }, { href: "/admin/discounts", label: t("discounts") }, { href: "/admin/settings", label: t("siteSettings") }, { href: "/admin/nodes", label: t("nodes") }, { href: "/admin/renders", label: t("renderQueue") }, ]; return (
{children}
); }