37 lines
995 B
TypeScript
37 lines
995 B
TypeScript
import HeroSlider from './HeroSlider';
|
|
import FacilitySearch from './FacilitySearch';
|
|
import { API_URL } from '@/config/constants';
|
|
|
|
export const dynamic = 'force-dynamic';
|
|
|
|
export default async function Home() {
|
|
let facilities = [];
|
|
|
|
try {
|
|
const res = await fetch(`${API_URL}/facilities`, {
|
|
next: { revalidate: 0 },
|
|
cache: 'no-store'
|
|
});
|
|
|
|
if (!res.ok) {
|
|
const errorData = await res.json();
|
|
console.error("API Error Body:", errorData);
|
|
throw new Error(`API returnerte status ${res.status}`);
|
|
}
|
|
|
|
facilities = await res.json();
|
|
} catch (error) {
|
|
console.error("Kritisk feil ved henting av data:", error);
|
|
facilities = [];
|
|
}
|
|
|
|
// Sikrer at vi alltid sender en array til komponentene
|
|
const safeData = Array.isArray(facilities) ? facilities : [];
|
|
|
|
return (
|
|
<main className="min-h-screen bg-[#f1f7ed]">
|
|
<HeroSlider facilities={safeData} />
|
|
<FacilitySearch initialFacilities={safeData} />
|
|
</main>
|
|
);
|
|
}
|