"use client"; import React, { useState, useEffect } from 'react'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { Search, MapPin, Briefcase, TrendingUp, Loader2, ArrowRight } from 'lucide-react'; import { CATEGORIES, Business, BlogPost } from '../types'; import BusinessCard from '../components/BusinessCard'; import { useUser } from '../components/UserProvider'; const HomePage = () => { const router = useRouter(); const { settings } = useUser(); const [searchTerm, setSearchTerm] = useState(''); const [featuredBusinesses, setFeaturedBusinesses] = useState([]); const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [loadingPosts, setLoadingPosts] = useState(true); useEffect(() => { const fetchFeatured = async () => { try { const res = await fetch('/api/businesses?featured=true'); const data = await res.json(); if (Array.isArray(data)) { setFeaturedBusinesses(data.slice(0, 4)); // Show top 4 } } catch (error) { console.error('Error fetching featured businesses:', error); } finally { setLoading(false); } }; fetchFeatured(); const fetchPosts = async () => { try { const res = await fetch('/api/blog'); const data = await res.json(); if (Array.isArray(data)) { setPosts(data); } } catch (error) { console.error('Error fetching blog posts:', error); } finally { setLoadingPosts(false); } }; fetchPosts(); }, []); const handleSearch = (e: React.FormEvent) => { e.preventDefault(); router.push(`/annuaire?q=${searchTerm}`); }; return (
{/* Hero Section */}
African entrepreneurs team

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.

setSearchTerm(e.target.value)} />
{/* Featured Categories */}

Secteurs en vedette

{(settings?.homeCategories || CATEGORIES.slice(0, 4)).map((cat: string, idx: number) => (

{cat}

))}
{/* Featured Businesses */}

Entreprises à la une

Découvrez les pépites de notre communauté.

Voir tout l'annuaire
{loading ? (
) : (
{featuredBusinesses.map(biz => ( ))}
)}
{/* Blog Section */} {settings?.homeBlogShow !== false && (

{settings?.homeBlogTitle || "Derniers Articles"}

{settings?.homeBlogSubtitle || "Toutes les actualités de l'entrepreneuriat africain."}

Voir tout le blog
{loadingPosts ? (
) : (
{posts .filter(post => { if (settings?.homeBlogSelection === 'manual') { return settings.homeBlogIds?.includes(post.id); } if (settings?.homeBlogSelection === 'category') { return post.tags?.some((tag: string) => settings.homeBlogCategories?.includes(tag)); } return true; }) .slice(0, settings?.homeBlogCount || 3) .map(post => (
{post.title}

{post.title}

{post.excerpt}

{new Date(post.date).toLocaleDateString('fr-FR')} Lire la suite →
))}
)}
)}
); }; export default HomePage;