diff --git a/AGENTS.md b/AGENTS.md index 287f7a4..870b02f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -510,10 +510,24 @@ wraps the web app for iPhone; a PWA home-screen install is the accepted intermed purely additive overlay loaded after `audi-dashboard.css` in `_aufbauen()` (`audi-dashboard-app.js` ~line 3990) — the Audi-CI base values are still fully intact in the unmodified base stylesheet, untouched by this decision. Reverting is just: stop loading the - overlay ``. Two findings from the same review are still open and unaffected by this - decision (they're implementation bugs, not direction questions): §B red-semantics inversion - (`.aktion` fills every primary action red, not just destructive ones) and the `.setup-popup`/ - `.standortmenu` hardcoded `border-radius: 20px` vs. the new 16px token. + overlay ``. +- [x] Fix the two implementation bugs from the same review, independent of the direction decision + above — done 2026-08-13. **§B, red-semantics inversion:** `audi-dashboard-ios.css` `.aktion` + no longer fills every action red; base `.aktion` is now a neutral `--ios-fill` secondary + button, a new `.aktion.primaer` rule is the only one filled with `--ios-tint` (red), matching + the `.aktion`/`.primaer`/`.loeschen` semantics the base stylesheet already defined (outline + secondary / filled primary / destructive). Also fixed as part of the same finding: switch + on-state now uses `--ok` (iOS system green) instead of red; the desktop-sidebar active-tab + background (`.tab.on`) is now the neutral `--ios-fill` instead of a red tint, red stays only + as the accent text/icon color; two chart-bar segments in `audi-dashboard-app.js` that used + `--red` for a neutral data category ("Arbeitsweg" trips, first segment of the insurance + contribution bar) now use `--fg` like their sibling segments. **Radius inconsistency:** + `.setup-popup` and `.standortmenu` in `audi-dashboard.css` now reference `var(--r-tile)` + instead of a hardcoded `20px` literal, so both track whichever design (iOS 16px or, if + reverted, Audi-CI 20px) is actually active. Verified live in `audi_ha_test`: Setup-popup + Abbrechen/Speichern and the "Einrichten"/"Setup"/"Fertig" buttons in Einstellungen render with + the corrected fills at both mobile and desktop widths, switches render green, no console + errors. - [ ] Fix remaining documentation drift (statistics claim, README gaps, obsolete TODO comment) — text-only changes; INSTALL.md's WLAN/TommiG1 drift and stale variable names were fixed 2026-08-12 (see section B); `DESIGN_REVIEW_2026-08-13.md` and `REVIEW_main_2026-08-13.md` diff --git a/homeassistant/www/audi-dashboard-app.js b/homeassistant/www/audi-dashboard-app.js index f62bd32..42056dc 100644 --- a/homeassistant/www/audi-dashboard-app.js +++ b/homeassistant/www/audi-dashboard-app.js @@ -1623,7 +1623,7 @@ function vVers() {
${eur(t.betrag)} €${v.beitrag ? de(t.betrag / v.beitrag * 100, 0) : 0} %
`).join("")}
- ${v.teile.map((t, i) => ``).join("")} + ${v.teile.map((t, i) => ``).join("")}
Vertrag @@ -2418,8 +2418,8 @@ function vStat() { Nacht · ${de(nachtKm)} km
Nacht = ${CONFIG.nachtVon} bis ${CONFIG.nachtBis} Uhr`)} ${statTile("s5", "Art der Fahrten", kmJahr > 0 ? de(Math.round((arbeitKm / kmJahr) * 100)) : "–", "% Arbeitsweg", de(arbeitKm) + " km", - `
-
Arbeitsweg · ${de(arbeitKm)} km + `
+
Arbeitsweg · ${de(arbeitKm)} km Privat · ${de(privatKm)} km
Fahrten Arbeitsweg
${de(arbeitFahrten.length)}
diff --git a/homeassistant/www/audi-dashboard-ios.css b/homeassistant/www/audi-dashboard-ios.css index ebf5c12..889e708 100644 --- a/homeassistant/www/audi-dashboard-ios.css +++ b/homeassistant/www/audi-dashboard-ios.css @@ -115,10 +115,15 @@ main#view{--seitenrand:16px;padding:0 var(--seitenrand) 30px;scroll-behavior:smo letter-spacing:0;text-transform:none;color:var(--fg2)} .seg button.on{background:var(--tile-2);color:var(--fg);box-shadow:0 1px 3px rgba(0,0,0,.25)} +/* Rot bleibt Akzent/Primäraktion/destruktiv, nicht Flächenfarbe jeder Aktion + (Design-Review 2026-08-13 §B): .aktion allein ist die neutrale + Sekundäraktion, .primaer die einzige rot gefüllte Fläche. */ .aktion{margin-top:18px;padding:15px;border:0;border-radius:14px; - background:var(--ios-tint);color:#fff;font-size:16px;font-weight:400; + background:var(--ios-fill);color:var(--fg);font-size:16px;font-weight:400; letter-spacing:0;text-transform:none} -.aktion:hover{filter:brightness(1.08)} +.aktion:hover{background:var(--tile-2)} +.aktion.primaer{background:var(--ios-tint);color:#fff} +.aktion.primaer:hover{filter:brightness(1.08)} .aktion.loeschen{background:var(--ios-fill);color:var(--bad);border:0} .aktion.loeschen:hover{background:var(--bad);color:#fff;filter:none} @@ -133,7 +138,10 @@ main#view{--seitenrand:16px;padding:0 var(--seitenrand) 30px;scroll-behavior:smo .switch{width:51px;height:31px} .switch .track{background:var(--ios-fill);border:0} .switch .track::before{left:2px;top:2px;width:27px;height:27px;box-shadow:0 2px 6px rgba(0,0,0,.3)} -.switch input:checked+.track{background:var(--ios-tint)} +/* Grün statt Rot: Schalter-Ein-Zustand ist kein destruktiver/Primär-Akzent, + sondern ein neutrales "an" - deckt sich mit dem echten iOS-Systemgrün, das + --ok hier ohnehin schon trägt (Design-Review §B). */ +.switch input:checked+.track{background:var(--ok)} .switch input:checked+.track::before{transform:translateX(20px)} .pill{font-size:12px;letter-spacing:.01em;text-transform:none;padding:5px 11px; @@ -218,7 +226,9 @@ main#view{--seitenrand:16px;padding:0 var(--seitenrand) 30px;scroll-behavior:smo .tabpille{width:auto;height:auto;border-radius:0;background:none} .tab.on .tabpille{background:none} .tab:hover{background:var(--tile)} - .tab.on{background:rgba(245,5,55,.14);color:var(--ios-tint)} + /* Aktive Navigation: Rot bleibt Text-/Icon-Akzent, die Fläche wird neutral + statt rosa hinterlegt (Design-Review §B - Rot nicht als Flächenfarbe). */ + .tab.on{background:var(--ios-fill);color:var(--ios-tint)} .tabbar.ohne .tab span{display:block} .tabbar.ohne .tab{padding:12px 14px;gap:14px} .tabbar.ohne .tab svg{width:22px;height:22px} diff --git a/homeassistant/www/audi-dashboard-version.json b/homeassistant/www/audi-dashboard-version.json index faa6ad9..f3e30eb 100644 --- a/homeassistant/www/audi-dashboard-version.json +++ b/homeassistant/www/audi-dashboard-version.json @@ -1 +1 @@ -{"version": 1786726800} +{"version": 1786730400} diff --git a/homeassistant/www/audi-dashboard.css b/homeassistant/www/audi-dashboard.css index 7559434..69b052d 100644 --- a/homeassistant/www/audi-dashboard.css +++ b/homeassistant/www/audi-dashboard.css @@ -741,7 +741,7 @@ button.tile, .tilebtn { transition: background .15s, transform .1s; } --standort-peek: 96px; /* Deckend, nicht durchscheinend - unter dem Blatt liegt die Karte. */ background: var(--tile-deckend, var(--canvas)); - border-radius: 20px 20px 0 0; + border-radius: var(--r-tile) var(--r-tile) 0 0; box-shadow: 0 -6px 24px rgba(0,0,0,.35); padding: 0 20px max(18px, env(safe-area-inset-bottom)); transform: translateY(calc(100% - var(--standort-peek))); @@ -892,7 +892,7 @@ button.tile, .tilebtn { transition: background .15s, transform .1s; } einen blickdichten Hintergrund, gleiches Muster wie .standortmenu oben. */ background: var(--tile-deckend, var(--canvas)); - border-radius: 20px; + border-radius: var(--r-tile); display: flex; flex-direction: column; overflow: hidden; animation: sheet-rein .24s cubic-bezier(.22,.61,.36,1);