Skip to content

Koala new design custom colors update#3559

Merged
benderl merged 44 commits into
openWB:feature-custom-colorsfrom
Brett-S-OWB:koala-new-design-custom-colors
Jun 25, 2026
Merged

Koala new design custom colors update#3559
benderl merged 44 commits into
openWB:feature-custom-colorsfrom
Brett-S-OWB:koala-new-design-custom-colors

Conversation

@Brett-S-OWB

Copy link
Copy Markdown
Contributor

Farben gemäß dem neuen Design aktualisiert
Benutzerdefinierte Farben für EVU, PV und Speicher entfernt
Textfarbe im Energieflussdiagramm an die jeweilige Symbolfarbe angepasst
Clip-Path für die Textanimation angepasst, sodass der Text bei der Animation von Ladepunkt und Fahrzeug korrekt ausgeblendet wird
Spaltenabstände im Energieflussdiagramm für größere Bildschirme vergrößert
Schriftart im Energieflussdiagramm aktualisiert

Bildschirmfoto vom 2026-06-17 18-31-15

benderl and others added 30 commits May 19, 2026 11:57
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
catch corrupt log files on update

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Koala - Add custom colors - charge points

* Koala - Add custom colors - battery

* Daily totals - multiple batteries dropdown - icons: user defined colors

* Add user defined colors to history chart

* Add user defined colors to energy flow chart

* Add user defined colors to vehicle cards

* Add user defined colors to tables (vehicle & charge points)

* Use vite-svg-loader for svg icons

* Make CSS consistent of all components

---------

Co-authored-by: Lutz Bender <github@lutz-bender.de>
Co-authored-by: LKuemmel <lena.kuemmel@openwb.de>
Co-authored-by: benderl <benderl@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store
* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* setting build custom colors
* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* setting build custom colors

* New design Koala build

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aktualisiert das Koala-Theme gemäß neuem Design: zentrale Farbanpassungen über Quasar-Variablen, Entfernen von benutzerdefinierten Farben für bestimmte Komponenten (EVU/PV/Speicher) sowie UI-Anpassungen im Energieflussdiagramm (Textfarben, Clip-Path, Spaltenabstände, Schriftart).

Changes:

  • Entfernt Battery-/PV-Farb-APIs aus dem MQTT-Store und passt abhängige Charts auf Theme-Variablen um.
  • Aktualisiert Quasar Theme-Variablen (inkl. neuer --q-vehicle-fill) und reduziert Tint-Intensität.
  • Überarbeitet Energieflussdiagramm (responsive Breite/Spaltenabstände, Clip-Path für Textanimation, Roboto, dynamische Textfarbe passend zum Symbol).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/modules/web_themes/koala/source/src/stores/mqtt-store.ts Entfernt PV-/Battery-Farb-Exports (Aggregate/Custom) aus Store-API.
packages/modules/web_themes/koala/source/src/css/quasar.variables.scss Neue Design-Farben, ergänzt --q-vehicle-fill, Anpassung Tint-Amount.
packages/modules/web_themes/koala/source/src/components/charts/historyChart/HistoryChart.vue Nutzt Theme-Farben statt Store-Aggregate-Farben für Grid/PV/Battery.
packages/modules/web_themes/koala/source/src/components/charts/energyFlowChart/EnergyFlowChart.vue Responsive Chartbreite, neuer Clip-Path, Textfarbe an Symbolfarbe, Roboto, Iconfarben angepasst.
packages/modules/web_themes/koala/source/src/components/charts/energyFlowChart/energy-flow-chart-models.ts ComponentClass: ersetzt valueLabel durch optionales valueLabelColor.
packages/modules/web_themes/koala/source/src/components/charts/dailyTotals/DailyTotalsRow.vue Entfernt feste Icon-Farbe aus CSS (Farbe kommt per Inline-Style).
packages/modules/web_themes/koala/source/src/components/charts/dailyTotals/DailyTotals.vue Setzt mehrere Komponentenfarben auf Theme-Variablen, entfernt Grid-ID-Farbableitung.
packages/modules/web_themes/koala/source/src/components/BatteryCard.vue Entfernt Styling für benutzerdefinierte Battery-Farbe (Border-left).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 4176 to 4182
batteryDailyImportedTotal,
batteryDailyExportedTotal,
batteryTotalPower,
batteryChargePriorityRange,
batteryMode,
batteryAggregateColor,
batteryColor,
// Grid data
gridId,

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build-Dateien waren hier nur erzeugt um das experimental Branch anzushauen, sie werden neu erzeugt beim merge in Master branch

