import { useEffect, useRef, useState } from 'react'; import PageIcon from '../components/PageIcon.jsx'; import EmptyState from '../components/EmptyState.jsx'; import Pagination from '../components/Pagination.jsx'; import { usePagination } from '../hooks/usePagination.js'; import { api } from '../api.js'; import { useInvestisseur } from '../context/InvestisseurContext.jsx'; import { useUi } from '../context/UiContext.jsx'; import { fmtEUR, fmtStatut } from '../utils/format.js'; import Cerfa2561Preview from '../components/Cerfa2561Preview.jsx'; import CerfaRecapTable from '../components/CerfaRecapTable.jsx'; import Cerfa2778Preview from '../components/Cerfa2778Preview.jsx'; import Cerfa2042Preview from '../components/Cerfa2042Preview.jsx'; /* ── YearSelector ────────────────────────────────────────────── */ function YearSelector({ annee, setAnnee, availableYears }) { const [open, setOpen] = useState(false); const ref = useRef(null); useEffect(() => { if (!open) return; const h = e => { if (!ref.current?.contains(e.target)) setOpen(false); }; document.addEventListener('mousedown', h); return () => document.removeEventListener('mousedown', h); }, [open]); return (
⚠ Cases indicatives combinant plateformes françaises (IFU automatique) et étrangères. Référez-vous à la notice 2041-GFI.