import { desc, eq } from "drizzle-orm"; import { ExternalLink, Lock, PencilLine, PlusIcon } from "lucide-react"; import Image from "next/image"; import Link from "next/link"; import { SimpleTooltip } from "@/components/tooltip"; import { Button } from "@/components/ui/button"; import { Kbd } from "@/components/ui/kbd"; import { db } from "@/lib/db"; import { tierlistBadges, tierlistTypes, tierlistVersions, } from "@/lib/db/schema"; import { syncTierlistSnapshots } from "@/lib/tierlist"; import { cn } from "@/lib/utils"; import { BadgeSection } from "./badge-section"; export default async function TierlistManagerPage({ params, }: PageProps<"/admin/tl/[ver]">) { const { ver } = await params; await syncTierlistSnapshots(ver); const [[type], versionsList, badges] = await Promise.all([ db.select().from(tierlistTypes).where(eq(tierlistTypes.id, ver)), db .select() .from(tierlistVersions) .orderBy(desc(tierlistVersions.order)) .where(eq(tierlistVersions.type, ver)), db .select() .from(tierlistBadges) .orderBy(tierlistBadges.order, tierlistBadges.id), ]); const t = { ...type, versions: versionsList, }; return (