Audit Panel/iOS: sechs Befunde behoben, Zuendung aufs Trip-Signal (2026.8.31.5)

ZUENDUNG_SENSOR liegt jetzt auf dem Trip-Signal des FMM003 statt auf dem rohen,
prellenden Zuendungseingang. Damit kommt die Pausentoleranz vom Geraet - eine
Fahrt beginnt erst bei Zuendung UND Bewegung UND Start Speed.

MINDESTDAUER_S wandert nach verlauf.py und gilt jetzt auch im Livepfad. Vorher
verwarf nur der Import Zuendphasen unter 60 s; live entstanden daraus am 31.08.
elf Fahrten mit 0 km, zwei davon mit null Sekunden Dauer.

Das Panel erfand einen Literpreis von 0,00 EUR, wenn die Kosten noch nicht
feststanden (null/liter ist 0 in JavaScript) - neue Hilfsfunktion literpreis()
prueft beides, wie die App seit jeher. schnittpreis() teilte ohne Nennerpruefung
und konnte "NaN" oder "unendlich" anzeigen.

Der Setup-Dialog ist wirklich modal: die Tab-Leiste hatte einen eigenen Zuhoerer
vor der Sperre und liess einen Tabwechsel bei offenem Fenster zu.

Verwaister Code entfernt: drei Funktionen und vier Regeln im Panel, 20 Regeln in
der App.

