"use client"; import { FALLBACK_IMAGE } from "@/config/constants"; import { useState, useEffect } from 'react'; import Link from 'next/link'; export default function HeroSlider({ facilities }: { facilities: any[] }) { const [currentIndex, setCurrentIndex] = useState(0); const [sliderItems, setSliderItems] = useState([]); useEffect(() => { if (!Array.isArray(facilities)) return; const filtered = facilities.filter(f => { // Robust status-sjekk const statuses = Array.isArray(f.course_statuses) ? f.course_statuses : []; const interesting = ['aapen', 'aapen_med_vintergreener', 'aapner_snart', 'stenger_snart', 'stengt']; const hasStatus = statuses.some((s: any) => s && s.status && interesting.includes(s.status)); // Bilde-sjekk const img = f.front_image_url || f.image_url || ""; const isReal = img && !img.includes('Toppbilde-standard.jpg') && String(img).startsWith('http'); return hasStatus && isReal; }); setSliderItems(filtered.sort(() => 0.5 - Math.random()).slice(0, 5)); }, [facilities]); useEffect(() => { if (sliderItems.length <= 1) return; const t = setInterval(() => setCurrentIndex(p => (p + 1) % sliderItems.length), 6000); return () => clearInterval(t); }, [sliderItems]); if (sliderItems.length === 0) return null; return (
{sliderItems.map((f, i) => (
{f.name}

{f.name}

{f.city} • {f.county}

Se golfanlegget
))}
); }