Knopfpaar von der Speicherleiste getrennt, Modell "RS 6 Avant performance" raus

Das QR-Blatt benutzte dm-speicherleiste als reine Gestaltung eines Knopfpaares,
obwohl dort nichts gespeichert wird - vom Eigentuemer richtiggestellt. Der
Name machte eine Pruefung unbrauchbar, die genau danach suchte. Jetzt trennt
.dm-knopfpaar (zwei gleich breite Knoepfe) von .dm-speicherleiste (dasselbe
Paar als klebende Leiste fuer ein Formular mit Speichern-Schritt).

"RS 6 Avant performance" ist aus der Modellauswahl entfernt; "RS 6 Avant"
stand bereits darin, die Ausfuehrung traegt der Nutzer selbst ein. Es war der
einzige Eintrag, der in der auf 180px vereinheitlichten Auswahl abgeschnitten
wurde. Ein Profil mit dem alten Wert behaelt ihn - die Auswahl stellt einen
nicht gelisteten Titel als eigene Option voran.

Nachgemessen am laufenden System: .dm-knopfpaar flex mit 12px Abstand und zwei
gleich breiten Knoepfen, .dm-speicherleiste weiterhin klebend; zehn Modelle,
laengster 115px bei 142px Platz.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 11:00:28 +02:00
parent 063446239c
commit 52daaf8611
7 changed files with 69 additions and 7 deletions
+41
View File
@@ -11722,3 +11722,44 @@ Am laufenden System, ganze Kette: App-Einstellungen, Platzhalter `TT.MM.JJJJ`,
`fahrzeugprofil.json` steht `15-06-2024` - und danach zeigen App-Service,
Panel-Service und Panel-Mein-Audi uebereinstimmend **15.06.2027** (plus 36
Monate). Danach der urspruengliche Wert des Eigentuemers wiederhergestellt.
## CV. Eine Klasse, die log - und ein Modellname zu viel (2026.9.5.14)
### `dm-speicherleiste` hiess auch dort, wo nichts gespeichert wird
Bei der Suche nach allen Speicherleisten des Projekts (Anlass: Abschnitt CU)
kam das QR-Blatt als Treffer heraus. Richtiggestellt vom Eigentuemer: *"qr scan
bild einfuegen hat bisher funktioniert ohne speichern."* Stimmt - dort ist
`dm-speicherleiste` nur die Gestaltung eines Knopfpaares ("Abbrechen" / "Bild
auswaehlen"), gespeichert wird nichts, das gewaehlte Bild wirkt sofort.
Der Aufbau ist jetzt getrennt:
* `.dm-knopfpaar` - zwei gleichrangige, gleich breite Knoepfe nebeneinander.
Sagt nichts darueber, wozu sie dienen.
* `.dm-speicherleiste` - dasselbe Paar als **klebende** Leiste am unteren Rand,
fuer ein Formular, dessen Aenderungen erst mit "Speichern" wirken.
Das ist keine Kosmetik: eine Klasse, die etwas anderes behauptet als sie tut,
macht genau die Pruefung unbrauchbar, fuer die man sie durchsucht. Eine Klasse
soll eine Sache bedeuten.
(`composes:` gehoert zu CSS-Modules und wirkt in einem normalen Stylesheet
nicht - der erste Versuch, die gemeinsamen Regeln so zu erben, war still
wirkungslos und ist wieder heraus.)
### "RS 6 Avant performance" ist raus
Aufgefallen war der Eintrag als einziger, der in der auf 180px vereinheitlichten
Modellauswahl abgeschnitten wurde (182px Text gegen 142px Platz, Abschnitt CU).
Ansage des Eigentuemers: *"zu RS 6 Avant aendern. Performance kann der User
selbst in Ausfuehrung eingeben"* - und "RS 6 Avant" stand ohnehin schon in der
Liste, der Eintrag war also nur zu streichen.
Gefahrlos, weil die Auswahl einen gespeicherten, nicht mehr gelisteten Titel
als eigene Option voranstellt (`FAHRZEUG_MODELLE.includes(...) ? ... : [titel,
...]`) - ein Profil mit dem alten Wert behaelt ihn und faellt nicht still auf
den ersten Eintrag zurueck. Das Badge haengt an "RS 6" und war nie betroffen.
Nachgemessen: zehn Eintraege, laengster "RS 3 Limousine" mit 115px bei 142px
Platz - nichts wird mehr abgeschnitten.
+2 -1
View File
@@ -266,7 +266,8 @@ export function QrScanner({
void bildLesen(datei)
}}
/>
<div className="dm-speicherleiste dm-speicherleiste--kachel">
{/* Knopfpaar, keine Speicherleiste: das gewählte Bild wirkt sofort. */}
<div className="dm-knopfpaar">
<ActionButton onClick={schliessen}>Abbrechen</ActionButton>
<ActionButton variant="primary" onClick={() => dateiRef.current?.click()}>
Bild auswählen
+23 -3
View File
@@ -1645,6 +1645,29 @@ button.dm-listenzeile {
.dm-archivbtn {
background: var(--tile-2);
color: var(--fg2);
}
.dm-archivbtn:hover,
.dm-archivbtn:active {
color: var(--fg);
}/* Bleibt beim Scrollen unten stehen, damit ungespeicherte Aenderungen nicht
aus dem Blick geraten. */
/* Zwei gleichrangige Knöpfe nebeneinander - der Aufbau allein, ohne Aussage
darüber, wozu sie dienen. Das QR-Blatt setzt hier „Abbrechen" und „Bild
auswählen" hin und speichert gar nichts.
Bis zum 05.09.2026 hieß auch das `dm-speicherleiste`. Der Name log: bei
einer Suche nach allen Speicherleisten des Projekts kam das QR-Blatt als
Treffer heraus, obwohl es dort nichts zu speichern gibt (vom Eigentümer
richtiggestellt). Eine Klasse soll eine Sache bedeuten. */
.dm-knopfpaar {
display: flex;
align-items: center;
gap: var(--sp-3);
}
/* Beide Knöpfe gleich breit: ein Paar aus Bestätigen und Abbrechen ist eine
Entscheidung zwischen zwei Wegen, keine Haupt- und Nebensache. Welcher davon
der gewollte ist, sagt die Füllung, nicht die Größe. */
.dm-knopfpaar > * {
flex: 1 1 0;
}
@@ -1666,9 +1689,6 @@ button.dm-listenzeile {
klebend, kein eigener Untergrund, keine Trennlinie - sie gehoert zur Kachel
und nicht an den Bildschirmrand. */
.dm-speicherleiste--kachel {
position: static;
margin-top: var(--sp-3);
padding: 0;
position: static;
margin-top: var(--sp-3);
padding: 0;
@@ -1 +1 @@
{"version":"2026.9.5.13","sha256":"2579ca3c3746527cf41db8c7b610c7f6be4796126b734229924cb373a801620a","bytes":324486,"gebaut":"2026-09-05T08:38:18Z"}
{"version":"2026.9.5.14","sha256":"d684e56da92c19722a2a64098806e6ac8aa8d9ee18b6e624dfe2a0c73a76d3b2","bytes":324512,"gebaut":"2026-09-05T08:58:40Z"}
@@ -4847,7 +4847,7 @@ let VERBINDUNG_UEBERWACHT = false;
oder gar kein Badge auf der Übersicht. */
const FAHRZEUG_MODELLE = [
"RS 3 Sportback", "RS 3 Limousine", "RS 4 Avant",
"RS 5 Coupé", "RS 5 Sportback", "RS 6 Avant", "RS 6 Avant performance",
"RS 5 Coupé", "RS 5 Sportback", "RS 6 Avant",
"RS 7 Sportback", "S3 Sportback", "S3 Limousine", "SQ7",
];
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
"version": "2026.9.5.13",
"version": "2026.9.5.14",
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
"codeowners": [