Fix wheel-photo squareness bug, native select popups, image-cycle crash
.bildbox.radbild lost to a same-specificity, later-declared .bildbox rule, so the wheel photo stayed a full-width 4:3 box despite the earlier crop fix - only which slice showed ever changed. Fixed with a compound selector and moved "Montiert" to top-left to match the now-correctly-sized photo. Native <select> popups had no color-scheme hint and rendered in the browser's default light palette regardless of the app's dark theme - this is what made "Modell" and other dropdowns flash bright white. bildWeiter() (Mein Audi image-cycle tap) referenced a CSS class that was never emitted (.platzhalter-datei vs. the real .platzhalter-aktion), throwing and aborting before the page-dot indicator update - the photo advanced but the dots never moved. Merged the separate "Fahrzeugbilder" upload grid into "Bild der Übersicht": pick a view from the existing dropdown, tap its preview to upload/replace/delete - same generic popup plumbing, no new mechanism. Removed the now-dead BILDER_UPLOAD_SLOTS/.bildgrid/.bildslot/.carfix.mini. Back arrow changed from red to the neutral headline color, matching every other navigation-color decision in this project. Investigated but could not reproduce: user-reported "whole tab bar disappears" when hiding labels. Traced the exact commit that added the icon+label highlight and confirmed it's correctly scoped to :not(.ohne); live DOM/computed-style testing across toggle, navigation, and both mobile/desktop widths showed the tab bar staying visible throughout. Left unchanged pending a repro from the user. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -17,7 +17,13 @@ generic-receipt-parser gaps; a sixth round the same day fixed the map pins' real
|
||||
(the CI `poi-car`/`poi` icons are thin outline-only paths, only 13-40% filled — solved with a solid
|
||||
silhouette layer extracted from each icon's own outer contour, not a redraw), applied a batch of
|
||||
~20 user-reported UI polish items against Apple's Human Interface Guidelines, some via a guided
|
||||
Q&A, and lowered the battery-voltage statistic's cutoff from 13.2V to 12.8V). This file is the entry point for every new agent
|
||||
Q&A, and lowered the battery-voltage statistic's cutoff from 13.2V to 12.8V; a seventh round the
|
||||
same day fixed a real CSS specificity bug that kept the wheel photo a wide 4:3 box instead of the
|
||||
intended 96x96 square, moved the "Montiert" pill to match, added `color-scheme` so native `<select>`
|
||||
popups stop rendering in the browser's default light palette against the dark app, root-caused and
|
||||
fixed a JS crash in the "Mein Audi" image-cycle click handler, merged the separate "Fahrzeugbilder"
|
||||
upload grid into "Bild der Übersicht" (pick a view, tap its photo to upload), and turned the back
|
||||
arrow from red to the neutral headline color — see section C). This file is the entry point for every new agent
|
||||
session: what this repo is, what is finished, what is missing, and how to work here. Detail lives in
|
||||
the linked documents — this file points, it does not duplicate.
|
||||
|
||||
@@ -926,6 +932,63 @@ wraps the web app for iPhone; a PWA home-screen install is the accepted intermed
|
||||
Deployed to `audi_ha_test` (version `1786901000`); pin fix visually confirmed live (solid
|
||||
teardrop pin with white car glyph, clearly over the map's "Obergurgl" label text) and the
|
||||
tab-bar highlight confirmed covering both icon and "Übersicht" label.
|
||||
- [x] Seventh round the same day (2026-08-16) — more user-reported layout/interaction bugs:
|
||||
(1) **Wheel photo (Sommerrad/Winterrad) was never actually a square, despite the fifth round's
|
||||
crop-direction fix.** Root cause: `bildMitPlatzhalter()` puts the `radbild` class on *both* the
|
||||
wrapping `.bildbox` div and the `<img>`; the old `.radbild{width:96px;height:96px;...}` rule and
|
||||
`.bildbox{width:100%;aspect-ratio:4/3;...}` have equal specificity (one class each), and
|
||||
`.bildbox` is declared later in the file, so it silently won — the box stayed a full-width 4:3
|
||||
rectangle the whole time, `object-position:right center` just changed which slice of that wide
|
||||
box showed. Fixed with a `.bildbox.radbild{width:96px;height:96px;aspect-ratio:1/1}` compound
|
||||
selector (two classes, unambiguously higher specificity than plain `.bildbox`); `.radbild` alone
|
||||
now only carries `object-position`. Verified live: `.bildbox.radbild` now measures exactly
|
||||
96×96px.
|
||||
(2) **"Montiert" moved from top-right to top-left**, per explicit request — this was the visible
|
||||
symptom of (1): the pill was anchored top-right assuming it overlaid the (accidentally) full-
|
||||
width photo; once the photo is a real 96px square on the left, top-left is where it actually
|
||||
needs to sit to stay over the picture.
|
||||
(3) **Native `<select>` popups now get a `color-scheme` hint.** The closed `<select>` box itself
|
||||
was already themed correctly, but the *opened* native option list ignores app CSS and falls back
|
||||
to the browser/OS default palette unless `color-scheme` says otherwise — this is what made
|
||||
"Modell" and every other dropdown "flash" bright white against the dark app on open. Added
|
||||
`color-scheme: dark` under `:host([data-theme="nacht"])` and `color-scheme: light` under
|
||||
`:host([data-theme="tag"])` in `audi-dashboard-ios.css`.
|
||||
(4) **Fixed a real JS crash in the "Mein Audi" image-cycle click handler.** `bildWeiter()` (fires
|
||||
on tapping the hero photo) tried `box.querySelector(".platzhalter-datei").textContent = ...` —
|
||||
that class was never emitted by `bildMitPlatzhalter()` (the actual class is `.platzhalter-
|
||||
aktion`, and in gallery mode it deliberately shows a static "Foto hinzufügen" prompt, not a
|
||||
filename). `querySelector` returned `null`, the assignment threw, and the exception aborted the
|
||||
function *before* reaching the line that updates the `.dots` page indicator — so the photo
|
||||
itself advanced (that line ran first) but the dots never moved, reading as "doesn't work."
|
||||
Removed the dead line entirely; verified live that the `.dots` `on` class now correctly moves
|
||||
with each click and no exception is thrown.
|
||||
(5) **Merged the separate "Fahrzeugbilder" upload grid into "Bild der Übersicht"**, per explicit
|
||||
request: pick a view from the existing "Ansicht" dropdown, then tap the (now also click-to-
|
||||
upload) preview below it to upload/replace/delete that specific photo — reusing the same
|
||||
generic `data-bildklick`/`bildMenuOffen` popup plumbing already used by the wheel-photo tiles,
|
||||
not a new mechanism. `bildInfo()`'s existing winter-side-view special case (swaps in
|
||||
`seitenansicht-winter.webp` while winter tires are marked mounted) means the winter variant
|
||||
stays uploadable through the same control, gated by current tire season instead of a permanently
|
||||
visible separate slot. The now-unused `BILDER_UPLOAD_SLOTS` constant and the `.bildgrid`/
|
||||
`.bildslot`/`.bildslot-label`/`.carfix.mini` CSS were removed as dead code; a new
|
||||
`.bildmenu.ansicht` positions the ersetzen/löschen popup anchored to the tile's *bottom* edge
|
||||
(not a fixed top offset like the other two menu variants) since this preview's height varies
|
||||
with the tile's own content instead of being a fixed small thumbnail.
|
||||
(6) **Back arrow changed from red (`--ios-tint`) to the neutral headline color (`--fg`)** in
|
||||
`audi-dashboard-ios.css`, matching every other navigation-color decision made this project (red
|
||||
stays reserved for destructive actions per Apple's HIG).
|
||||
Investigated but could not reproduce: user reported that hiding tab labels ("Beschriftung in der
|
||||
Menüleiste" off) makes the *entire* tab bar disappear. Traced the full CSS cascade and the exact
|
||||
commit that added the sixth round's icon+label highlight (`git show` on the relevant lines) —
|
||||
the new rules are correctly scoped to `:not(.ohne)` and provably never touched the icon-only
|
||||
path; live DOM/computed-style testing (toggle the switch, click the actual label, navigate away
|
||||
and back, both mobile and desktop container widths) showed the tab bar staying visible, correctly
|
||||
sized, and correctly classed in every case tried in the in-app Chromium browser. Left unchanged
|
||||
pending a repro (screenshot or the exact device/browser) from the user, since no defect could be
|
||||
located to fix.
|
||||
Deployed to `audi_ha_test`; wheel-photo squareness, Montiert position, back-arrow color, and the
|
||||
image-cycle dots all confirmed live via direct DOM/computed-style checks (no visual screenshot
|
||||
tool available this session — see running note below).
|
||||
- [ ] 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`
|
||||
|
||||
Reference in New Issue
Block a user