import config from "@payload-config"; import { getPayload } from "payload"; import { headers } from "next/headers"; import type { Metadata } from "next"; import { Map as MapIcon } from "lucide-react"; import { hasPermission } from "@/utils/access-control/hasPermission"; import { hasLogisticsQualification } from "@/utils/access-control/hasLogisticsQualification"; import { MapLoader } from "./MapLoader"; export const metadata: Metadata = { title: "World Map: Polaris Task Force", }; export default async function MapPage() { const payload = await getPayload({ config: await config }); const { user } = await payload.auth({ headers: await headers(), canSetHeaders: false }); const [mapsRes, canEdit, canPlace] = await Promise.all([ payload.find({ collection: "maps", where: { isActive: { equals: true } }, sort: "name", limit: 100, depth: 0, overrideAccess: true, }), user ? hasPermission(payload, user, "maps:update") : Promise.resolve(false), user ? hasLogisticsQualification(payload, user) : Promise.resolve(false), ]); const maps = mapsRes.docs.map((map) => ({ id: map.id, name: map.name })); return (