Offen bleibt allein die leere Erstzulassung - eine Angabe, keine Aenderung.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-31 20:05:59 +02:00
parent 90efcc5b00
commit 9b0e390dfd
11 changed files with 183 additions and 215 deletions
+7 -167
View File
@@ -533,72 +533,7 @@ button.dm-serviceblock:active {
border: 0;
background: none;
cursor: pointer;
}
.dm-bildmenu-fang {
position: fixed;
inset: 0;
z-index: 1000;
}
.dm-bildmenu {
position: absolute;
z-index: 1001;
bottom: var(--sp-5);
left: 50%;
transform: translateX(-50%);
min-width: 160px;
display: flex;
flex-direction: column;
border: 0;
border-radius: 14px;
padding: var(--sp-2);
background: rgba(40, 44, 52, .92);
-webkit-backdrop-filter: saturate(180%) blur(22px);
backdrop-filter: saturate(180%) blur(22px);
box-shadow: 0 12px 40px rgba(0, 0, 0, .5);
}
[data-theme="tag"] .dm-bildmenu {
background: rgba(250, 250, 252, .92);
}
.dm-bildmenu--rad {
bottom: auto;
top: 90px;
left: 22px;
transform: none;
}
.dm-bildmenu button {
display: block;
width: 100%;
text-align: left;
background: none;
border: 0;
border-bottom: 1px solid var(--line);
color: var(--fg);
font-family: inherit;
font-size: 16px;
padding: 13px 16px;
min-height: 46px;
border-radius: 10px;
cursor: pointer;
}
.dm-bildmenu button:last-child {
border-bottom: 0;
}
.dm-bildmenu button:active {
background: var(--shade);
}
.dm-bildmenu__loeschen {
color: var(--bad);
}
/* Name des Autohauses: 15px in --fg, wie im Panel. */
}/* Name des Autohauses: 15px in --fg, wie im Panel. */
.dm-autohaus__name {
font-size: 15px;
margin-top: var(--sp-3);
@@ -802,39 +737,13 @@ button.dm-serviceblock:active {
font-size: 15px;
font-weight: 300;
color: var(--fg);
}
/* "Letzte Fahrt"/"Letzte Tankung" auf der Übersicht - deckungsgleich mit
.leaf .v/.leaf .v small im Panel (15px/400/var(--fg2), Zusatzzeile
12.5px/var(--fg3), KEINE Wide-Schrift/Hero-Zahl). War hier 20px/300 ohne
Farbangabe - eine erfundene "große Zahl"-Behandlung, die dieser Kachel im
Panel nie zustand (Parität-Audit 2026-08-30). Nur hier verwendet (die
anderen NaviKachel-Aufrufe in MeinAudi.tsx/Service.tsx/Versicherung.tsx
nutzen .dm-navikachel__wert direkt, unangetastet). */
.dm-navikachel__zahl {
font-size: 15px;
font-weight: 400;
color: var(--fg2);
}
.dm-navikachel__wert .dm-navikachel__zahl + small {
font-size: 12.5px;
}
.dm-navikachel__wert small,
}.dm-navikachel__wert small,
.dm-wertzeile small {
display: block;
margin-top: 2px;
font-size: 12.5px;
color: var(--fg3);
}
.dm-aktionen {
display: flex;
justify-content: center;
padding: var(--sp-2) 0 var(--sp-4);
}
.dm-textknopf {
}.dm-textknopf {
border: 0;
background: transparent;
color: var(--fg2);
@@ -1207,37 +1116,7 @@ button.dm-listenzeile {
gap: var(--sp-3);
margin: var(--sp-2) 0 var(--sp-3);
flex-wrap: wrap;
}
.dm-detail__zahl {
font-size: 40px;
font-weight: 300;
line-height: 1;
letter-spacing: -0.02em;
}
/* Einzelfahrt/Einzelbeleg: das Panel zeichnet die Distanz- bzw. Liter-Zahl in
vTrip()/dem Tankvorgang-Detail eigens bei 52px (style="font-size:52px"),
größer als die übrigen Detailseiten mit ihrer gemeinsamen 40px-.fig - kein
Versehen, sondern die Hauptzahl der jeweiligen Seite. */
.dm-detail__zahl--gross {
font-size: 52px;
}
.dm-detail__einheit {
font-size: 15px;
color: var(--fg2);
margin-left: 6px;
}
.dm-detail__marken {
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: center;
}
/* Deckend wie .mapbox im Panel (audi-dashboard-ios.css). --tile-2 ist im
}/* Deckend wie .mapbox im Panel (audi-dashboard-ios.css). --tile-2 ist im
Nachtmodus ein zweiter Schleier auf der ohnehin durchscheinenden Kachel -
die Flaeche hinter den Kartenkacheln wurde dadurch heller als vorgesehen. */
.dm-karte {
@@ -1336,13 +1215,7 @@ button.dm-listenzeile {
height: 4px;
border-radius: 50%;
background: var(--fg3);
}
.dm-liste__serie {
color: var(--fg2);
}
/* 170px hoch wie BV_H im Panel — 120px ließen die Kurve sichtbar flacher
}/* 170px hoch wie BV_H im Panel — 120px ließen die Kurve sichtbar flacher
wirken als dort. */
.dm-diagramm {
width: 100%;
@@ -1458,32 +1331,7 @@ button.dm-listenzeile {
.dm-archivbtn:hover,
.dm-archivbtn:active {
color: var(--fg);
}
.dm-waehlen {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
margin-top: var(--sp-3);
}
.dm-waehlen__knopf {
display: inline-flex;
align-items: center;
padding: 10px 16px;
border: 1px solid var(--line-strong);
border-radius: var(--r-pill);
font-size: 13px;
font-weight: 300;
color: var(--fg);
text-decoration: none;
}
.dm-waehlen__knopf:hover {
background: var(--shade);
}
/* Bleibt beim Scrollen unten stehen, damit ungespeicherte Aenderungen nicht
}/* Bleibt beim Scrollen unten stehen, damit ungespeicherte Aenderungen nicht
aus dem Blick geraten. */
.dm-speicherleiste {
position: sticky;
@@ -1911,15 +1759,7 @@ button.dm-listenzeile {
border-color: var(--fg);
border-style: solid;
background: var(--shade);
}
.dm-beleg-knoepfe {
display: flex;
flex-direction: column;
gap: var(--sp-2);
margin-top: var(--sp-3);
}
/* Solldruck: vier Zeichen ("2,40"), nicht die volle Feldbreite.
}/* Solldruck: vier Zeichen ("2,40"), nicht die volle Feldbreite.
Deckungsgleich mit .druckfeld in audi-dashboard.css (58px). Die Klasse
stand hier schon im Markup, hatte aber keine Regel - die Felder nahmen
deshalb die ganze Zeile ein. */