"use client"; import React, { useState, useEffect } from 'react'; import Link from 'next/link'; import { Search, MapPin, ChevronLeft, ChevronRight, ArrowRight } from 'lucide-react'; interface HomeSlide { id: string; type: 'BUSINESS' | 'CUSTOM'; businessId?: string | null; business?: any; title?: string | null; subtitle?: string | null; imageUrl?: string | null; linkUrl?: string | null; } interface Props { slides: HomeSlide[]; onSearch: (searchTerm: string, locationTerm: string) => void; } const HomeSlider = ({ slides, onSearch }: Props) => { const [current, setCurrent] = useState(0); const [searchTerm, setSearchTerm] = useState(''); const [locationTerm, setLocationTerm] = useState(''); // Auto-slide every 6 seconds useEffect(() => { if (slides.length <= 1) return; const interval = setInterval(() => { setCurrent((prev) => (prev === slides.length - 1 ? 0 : prev + 1)); }, 6000); return () => clearInterval(interval); }, [slides.length]); const handleSearchSubmit = (e: React.FormEvent) => { e.preventDefault(); onSearch(searchTerm, locationTerm); }; // If no slides, show default hero if (slides.length === 0) { return (
Default Banner

Boostez votre visibilité dans
l'écosystème africain

L'annuaire 2.0 qui connecte les talents, les entrepreneurs et les entreprises de la diaspora et du continent.

); } return (
{slides.map((slide, index) => (
{/* Background Image */}
{/* Content */}
{slide.type === 'BUSINESS' && (
Entreprise à la une
)}

{slide.type === 'BUSINESS' ? ( <>Découvrez {slide.business?.name} ) : ( slide.title )}

{slide.type === 'BUSINESS' ? ( slide.business?.description ) : ( slide.subtitle )}

{slide.type === 'BUSINESS' ? 'Voir la fiche' : 'En savoir plus'}
))} {/* Static Search Overlay (Always visible on top of slides) */}
{/* Navigation Arrows */} {slides.length > 1 && ( <> {/* Indicators */}
{slides.map((_, i) => (
)}
); }; const SearchForm = ({ searchTerm, setSearchTerm, locationTerm, setLocationTerm, onSubmit }: any) => (
setSearchTerm(e.target.value)} />
setLocationTerm(e.target.value)} />
); export default HomeSlider;