Farben einstellbar — und erst mal überhaupt eine Farbe
Das Grün, das überall auftauchte, war die System-Akzentfarbe: `.tint` und `.accentColor` werden ohne eigene Angabe dorthin durchgereicht, und das betraf alle Popovers und das ganze Einstellungsfenster. Die Notch-Widgets dagegen benutzten Onyx' eigenes Blau. Zwei Farben, ungewollt. Jetzt eine, und die ist einstellbar. Ein neuer Reiter „Farben": Akzentfarbe mit sechs Vorschlägen und einem Knopf, der die Systemfarbe übernimmt, dazu das Paar für Herunter- und Hochladen samt Tauschknopf. Die Signalfarben bleiben fest und stehen nur zur Ansicht dort. Gelb heißt Warnung, Rot heißt kritisch, Grün heißt in Ordnung — bei Temperatur, Akku, Lüfter und Fehlern. Wer sie umstellen kann, kann ihre Bedeutung zerstören; ein rotes „alles gut" liest niemand richtig. Sichtbar sind sie trotzdem, sonst sucht man die Warnfarbe im Reiter und findet sie nirgends. Umgesetzt über die Tokens statt über vierzig Fundstellen: `Onyx.Color.accent` ist keine Konstante mehr, sondern liest bei jedem Zugriff aus `OnyxTheme`. Damit merkt SwiftUI die Abhängigkeit und zeichnet neu, sobald die Farbe sich ändert. Dazu ein `.tint` an den vier Wurzeln — Panel, Popovers, Einstellungen, Einrichtung —, damit auch Haken, Regler und Auswahlfelder mitziehen. Nebenbei die Beschriftung: „Je Programm" heißt jetzt „Programme". Großgesetzt las sich das als englisches „J-E". Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,8 +21,22 @@ public enum Onyx {
|
||||
public static let textSecondary = SwiftUI.Color.white.opacity(0.58)
|
||||
public static let textTertiary = SwiftUI.Color.white.opacity(0.34)
|
||||
|
||||
/// Kühl und entsättigt. Farbe ist in Onyx ein Signal, keine Dekoration.
|
||||
public static let accent = SwiftUI.Color(red: 0.498, green: 0.659, blue: 1.0)
|
||||
/// Die Farbe, mit der Onyx sich selbst zeichnet — einstellbar.
|
||||
///
|
||||
/// Gelesen statt gespeichert: die Tokens holen den Wert bei jedem
|
||||
/// Zugriff aus `OnyxTheme`. Damit merkt SwiftUI die Abhängigkeit und
|
||||
/// zeichnet neu, sobald sich die Farbe ändert — bei einer Konstanten
|
||||
/// wären alle vierzig Fundstellen einzeln umzustellen gewesen.
|
||||
@MainActor public static var accent: SwiftUI.Color { OnyxTheme.shared.accent }
|
||||
|
||||
/// Herunter- und Hochladen. Auch einstellbar: welche Richtung grün ist
|
||||
/// und welche rosa, ist Gewohnheit, keine Bedeutung.
|
||||
@MainActor public static var download: SwiftUI.Color { OnyxTheme.shared.download }
|
||||
@MainActor public static var upload: SwiftUI.Color { OnyxTheme.shared.upload }
|
||||
|
||||
/// Die Signalfarben bleiben fest. Gelb heißt Warnung, Rot heißt
|
||||
/// kritisch, Grün heißt in Ordnung — wer das umstellen kann, kann die
|
||||
/// Bedeutung zerstören.
|
||||
public static let positive = SwiftUI.Color(red: 0.435, green: 0.812, blue: 0.592)
|
||||
public static let warning = SwiftUI.Color(red: 0.910, green: 0.706, blue: 0.290)
|
||||
public static let critical = SwiftUI.Color(red: 0.898, green: 0.404, blue: 0.361)
|
||||
|
||||
Reference in New Issue
Block a user