import { BadgeCheck, Cat, ClipboardCheck, Copy, Dumbbell, ImageIcon, Puzzle, RefreshCw, Shirt, Upload, } from "lucide-react"; import Link from "next/link"; import { redirect } from "next/navigation"; import { getTranslations } from "next-intl/server"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; export default async function ImportPage() { const t = await getTranslations("pages.admin.import"); const { session, permissions } = await getAdminContext(); if (!canAccess(permissions, PERMS.ASSETS_IMPORT, session.user.rank)) { redirect("/admin"); } const SECTIONS = [ { href: "/admin/import/badges", label: t("badges"), icon: BadgeCheck, description: t("badgesDescription"), }, { href: "/admin/import/furni", label: t("furni"), icon: Puzzle, description: t("furniDescription"), }, { href: "/admin/import/furni/upload", label: t("upload"), icon: Upload, description: t("uploadDescription"), }, { href: "/admin/import/clothing", label: t("clothing"), icon: Shirt, description: t("clothingDescription"), }, { href: "/admin/import/effects", label: t("effects"), icon: Dumbbell, description: t("effectsDescription"), }, { href: "/admin/import/pets", label: t("pets"), icon: Cat, description: t("petsDescription"), }, { href: "/admin/import/clone", label: t("clone"), icon: Copy, description: t("cloneDescription"), }, { href: "/admin/import/sync", label: t("sync"), icon: RefreshCw, description: t("syncDescription"), }, { href: "/admin/import/repair-icons", label: t("repairIcons"), icon: ImageIcon, description: t("repairIconsDescription"), }, { href: "/admin/import/audit", label: t("audit"), icon: ClipboardCheck, description: t("auditDescription"), }, ] as const; return (
{description}