Comment on lines 57 to 80
:header-class="
item.id === 'chargepoint' && individualChargePointData.length > 1
? 'cursor-pointer'
: item.id === 'battery' && individualBatteryData.length > 1
? 'cursor-pointer'
: 'no-pointer'
: item.id === 'pv' && individualPvData.length > 1
? 'cursor-pointer'
: 'no-pointer'
"
>
<template #header>
<DailyTotalsRow
:item="item"
:rowHeight="rowHeight"
:rowExpanded="expanded[item.id]"
:secondaryComponentsConfigured="
item.id === 'chargepoint'
? individualChargePointData.length > 1
: item.id === 'battery'
? individualBatteryData.length > 1
: false
: item.id === 'pv'
? individualPvData.length > 1
: false
"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die beiden (inzwischen etwas unübersichtlichen) Ausdrücke für header-class und secondaryComponentsConfigured sehen unterschiedlich aus, erreichen jedoch das selbe Ergebnis. Für Zähler gibt es die selbe Logik als Computed Property secondaryCountersConfigured. Für Ladepunkte gibt es chargePointConfigured. Höchste Zeit, ein zentrales Computed Property dafür einzuführen. ;-)

Vorschlag:

const secondaryComponentsConfigured = computed(() => {
  return (componentType: string): boolean => {
    switch (componentType) {
      case 'counter':
        return secondaryCounterData.value.length > 0;
      case 'chargepoint':
        return individualChargePointData.value.length > 1;
      case 'battery':
        return individualBatteryData.value.length > 1;
      case 'pv':
        return individualPvData.value.length > 1;
      default:
        return false;
    }
  };
});

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

central computed Funktion implementiert.

*/
const pvColor = computed(() => {
return (pvId: number): string | null => {
const DEFAULT_COLOR = '#28a745';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In der Datei sind insgesamt 6 Farben fest als String hinterlegt. Siehst Du eine Möglichkeit, das hier zu entfernen und auf die globalen Farbdefinitionen aus quasar.variables.scss zuzugreifen?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die sechs fest hinterlegten Farben sind die Bootstrap-Standardfarben, die das Backend in die Konfiguration schreibt (aus der Settings UI). Sie unterscheiden sich daher bewusst von den Koala-Farben. In resolveComponentColor dienen sie lediglich als Sentinel-Werte: Wenn die gespeicherte Farbe dem Standardwert entspricht, geben wir null zurück, sodass die Komponente auf die Theme-Variable var(--q-*) zurückfällt.

Aus diesem Grund können die Werte nicht direkt aus quasar.variables.scss übernommen werden – es handelt sich schlicht um andere Farben.

Ein möglicher Ansatz wäre, die Farben im Settings-Projekt auf die Koala-Farben umzustellen, sodass Standard- und Theme-Farben übereinstimmen. Das Problem dabei ist, dass das Backend nur einen statischen Wert speichert, während der Ladepunkt inzwischen unterschiedliche Farben für das Light- und Dark-Theme verwendet (#153357 bzw. #3874db), nachdem ich die Ladepunkt-Farbe für das Dark-Theme angepasst habe. Ein statischer Backend-Wert kann beide Varianten nicht abbilden, sodass der Fallback über var(--q-*) weiterhin erforderlich wäre.

Mein Vorschlag wäre daher, die sechs Werte in einer zentralen Konstante (z. B. einer SETTINGS_UI_COLORS_-Map) zusammenzufassen. Dadurch würden die verstreuten String-Literale verschwinden und es gäbe eine einzige Quelle der Wahrheit, ohne die Erkennungslogik oder das Backend ändern zu müssen.

@benderl benderl added this to the 2.3.0 milestone Jun 23, 2026
@benderl benderl self-assigned this Jun 23, 2026
@benderl benderl added the enhancement New feature or request label Jun 23, 2026
@benderl benderl force-pushed the feature-custom-colors branch from 406e24e to 71561a9 Compare June 25, 2026 12:22
@benderl benderl merged commit 437a744 into openWB:feature-custom-colors Jun 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants