Cambiadore automático de tema en modo oscuro

:warning: Discourse ahora soporta Automatic Dark Mode color scheme switching en el núcleo; este componente está ahora obsoleto y ya no debe usarse.

Repositorio:

https://github.com/pmusaraj/discourse-dark-mode

Instrucciones de instalación: Installing a theme or theme component

¿Qué hace esto?

Este componente permite el cambio automático a un tema oscuro cuando el navegador está configurado en modo oscuro. Esto funciona solo para usuarios iniciados en todos los navegadores que soportan la consulta de medios prefers-color-scheme.

Por defecto, este componente está habilitado y los usuarios individuales pueden desactivarlo en su pantalla de Preferencias > Interfaz. Los administradores también pueden configurar el componente para que esté desactivado por defecto; en ese caso, los usuarios verán un botón para habilitar el cambio automático en sus preferencias de interfaz.

¿Cómo funciona?

Si el navegador está en modo oscuro, este componente recargará Discourse con el tema oscuro habilitado. Si el navegador vuelve al modo claro, este componente recargará con el tema predeterminado habilitado.

También se recargará si se cambia el modo oscuro mientras el usuario está en el sitio (como se muestra en el video anterior).

(Si tienes más de dos temas habilitados y el usuario ha seleccionado un tema diferente al predeterminado o al oscuro, este componente no hará nada, es decir, respetará la elección del usuario.)

Configuración

  • Asegúrate de tener un tema oscuro instalado y que sea seleccionable por los usuarios.
  • Añade este componente tanto al tema predeterminado como al tema oscuro (muy importante; si no lo añades a ambos temas, los usuarios no podrán volver al tema predeterminado).
  • En la configuración del componente, ingresa el ID de tu tema oscuro en dark theme id.
28 Me gusta

Awesome, although flux is overkill just to toggle dark mode on the mac. Night Owl will do the same thing without interfering with anything else.

4 Me gusta

Acabo de publicar una pequeña actualización en este componente del tema para que sea compatible con iOS 13, el cual se lanzará con el Modo Oscuro y una opción para activarlo automáticamente por las tardes.

9 Me gusta

¡Gracias por este increíble componente, he estado buscando esto! Desafortunadamente, no logro que funcione. Quizás sea algo trivial, pero ¿dónde encuentro el ID del tema oscuro? ¿Es simplemente el nombre del tema?

1 me gusta

¡Gracias!

El ID es el número del tema en la URL cuando lo has seleccionado en el panel de administración. Por ejemplo, en esta URL: /admin/customize/themes/39, es 39.

1 me gusta

¡Genial, funciona como un encanto, gracias! Realmente espero que esto se convierta en parte de la instalación estándar del discurso.

2 Me gusta

Google Chrome ahora admite el modo oscuro en iOS 13 y iPadOS 13. Sin embargo, no estoy muy seguro sobre el soporte del modo oscuro para Google Chrome en macOS Mojave o macOS Catalina.

¿Cuándo llegará el soporte para Google Chrome?

Ya debería funcionar en Chrome; por detrás utiliza la consulta de medios prefers-color-scheme y el soporte del navegador para ella es bastante bueno hoy en día: Can I use... Support tables for HTML5, CSS3, etc

¡Qué bueno escuchar eso! :grinning:

Sí, yo también espero mucho que esto forme parte de la instalación estándar de Discourse. Algunas personas solo quieren actualizar sus foros y no van más allá de eso.

1 me gusta

@pmusaraj una cosa que noté es que el cambio solo funciona para usuarios con sesión iniciada. ¿Existe alguna forma de configurarlo también automáticamente para usuarios anónimos que aún no han creado una cuenta (por ejemplo, cambiar al tema oscuro al usar una ventana de navegación privada)?

1 me gusta

No me funciona :-/

Solo para futuras actualizaciones: Sería genial si hubiera un menú desplegable para elegir el correcto.

La función “prefers-color-scheme” también es compatible con Windows. La última versión de Chrome Beta y la última versión de Firefox admiten esta consulta de medios.

5 Me gusta

Este componente parece causar un problema con la versión 2.4.0.beta11+39. En mi comunidad de solo usuarios registrados, la pantalla de inicio de sesión en https://mydomain/login aparece en blanco. Funciona con normalidad cuando este componente está desactivado.

No puedo reproducir esto localmente con la última versión de Discourse y la última versión del componente. Cuando la pantalla de inicio de sesión está en blanco, ¿hay algún error en la consola del navegador?

Actualización: el problema con el que Thomas se encontró ahora está solucionado en el componente. ¡Gracias por el informe!

4 Me gusta

+1 por hacer esto parte del núcleo de Discourse

4 Me gusta