Tengo un componente de tema que está cambiando el logo del sitio según la categoría en la que se encuentre el usuario y agregando logos a las categorías en la barra lateral, y ahora quieren cambiar a un logo diferente en el modo oscuro.
Soy terrible con CSS, pero parecería mucho más fácil si hubiera una clase “esto-es-modo-oscuro”. O tal vez algo como lo anterior pueda funcionar.
O tal vez si esto fuera un componente de tema “real” con configuraciones (ahora mismo está codificado a mano como lo anterior), entonces sería lo suficientemente fácil como para incluir esas configuraciones en el CSS. Esto parece lo que debería hacer de todos modos, ¿verdad?
Tiene sentido. Tuve el mismo problema una vez, pero @david, eso me habría funcionado.
Además, ¿las dificultades para otorgar insignias se considerarían un error o algo más?
Podría ser un error, pero necesitaríamos más detalles para saberlo con certeza; además, no está relacionado con este tema, por lo que lo mejor sería buscar el problema y, si no encuentras una respuesta, iniciar un nuevo tema explicando lo que intentas y dónde falla.
Una solución puramente CSS probablemente usaría la variable CSS --scheme-type, o incluso la propiedad color-scheme que se añadió hace unas horas (¡genial!), con @container style queries o light-dark().
Desafortunadamente, light-dark() solo funciona con valores de color. Podrías usar @container style queries dirigidas a la propiedad color-scheme (firefox aún no soporta style queries para propiedades personalizadas). No he podido probar la idea ya que mi entorno de desarrollo está caído actualmente.
Tener una clase dedicada .dark-mode o .light-mode en la raíz sería definitivamente lo más fácil de usar.