import { ListOrdered } from "lucide-react"; import { redirect } from "next/navigation"; import { getTranslations } from "next-intl/server"; import { AdminPageShell } from "@/components/admin/admin-page-shell"; import { ADMIN_NAV_GROUPS } from "@/lib/admin-nav"; import { ADMIN_NAV_CONFIG_KEY, parseAdminNavConfig, } from "@/lib/admin-nav-config"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { siteSettings } from "@/lib/services/site-settings"; import { AdminMenuEditor } from "./admin-menu-editor"; export const metadata = { title: "Admin menu" }; export default async function AdminMenuPage() { const { session, permissions } = await getAdminContext(); if (!canAccess(permissions, PERMS.SETTINGS_VIEW, session.user.rank)) { redirect("/admin"); } const canEdit = canAccess( permissions, PERMS.SETTINGS_EDIT, session.user.rank, ); const t = await getTranslations("pages.admin.menu"); const catalog = ADMIN_NAV_GROUPS.map((g) => ({ labelKey: g.labelKey, items: g.items.map((i) => ({ href: i.href, labelKey: i.labelKey })), })); const initialConfig = parseAdminNavConfig( await siteSettings.get(ADMIN_NAV_CONFIG_KEY, ""), ); return ( ); }