// Named semantic colours for the handful of places that set an inline style directly // (status dot, offline banner, error labels) rather than through the QSS skin. Lane GUI. // // docs/agents/AGENT-GUI.md build order step 8: "colours in one variables block... no // hard-coded hex scattered through widget code." QSS itself has no variable syntax, so // ThemeManager's stylesheets carry their own documented palette block for everything QSS // covers; these are the few colours C++ sets directly (a connection-state dot, an error // label) because they're driven by application state rather than a widget's style role, // and belong here instead of a fourth copy of the same hex string. #pragma once #include namespace velox::gui::theme { // Status-dot / banner colours. Deliberately the same in light and dark — a red "you're // disconnected" dot needs to stay legible and unambiguous regardless of theme, not // follow it. inline constexpr auto kDanger = "#c0392b"; // disconnected, errors inline constexpr auto kSuccess = "#27ae60"; // connected inline constexpr auto kWarning = "#e67e22"; // reconnecting inline constexpr auto kOfflineBannerBg = "#5a3a00"; inline constexpr auto kOfflineBannerText = "#ffd9a0"; /// The inline style every dialog's error label already used identically eleven times /// over, spelled out once. inline QString errorLabelStyle() { return QStringLiteral("color: %1;").arg(QLatin1String(kDanger)); } } // namespace velox::gui::theme