"use client"; import { useState, useEffect, useMemo } from 'react'; import Link from 'next/link'; export default function HeroSlider({ facilities }: { facilities: any[] }) { const [currentIndex, setCurrentSlide] = useState(0); const sliderItems = useMemo(() => { if (!Array.isArray(facilities) || facilities.length === 0) return []; return facilities.filter(f => { const img = f.image_url || ""; // Filter: Unngå standardbilder og krev fungerende bilde-sti const isRealImage = img && !img.toLowerCase().includes('standard'); const statuses = Array.isArray(f.course_statuses) ? f.course_statuses : []; const isActive = statuses.some((s: any) => ['aapen', 'aapner_snart', 'stenger_snart', 'aapen_med_vintergreener'].includes(s.status) ); return isRealImage && isActive; }) .sort(() => 0.5 - Math.random()) // Tilfeldig utvalg ved last .slice(0, 5); }, [facilities]); useEffect(() => { if (sliderItems.length <= 1) return; const t = setInterval(() => setCurrentSlide(p => (p + 1) % sliderItems.length), 6000); return () => clearInterval(t); }, [sliderItems]); if (sliderItems.length === 0) return null; return (
{f.county} • {f.city}