Nye-TeeOff/frontend/src/app/page.tsx

42 lines
1.1 KiB
TypeScript
Raw Normal View History

2026-04-12 10:11:23 +02:00
import FacilitySearch from "./FacilitySearch";
import HeroSlider from "./HeroSlider";
import { API_URL } from "@/config/constants";
2026-04-12 22:07:51 +02:00
import { createPageMetadata } from "@/app/seo";
2026-02-26 09:20:51 +01:00
2026-04-12 10:11:23 +02:00
export const dynamic = "force-dynamic";
2026-04-12 22:07:51 +02:00
export const metadata = createPageMetadata({
2026-04-13 13:51:11 +02:00
title: "Komplett oversikt over ALLE norske golfbaner",
2026-04-12 22:07:51 +02:00
description:
2026-04-14 16:31:28 +02:00
"Utforsk norske golfbaner med oppdatert banestatus, kart, priser, medlemskap og Veien til Golf samlet på TeeOff.",
2026-04-12 22:07:51 +02:00
path: "/",
});
2026-02-26 09:20:51 +01:00
export default async function Home() {
let facilities = [];
try {
2026-04-12 10:11:23 +02:00
const res = await fetch(`${API_URL}/facilities`, {
2026-02-26 09:20:51 +01:00
next: { revalidate: 0 },
2026-04-12 10:11:23 +02:00
cache: "no-store",
2026-02-26 09:20:51 +01:00
});
if (!res.ok) {
throw new Error(`API returnerte status ${res.status}`);
}
2026-04-12 10:11:23 +02:00
2026-02-26 09:20:51 +01:00
facilities = await res.json();
} catch (error) {
console.error("Kritisk feil ved henting av data:", error);
2026-04-12 10:11:23 +02:00
facilities = [];
2026-02-26 09:20:51 +01:00
}
const safeData = Array.isArray(facilities) ? facilities : [];
return (
2026-04-12 10:11:23 +02:00
<main className="site-shell min-h-screen">
<HeroSlider facilities={safeData} />
<FacilitySearch initialFacilities={safeData} variant="home" />
2026-02-26 09:20:51 +01:00
</main>
);
2026-04-12 10:11:23 +02:00
}