import React, { useState, useEffect, useMemo } from 'react'; import { useLocation } from 'react-router-dom'; import { Search } from 'lucide-react'; import { MOCK_BUSINESSES } from '../services/mockData'; import { CATEGORIES } from '../types'; import BusinessCard from '../components/BusinessCard'; import DirectoryHero from '../components/DirectoryHero'; const DirectoryPage = () => { const [filterCategory, setFilterCategory] = useState('All'); const [searchQuery, setSearchQuery] = useState(''); const useQuery = () => { return new URLSearchParams(useLocation().search); } const query = useQuery(); useEffect(() => { const q = query.get('q'); if (q) setSearchQuery(q); }, [query]); const featuredBusiness = useMemo(() => { return MOCK_BUSINESSES.find(b => b.isFeatured); }, []); const filteredBusinesses = useMemo(() => { return MOCK_BUSINESSES.filter(b => { const matchesCategory = filterCategory === 'All' || b.category === filterCategory; const matchesSearch = b.name.toLowerCase().includes(searchQuery.toLowerCase()) || b.description.toLowerCase().includes(searchQuery.toLowerCase()) || b.tags.some(t => t.toLowerCase().includes(searchQuery.toLowerCase())); return matchesCategory && matchesSearch; }); }, [filterCategory, searchQuery]); return (
Essayez d'ajuster vos filtres de recherche.