Wie man den automatischen Dunkelmodus so einstellt, dass er dem ausgewählten Dunkelthema entspricht

Wir haben ein dunkles Thema, das so aussieht:

Wenn wir das Thema im Benutzerprofil auswählen, sieht es wie oben aus, wie erwartet.

Wenn es jedoch automatisch über die Profiloption „Automatisches Dunkelmodus-Farbschema aktivieren“ aktiviert wird, sieht es so aus:

Dadurch wird der Großteil der Benutzeroberfläche dunkel, aber es wird die CSS des hellen Themas verwendet, was bedeutet, dass der Header wie folgt aussieht.

Gibt es eine Möglichkeit, Discourse streng dazu zu bringen, das dunkle Thema auszuwählen, einschließlich CSS usw., wenn es automatisch ausgewählt wird?


Zur Information, dies sind unsere Optionen für das helle Thema:

Und Optionen für das dunkle Thema:

3 „Gefällt mir“

Es sieht so aus, als ob Sie zwei verschiedene Farbpaletten verwenden: Joplin Standard und Einfach Dunkel. Sind diese unterschiedlich?

3 „Gefällt mir“

Ja, das Standardthema mit dem Joplin-Standardfarbthema ist das helle Thema, und das andere ist das dunkle Thema. Ich schätze, es ist normal, dass sie zwei verschiedene Farbthemen haben?

2 „Gefällt mir“

Vielen Dank für Ihre Entschuldigung! Dies ist ein verwirrender Bereich in unserer Admin-Oberfläche, und wir arbeiten derzeit daran, ihn zu verbessern. Ich hoffe, ich verstehe das richtig, aber lassen Sie mich die aktuelle Funktionalität auf meine Weise erklären.

Eine Änderung ist, dass wir nur noch von „Farbpalette“ sprechen und nicht mehr von „Farbschema“. Das wird sich bald in der Benutzeroberfläche ändern. Derzeit sind Palette und Schema dasselbe.

Um die Unterstützung für den Dunkelmodus in Discourse zu nutzen, hatte ich die besten Erfahrungen mit Folgendem:

  • Nur ein Thema ist aktiviert
  • Geben Sie die Farbpalette für den hellen Modus in den Einstellungen für das aktivierte Thema an
  • Geben Sie die Farbpalette für den Dunkelmodus in der Website-Einstellung default dark mode color scheme id an.
  • Die Dunkelmodus-Einstellung des Betriebssystems Ihrer Mitglieder wird berücksichtigt
  • Die Dunkelmodus-Umschaltkomponente funktioniert, um den hellen/dunklen Modus umzuschalten
  • Ihre Mitglieder können die Optionen für den hellen und dunklen Modus in ihren Benutzereinstellungen sehen (und den Themenselektor nicht, da nur ein Thema vorhanden ist)

Wenn Sie Ihr dunkles Thema über die verwendete Farbpalette hinaus angepasst haben und nicht möchten, dass Personen das helle Thema mit dunklen Farben verwenden, können Sie den Dunkelmodus-Selektor nicht verwenden. Sie würden:

  • Zwei Themen sind aktiviert
  • Das helle Thema hat helle Farben
  • Das dunkle Thema hat dunkle Farben
  • Die Einstellung default dark mode color scheme id ist nicht angegeben
  • Die Dunkelmodus-Einstellung des Betriebssystems Ihrer Mitglieder wird NICHT berücksichtigt
  • Die Dunkelmodus-Umschaltkomponente funktioniert nicht
  • In Ihren Benutzereinstellungen können Ihre Mitglieder ihr bevorzugtes Thema auswählen

Und schließlich, wenn Sie nur ein helles oder dunkles Thema wünschen, aktivieren Sie einfach ein Thema und eine Palette und geben Sie keine Palette in der Website-Einstellung default dark mode color scheme id an.

4 „Gefällt mir“

