Mode sombre
Dark-by-default, sans toggle
Patrimo est exclusivement en dark mode. Il n'existe pas de thème clair, pas de toggle light/dark, pas de prefers-color-scheme: light à supporter dans l'app elle-même.
Ce choix est volontaire :
- Sessions longues : un fond noir OLED réduit la fatigue oculaire en consultation patrimoniale quotidienne
- OLED friendly : les pixels noirs sont éteints sur OLED → consommation réduite sur mobile/laptops récents
- Couleurs financières : vert et rouge sont plus lisibles sur fond noir que sur fond clair (moins de scintillement)
- Simplicité : zéro surface de bug liée à la permutation des palettes
Docusaurus supporte les deux thèmes, et la doc laisse le toggle accessible en haut à droite. La palette custom est alignée sur les tokens Patrimo en mode sombre ; le mode clair de Docusaurus n'est pas stylisé spécifiquement.
Fond en trois niveaux
| Token | Usage | Valeur |
|---|---|---|
--color-bg | Body, pages auth | #050506 |
--color-base | Sidebar, zones fixes | #0a0a0c |
--color-elevated | Cartes .card | #111116 |
Plus la surface est « flottante » (modale, carte), plus elle monte d'un cran. Le glassmorphism (--color-surface) ajoute une surcouche translucide par-dessus.
Glassmorphism
Sur fond OLED, un blur de 16 px avec 5 % de blanc suffit à créer de la profondeur sans voile gris. La classe .glass-card encapsule :
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 12px;
Toujours préfixer avec -webkit-backdrop-filter — Safari <15 sinon désactive l'effet silencieusement.
Accents colorés
Sur fond noir, les accents saturés (ambre, vert, rouge) ressortent fortement. Règles :
- Ne pas abuser : 1 seul accent principal par écran (l'ambre pour les CTA)
- Réserver le vert / rouge aux variations financières — jamais pour des états UI génériques (« succès », « erreur » d'un formulaire =
--color-accentou neutre) - Utiliser les tokens
-mutedpour les fonds :--color-accent-muted(opacité 12 %),--color-positive-muted, etc.
Si un jour un thème clair devient nécessaire
Prérequis avant implémentation :
- ADR justifiant le besoin (ex. partage externe, impression)
- Audit de chaque composant utilisant des valeurs RGB inline (AccountCard, KpiCard highlight, login button) → factoriser en tokens
- Ajout d'un
data-theme="light"scope dans:rootavec la palette équivalente - Toggle persisté en localStorage
Aucun de ces prérequis n'est en place actuellement.