Fix broken map rendering, split GPS cleanup, receipt parser and design backlog
Leaflet's stylesheet was appended to document.head, so it never reached the
panel's shadow root: .leaflet-tile{position:absolute} never applied, tiles laid
out as in-flow images (~1040px inside a 190px box) and the marker pane ended up
far below the visible area. That is the real cause of the long-standing
"fragmented Leaflet rendering" finding and of the invisible vehicle pin - every
tile request had actually succeeded. The stylesheet now goes into the shadow
root and is awaited before the map is built.
Also in this round:
- Map tiles are always light (Google-Maps-style), no dark variant at night.
- Vehicle marker uses the real CI poi-car icons (poi-car-l >=34px, poi-car-s
below), with a white halo so the outline stays readable on tiles.
- Removed the obsolete combined STANDORT_TRACKER field; only the split
lat/lon sensors remain.
- Receipt upload: widened the try block so base64/save failures surface, and
the frontend call site now reports a rejected service call.
- Generic receipt parser: total detection is line-based (letter-spaced
headings, no more matching the SUMME-EUR column header, tax lines excluded),
address heuristic handles 4-digit postcodes and single-line address blocks,
and "Preis/L" matches without a spelled-out "Liter".
- Design backlog: red hairline frame on list rows (delete button bled through
at fractional row heights) and select fields now use the grey background box.
Shell 10-receipt regression suite still passes; all changes verified live in
the audi_ha_test container.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -667,7 +667,15 @@ button.tile, .tilebtn { transition: background .15s, transform .1s; }
|
||||
|
||||
/* -------------------------------------------------------------- Wischen */
|
||||
.swipe-wrap { position: relative; overflow: hidden; }
|
||||
.swipe-delete { position: absolute; inset: 0 0 0 auto; width: 84px; display: flex; }
|
||||
/* Der rote Loeschknopf liegt dauerhaft hinter der Zeile. Zeilenhoehen sind
|
||||
gebrochen (z. B. 66,28 px), dadurch fiel die Kante von .swipe-content nicht
|
||||
aufs Geraetepixelraster und der rote Knopf blitzte als duenne Linie an den
|
||||
Zeilenraendern durch - sichtbar als roter Teilrahmen um jede Listenzeile.
|
||||
Er wird deshalb erst sichtbar, sobald wirklich gewischt wird ("wischt"
|
||||
waehrend der Geste, "swiped" fuer die offen stehende Zeile). */
|
||||
.swipe-delete { position: absolute; inset: 0 0 0 auto; width: 84px; display: flex; visibility: hidden; }
|
||||
.swipe-wrap.wischt .swipe-delete,
|
||||
.swipe-wrap.swiped .swipe-delete { visibility: visible; }
|
||||
.swipe-loeschen {
|
||||
width: 100%;
|
||||
background: var(--bad); color: #fff; border: none;
|
||||
@@ -702,12 +710,16 @@ button.tile, .tilebtn { transition: background .15s, transform .1s; }
|
||||
}
|
||||
|
||||
.fahrzeug-pin-wrap { background: none; border: none; }
|
||||
/* poi-car aus dem CI-Satz - rotes Symbol, weiss abgesetzt statt in einem
|
||||
Kasten, damit die Spitze exakt auf der Position steht. */
|
||||
/* poi-car aus dem CI-Satz ist eine reine Konturform in currentColor - auf
|
||||
Kartenkacheln waere sie ohne Trennung zum Untergrund kaum lesbar. Die
|
||||
gestapelten weissen drop-shadows ziehen deshalb einen Halo um die Kontur,
|
||||
der letzte Schatten gibt Tiefe. Feste Farbe statt Theme-Variable, damit die
|
||||
Nadel in Tag- und Nachtansicht gleich aussieht. */
|
||||
.fahrzeug-pin {
|
||||
color: var(--red);
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 2px 5px rgba(0,0,0,.45));
|
||||
color: #182634;
|
||||
filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)
|
||||
drop-shadow(0 0 2px #fff) drop-shadow(0 2px 4px rgba(0,0,0,.4));
|
||||
}
|
||||
.user-pin-wrap { background: none; border: none; }
|
||||
.user-pin {
|
||||
|
||||
Reference in New Issue
Block a user