Listenkoepfe vereinheitlicht, Zeilen mit Luft, Kalenderdateien mit Namen (2026.9.2.21-.23)
KOEPFE. Jahr und Monat tragen dasselbe Format (13px, Zweitfarbe, gemischt) - vorher drei Elemente in drei Formaten. Die Versalien aus .20 waren falsch: das ist der iOS-Stil vor 13. Vom Eigentuemer aus drei gerenderten Vorschlaegen gewaehlt. ZEILEN. padding-left 20px statt 0 - die Spalte des Aufklapp-Pfeils, damit die Zeilen auf derselben Kante stehen wie der Text der Koepfe. Nachgemessen bei 375px: Beschriftungsspalte 157px, laengster Ortsname 142,7px. GALERIE. Der gezeigte Platz ueberlebt den Seitenwechsel - er lag in der Komponente und starb mit ihr. Im Panel ist er seit jeher modulweit. KALENDER. Jeder Termin hiess "-.ics": in dateiname() fehlte das \w in der Zeichenklasse, es ueberlebten nur w/ae/oe/ue/ss und der Bindestrich. Zwei Termine ueberschrieben einander damit. Jetzt mit Umschrift und Rueckfall, und ueber Share.files statt Share.url. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -8284,3 +8284,57 @@ Projekts aus den Apple-Richtlinien.
|
||||
- **Hochladen über einen eigenen HTTP-Endpunkt** statt über den Dienst: hebt die 3-MB-Grenze des
|
||||
Panels auf (WebSocket, aiohttp-Vorgabe 4 MiB) und spart die Base64-Aufblähung. Gemessen: über
|
||||
REST gehen 12 MB durch, über den WebSocket bricht die Verbindung ab 3,2 MB Rohbild wortlos ab.
|
||||
|
||||
### Nachtrag .21-.23: gleiche Köpfe, Luft an den Zeilen, und `-.ics`
|
||||
|
||||
**Die Listenköpfe tragen jetzt dasselbe Format** (Vorschlag B von dreien, vom Eigentümer gewählt):
|
||||
Jahr und Monat beide 13px in der Zweitfarbe, gemischt geschrieben, ohne Sperrung; die Fahrtzeile
|
||||
bleibt 16px. Vorher standen drei Elemente in drei Formaten — 16px weiß, 11px grau gesperrt in
|
||||
Versalien, wieder 16px weiß. Die Versalien aus .20 waren mein Fehlgriff: sie sind der iOS-Stil vor
|
||||
13, heute schreibt Apple Abschnittsköpfe gemischt. Unterschieden werden die Ebenen über die
|
||||
Position, nicht über die Schrift. Tanken teilt die Regel; seine rechte Spalte bleibt bewusst
|
||||
anders (Ansage des Eigentümers).
|
||||
|
||||
Die drei Vorschläge lagen als gerendertes Muster vor (echte App-CSS, Audi Type, eigenständige HTML)
|
||||
— das ist der Weg, der bei Gestaltungsfragen zu einer Entscheidung führt, statt sie zu beschreiben.
|
||||
|
||||
**Die Zeilen haben wieder Luft**: `padding-left: 20px` statt 0. Das ist nicht geraten, sondern die
|
||||
Spalte des Aufklapp-Pfeils — die Zeilen stehen damit auf derselben Kante wie der Text der
|
||||
Kopfzeilen, wie iOS es in gruppierten Listen macht. Bei 375px behält die Beschriftungsspalte 157px,
|
||||
der längste Ortsname der Testdaten braucht 142,7px. Von den 58px aus .19 bleiben 38 gewonnen.
|
||||
|
||||
**Die Galerie merkt sich ihren Platz.** `useState(0)` setzte ihn bei jeder Rückkehr auf die
|
||||
Seitenansicht zurück. Im Panel war das nie aufgefallen, weil `bild` dort eine modulweite Variable
|
||||
ist und den Seitenwechsel überlebt; in der App lag der Zustand in der Komponente und starb mit ihr.
|
||||
|
||||
**Jeder Kalendertermin hieß `-.ics`.** In `dateiname()` stand `[^wäöüÄÖÜß-]`, gemeint war
|
||||
`[^\wäöüÄÖÜß-]` — ohne das `\w` überlebten nur w, ä, ö, ü, ß und der Bindestrich:
|
||||
|
||||
| Titel | vorher | jetzt |
|
||||
|---|---|---|
|
||||
| RS4 Avant competition: Ölwechsel | `-ö-w-.ics` | `rs4-avant-competition-oelwechsel.ics` |
|
||||
| Audi RS4: Inspektion | `-.ics` | `audi-rs4-inspektion.ics` |
|
||||
| Wechseltermin | `-.ics` | `wechseltermin.ics` |
|
||||
|
||||
Zwei verschiedene Termine überschrieben einander damit im Zwischenspeicher. Umlaute werden jetzt
|
||||
umgeschrieben statt weggeworfen (ein „ö" im Dateinamen muss über die Teilen-Kette prozentkodiert
|
||||
werden — eine Fehlerquelle weniger), und die Übergabe läuft über `files` statt `url`.
|
||||
|
||||
**Nicht bestätigt ist, dass das den Kalender-Export repariert.** Der Verdacht bleibt, dass iOS
|
||||
„Kalender" im Teilen-Blatt gar nicht als Ziel führt; der verlässliche Weg wäre EventKit, also
|
||||
nativ. Steht zur Prüfung beim Eigentümer.
|
||||
|
||||
### Was am 02.09. abends offen blieb
|
||||
|
||||
- **Fahrt bleibt offen, wenn das Trip-Signal ihr Ende nie meldet.** Im Testcontainer nachgewiesen:
|
||||
Trip-Status ging 16:33:15 auf `on` und nie wieder auf `off`, Zündung ging 16:54:21 aus, der
|
||||
Kilometerstand stand ab 16:52 (209.480 → 209.490, also 10 km). Im Laufzeitspeicher steht seither
|
||||
`fahrt_start_ts: 2026-09-02T16:32:18` — die Fahrt ist nie in der Liste gelandet. Der FMM003 hätte
|
||||
`trip=false` nach seinem eigenen 900-s-Timeout senden müssen. **Vorschlag, noch nicht gebaut**
|
||||
(der Eigentümer prüft zuerst den Dongle): bleibt das Trip-Signal an, während die Zündung länger
|
||||
als 900s + Puffer aus ist und der Kilometerstand steht, die Fahrt zum Zündungsende schließen.
|
||||
- **Zwischenablage:** `navigator.clipboard.read()` gibt in WebKit nur Text, HTML und Bilder heraus.
|
||||
Ein PDF ist dort nie zu holen — der Knopf kann nicht funktionieren. Entweder nativ über
|
||||
`UIPasteboard` oder er verschwindet auf dem Telefon.
|
||||
- **Teilen legt keinen Tankvorgang an** (Abschnitt BQ) — die drei OTA-Teile und der native Umbau
|
||||
stehen weiter aus.
|
||||
|
||||
Reference in New Issue
Block a user