---
name: project-icons-sidebar-titles
description: Icônes de la bibliothèque dans la sidebar nav et titres de pages
metadata: 
  node_type: memory
  type: project
  originSessionId: 743b204f-7d6b-45ed-b91c-387060b5941e
---

Icônes de la bibliothèque intégrées dans l'interface à deux endroits.

**Sidebar (`Layout.jsx`)** — composant `NavIcon` : affiche l'icône bibliothèque (`<img className="nav-lib-icon">`) si disponible, sinon fallback SVG inline. Icônes chargées via `api.get('/icons')` au montage du Layout, stockées dans `navIcons` state. Taille : 24px. CSS : `.nav-lib-icon` avec `filter: invert(1)` permanent (sidebar toujours sombre), opacity 0.85 au repos / 1 sur lien actif.

Mapping noms bibliothèque → pages :
- `dashboard` → Tableau de bord
- `investissement` → Investissements
- `depots-retraits` → Dépôts / Retraits
- `remboursement` → Remboursements
- `tax` → Fiscalité

**Titres de pages** — composant `PageIcon` (`frontend/src/components/PageIcon.jsx`) : `<img>` inline dans le `h2` du topbar. Cache module-level partagé (un seul appel API). Taille : 40px. Rendu inline (`display: inline; verticalAlign: middle; marginRight: 10`). Importé dans Dashboard, Investissements, DepotsRetraits, Remboursements, Fiscal2778.

**Why:** Ne jamais wrapper dans un div ou modifier `display` du h2 — voir [[feedback-pageicon-topbar]].
