import { notFound } from "next/navigation"; import FacilitySearch from "@/app/FacilitySearch"; import PlaceMap from "@/components/PlaceMap"; import { type FacilityRecord, enrichFacilities, filterFacilitiesByArea, getAvailablePlaceConfigs, getPlaceConfigFromSlug, } from "@/app/facilityData"; import { API_URL } from "@/config/constants"; export const dynamicParams = true; export const dynamic = "force-dynamic"; export async function generateStaticParams() { return getAvailablePlaceConfigs().map((slug) => ({ slug })); } export default async function PlacePage({ params }: { params: Promise<{ slug: string }> }) { const { slug } = await params; const place = getPlaceConfigFromSlug(slug); if (!place) { notFound(); } let facilities: FacilityRecord[] = []; try { const res = await fetch(`${API_URL}/facilities`, { next: { revalidate: 0 }, cache: "no-store", }); if (!res.ok) { throw new Error(`API returnerte status ${res.status}`); } facilities = await res.json(); } catch (error) { console.error("Kritisk feil ved henting av sted-data:", error); facilities = []; } const safeData = Array.isArray(facilities) ? facilities : []; const facilitiesInPlace = filterFacilitiesByArea(enrichFacilities(safeData), place.areaFilter); return (

Steder

{place.title}

{place.intro}

{facilitiesInPlace.length} anlegg Kart og liste i samme visning
); }