MovixOpenSource/src/styles/light-mode.css
Movix 2045dbd2c9 Nouvelle adresse movix + nouvelles fonctionalités
Modification du Oauth :
Pouvoir manager les apps depuis le panel admin

Correction de l'affichage des images des admins

Majs des urls extension, userscript et premid

Correction d'un crash sur les commentaires

Ajout d'un light mode sur le frontend
2026-05-14 17:26:13 +02:00

99 lines
5.5 KiB
CSS

/* ─── Mode Léger + préférences granulaires d'animations ─────────────────────
Chaque catégorie est pilotée par un attribut `data-*` posé sur <html> par
LightModeContext. `data-light-mode="true"` reste un raccourci qui ajoute
AUSSI tous les attributs `data-no-*` (calcul fait dans le provider), donc
les sélecteurs `[data-light-mode="true"]` ci-dessous sont conservés pour
les règles trop spécifiques pour rentrer dans une catégorie. */
/* ════════════════════════════════════════════════════════════════════════════
ANIMATIONS DE FOND (data-no-bg-anim)
- canvas (DynamicBackground, particules)
- flocons de neige
- screensaver kenburns
- animations décoratives "rainbow"
══════════════════════════════════════════════════════════════════════════ */
html[data-no-bg-anim] canvas {
display: none !important;
}
html[data-no-bg-anim] .snow-particle {
display: none !important;
animation: none !important;
}
html[data-no-bg-anim] .screensaver-kenburns {
animation: none !important;
}
html[data-no-bg-anim] [class*="rainbow"] {
animation: none !important;
}
/* Halo lumineux radial du SquareBackground — coûteux (RAF sur pointermove
+ radial-gradient). Inclus dans la catégorie "animations de fond". */
html[data-no-bg-anim] .square-bg-halo {
display: none !important;
}
/* ════════════════════════════════════════════════════════════════════════════
ANIMATIONS DE CHARGEMENT (data-no-loading-anim)
- skeletons pulsants (animate-pulse)
- spinners (animate-spin)
- rebonds (animate-bounce, animate-ping)
On vise les classes Tailwind utilitaires, qui sont employées partout pour
l'état "loading".
══════════════════════════════════════════════════════════════════════════ */
html[data-no-loading-anim] .animate-pulse,
html[data-no-loading-anim] .animate-spin,
html[data-no-loading-anim] .animate-bounce,
html[data-no-loading-anim] .animate-ping,
html[data-no-loading-anim] [class*="animate-pulse"],
html[data-no-loading-anim] [class*="animate-spin"] {
animation: none !important;
}
/* ════════════════════════════════════════════════════════════════════════════
EFFETS DE FLOU (data-no-blur)
- backdrop-blur (très coûteux GPU, plante les Smart TV)
- filter:blur via classes Tailwind ou inline
══════════════════════════════════════════════════════════════════════════ */
html[data-no-blur] [class*="backdrop-blur"] {
-webkit-backdrop-filter: none !important;
backdrop-filter: none !important;
background-color: rgba(10, 10, 15, 0.95) !important;
}
html[data-no-blur] [class*="blur-"] {
filter: none !important;
}
html[data-no-blur] [style*="filter"] {
filter: none !important;
-webkit-filter: none !important;
backdrop-filter: none !important;
-webkit-backdrop-filter: none !important;
}
/* ════════════════════════════════════════════════════════════════════════════
TRANSITIONS (data-no-transitions)
- Coupe transitions CSS sur tout l'arbre
- framer-motion est géré séparément via <MotionConfig reducedMotion>
══════════════════════════════════════════════════════════════════════════ */
html[data-no-transitions] *,
html[data-no-transitions] *::before,
html[data-no-transitions] *::after {
transition-duration: 0.01ms !important;
transition-delay: 0ms !important;
}
/* ════════════════════════════════════════════════════════════════════════════
LEGACY : raccourci Mode Léger
Garde-fou : si `data-light-mode="true"` est présent SANS les autres attrs
(ex: provider non monté), on coupe quand même tout l'essentiel. En usage
normal, LightModeContext ajoute les attrs granulaires en plus, donc ces
règles sont redondantes mais inoffensives.
══════════════════════════════════════════════════════════════════════════ */
html[data-light-mode="true"] [class*="animate-"] {
animation: none !important;
transition: none !important;
}
/* will-change : supprime la promotion de couches GPU partout en Mode Léger. */
html[data-light-mode="true"] [style*="will-change"],
html[data-light-mode="true"] [class*="will-change"] {
will-change: auto !important;
}