Vielen Dank für Ihre Antwort. Wir haben tatsächlich drei verschiedene Themes, und zwei davon sind mit CSS angepasst (um den Header für Halloween, Weihnachten zu ändern). Wenn ich das richtig verstehe, ist es mit diesem Setup nicht möglich, dass das automatische Dark Theme richtig funktioniert, ist das korrekt?

Es ist nicht ideal, aber ich denke, ich könnte damit leben. Vielleicht müssen wir unsere Header ändern, damit der Light-Mode-Header auch im Dark-Mode funktioniert.

2 „Gefällt mir“

Nein, wenn Sie keine hellen und dunklen Farbpaletten anbieten. Ja, wenn Sie es tun.

2 „Gefällt mir“

Ich habe mehrere Farbpaletten, die wichtigsten sind „Joplin Default“ (verwendet im Standard-Hell-Theme) und „Simple Dark“ (verwendet im Standard-Dunkel-Theme).

Muss ich hier etwas konfigurieren, um das Problem zu beheben, das ich im obigen Beitrag erwähnt habe?

Teilen Sie mit, welche Standardfarbschemata für Hell und Dunkel in den Einstellungen eines Forums verfügbar sind. Stellen Sie die Standardeinstellung Hell in den Theme-Einstellungen ein. Beginnen Sie mit der Verwendung des Schalters. Das ist alles.
Die Schwierigkeiten beginnen, wenn ein Benutzer die Farbschemata in den persönlichen Einstellungen ändert. Das ist… ein schreckliches System, zu viel, aber es ist schwer zu verstehen. Und meiner Meinung nach gibt es zu viele Fallbacks, da die Farbeinstellungen hier, dort und überall sind. Schemata sollten nur in Themes eingestellt werden. Sicher, das schränkt die Optionen des Benutzers bei der Farbauswahl ein, aber…

2 „Gefällt mir“

Wie hast du die Kopfzeile angepasst? Das Problem ist, dass deine Kopfzeilenanpassung vom ausgewählten Thema abhängt, aber der Dunkel-/Hell-Schalter ändert nur die Farbpalette. Das Ergebnis ist dasselbe, wenn du die dunkle Palette in Kombination mit dem hellen Thema in deinen Einstellungen auswählst.

Das Versatile Banner verwendet unterschiedliche Hintergrundbilder und Farben, je nachdem, ob eine helle oder dunkle Farbpalette aktiv ist. Du könntest etwas Ähnliches für deine Kopfzeile tun.

Ja, die Kopfzeile wird tatsächlich über das benutzerdefinierte CSS jedes Themas gesetzt. Gibt es eine Möglichkeit zu erkennen, dass die aktuelle Farbpalette dunkel oder hell ist?

Ich habe Folgendes versucht:

@media (prefers-color-scheme: dark) {
  .d-header {
    background-image: url(https://imgur.com/LdcvIcp.png); /* Dunkles Hintergrundbild */
  }
}

Aber das funktionierte nicht, während die dunkle Farbpalette aktiv war, und um sicherzugehen, habe ich dasselbe mit @media (prefers-color-scheme: light) versucht und es funktioniert. Es scheint also, dass die dunkle Farbpalette sich irgendwie als helle Farbpalette identifiziert? Gibt es eine andere Möglichkeit zu wissen, dass die aktuelle Farbpalette die dunkle ist?

Ich habe mir das HTML angesehen und nach “dark” gesucht, aber nichts Nützliches gefunden. Ich hatte gehofft, es gäbe einen Top-Selektor wie .is-dark-theme, der mir das sagen würde.

1 „Gefällt mir“

Funktioniert die Art und Weise, wie das vielseitige Banner den Hintergrund ändert? Sie könnten die Komponente installieren, ein Hintergrundbild für den Dunkelmodus hinzufügen und es über die Vorschau ausprobieren.

Dann könnten Sie dark-light-choose verwenden, das beispielsweise unter Update themes and plugins to support automatic dark mode - #5 by pmusaraj erklärt wurde und auch für das Banner verwendet wird.

2 „Gefällt mir“