Como hacer un modo oscuro con Tailwind.css, Next.js y React en una sola página.

by Lara Alonso
¿Pero, para qué quiero yo incluir en mi web un tema oscuro?
Los temas oscuros permiten relajar la vista y a menudo muchos visitantes y programadores tienen toda su configuración en tema oscuro, resultando muy molesto visitar páginas que no respeten este esquema de colores por el alto contraste entre unas y otras páginas.

Lo primero, debes crear el Toogle para elegir el modo oscuro o claro

Recuerda que este proyecto está hecho en Next.js con React. Y ¿por qué me dices esto?
1- Un botón es un componente que puede utilizar un cliente. Si recuerdas en Next.js 13 todos los componentes están renderizados en el servidor. Y esto significa que, salvo que tu le indiques que es un " useclient ", es decir; un componente que va a utilizar el cliente, te devolverá un error ya que el botón pertenece a la parte cliente.

Por lo tanto creamos un componente nuevo en nuestra carpeta components que se llamará toogle.jsx y después lo importaremos en la páginas que nos gustaría utilizarlo.

2- Nuestro componente está creado en React por lo que hay que corregir el nombre de los elementos que nos proporciona Tailwind.css. En este enlace os dejo el código de tailwind.css para el toogle. Y ahora os muestro el optimizado para React. Los iconos son de heroicons.

Tienes todo el código en este enlace.
3- Solo faltaría añadirle los ternarios a los elementos que recesitan un cambio de color en la página. Por ejemplo


‹ div className=classNames(
!enabled
? "bg-black"
: "bg-fuchsia-900" )
} ›


Podrías añadir el modo oscuro a toda tu web, configurando un tema de Tailwind.css, te dejo un enlace para que puedas ver como hacerlo.

Listo ¡¡¡¡¡ Si has llegado hasta aquí y quieres saber como añadir filtros a tu Blog creado en Next.js o React puedes leer mi post
Lara Alonso

Lara Alonso @aiadevop

Soy desarrolladora de software en España. Especializada en frontend, creo experiencias web y aplicaciones. Explora mi portfolio y descubre mis proyectos.

¡Tu visión mi código!
Gracias a todos los que han colaborado en este blog