Station name as "brand, street, city", grey box on all editable fields

The "grey box around the icons" report turned out not to be a defect: the box
on "10.000 km"/"1 Jahr"/"15" is the wanted pattern, and every value the user
can change should carry it. All .feld inputs and selects now get the grey iOS
fill; inputs with their own visual language (checkbox/radio/range/file) keep
the transparent base rule, so the switches are unaffected.

Fuel stations are now displayed as "Shell, Pascalstr. 8, Ingolstadt" instead of
the bare operator name. New _marke()/_ist_strasse()/_tankstelle() helpers are
shared by both parser paths so Shell and non-Shell receipts format the same.
The brand is only matched against the receipt header - searching the whole text
would let "Total" hit a totals line. Missing parts are dropped instead of
leaving empty comma slots, and without a known brand the operator name takes
its place. station_address still carries the full street and postcode.
test_bekannte_stationen updated to the new format; suite stays green.

installationspaket/ is versioned from now on (user request). It contains no
real vehicle data - only the example profile with empty FIN/plate placeholders.
Keep it in sync whenever pyscript/ or www/ changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-16 12:52:31 +02:00
parent 39da68cd87
commit fb38c297bd
49 changed files with 11131 additions and 27 deletions
+6 -4
View File
@@ -8,7 +8,9 @@ data/tankvorgaenge.jsonl
data/entitaeten.json
data/tests/belege/*.pdf
# Generiertes Installations-Bundle (nur eine Kopie der bereits getrackten
# pyscript/www/Vorlage-Dateien für den Netzwerk-Kopiervorgang auf eine neue
# HA-Instanz) - bei Bedarf neu zusammenstellen, nicht versionieren.
installationspaket/
# installationspaket/ wird seit 2026-08-16 mitversioniert (vorher ignoriert):
# es ist zwar nur eine Kopie der bereits getrackten pyscript/www/Vorlage-
# Dateien, soll aber direkt aus dem Repo auf eine neue HA-Instanz kopierbar
# sein, ohne es vorher von Hand zusammenzustellen. Es enthält bewusst keine
# echten Fahrzeugdaten - nur data/fahrzeugprofil.example.json (Platzhalter,
# siehe oben). Beim Ändern von pyscript/ oder www/ immer mitsynchronisieren.