Modo oscuro
OmniBuy soporta modo oscuro nativo en toda la tienda. El visitante activa el tema oscuro desde el interruptor del header, y la tienda respeta automáticamente la preferencia prefers-color-scheme del dispositivo.
Cómo funciona
- El interruptor del header agrega la clase
.darka<html>(vía el store de tema) y persiste la preferencia; también respetaprefers-color-schemeen la primera visita. - El tema define su paleta oscura en un bloque de tokens
.dark { --color-*: … }. Los componentes consumen esos tokens convar(--color-*), así que la mayoría del tema se voltea automáticamente al activar dark. - Cada sección puede además definir colores específicos para modo oscuro (
bg_color_dark,text_color_dark, etc.). - Si no se configuran colores oscuros, la sección usa los colores por defecto del tema activo.
- El logo puede cambiar: configura
logo_darken el header para usar un logo alternativo.
Dark por tema
Cada tema declara su propia paleta oscura:
- dawn: dark de tono slate/azul (base
#0F172A). - olive-luxe: dark cálido propio (base casi-negra cálida + off-white, acento olive aclarado), pensado para alto contraste.
Un tema habilita dark definiendo el bloque .dark con sus tokens. Si un tema no lo define,
el interruptor no tiene efecto visual sobre los tokens (solo lo hardcodeado por componentes).
Configuración por sección
Muchas secciones aceptan campos con sufijo _dark para personalizar colores en modo oscuro:
| Campo | Descripción |
|---|---|
bg_color_dark | Color de fondo en modo oscuro |
text_color_dark | Color de texto en modo oscuro |
content_background_dark | Fondo del contenedor interno (dark) |
logo_dark | Logo alternativo para el header en modo oscuro |
Configuración del header
| Campo | Tipo | Default | Descripción |
|---|---|---|---|
logo | image | — | Logo modo claro |
logo_dark | image | — | Logo modo oscuro (si está vacío usa el logo normal con filtro invertido) |
bg_color | color | #FFFFFF | Fondo header claro |
fg_color | color | #0F172A | Texto header claro |
Ejemplo
{
"header": {
"logo": "/uploads/logo-light.svg",
"logo_dark": "/uploads/logo-dark.svg",
"bg_color": "#FFFFFF",
"fg_color": "#0F172A"
},
"newsletter": {
"background_color": "#0F172A",
"background_color_dark": "#1E293B",
"text_color": "#FFFFFF"
}
}