Aus der Kachel QIF-Import wird Import/Export mit je einem Knopf für beide
Richtungen; davor steht die Wahl des Dateiformats (QIF oder CSV), die als
Dialog und ohne Skript als eigene Seite funktioniert.
- CsvBuchungsImport/CsvTabelle: Buchungen samt Splitzeilen, Spalten über die
Kopfzeile, dieselbe Dublettenerkennung und der Trockenlauf wie beim QIF.
- BuchungsExport/ExportController: Filter nach Zeitraum, Konto, Kategorie und
Klasse; die Datei entsteht im Speicher, ein Exportverzeichnis gibt es nicht.
- Housekeeping: Hochgeladene Importdateien und data/tmp werden nach der
eingestellten Frist gelöscht (Vorgabe 14 Tage, 0 schaltet ab).
Migration 013, Test 29 sowie E2E-Spec importexport.spec.js.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Die Seitenleiste war lang geworden. Termine und Verträge sind kein täglicher
Einstieg und stehen deshalb nicht mehr im Hauptmenü, sondern als letzte
Kacheln in der Verwaltung.
- Menüeinträge können weitere Pfade mitführen (`auch`), unter denen sie als
aktiv gelten – die Verwaltung leuchtet damit auch unter /termine und
/vertraege, wo die Seitenleiste sonst ohne Markierung bliebe.
- Neue Kacheln Termine (aktive Reihen, offene Erinnerungen) und Verträge
(laufende Verträge, Fristen der nächsten 90 Tage).
- Alle Kacheln der Verwaltung tragen jetzt dieselben kleinen Knöpfe; vorher
standen zwei Größen nebeneinander im selben Raster.
- Das Raster richtet seine Knopfleisten am Kachelfuß aus, statt sie der
jeweiligen Textlänge folgen zu lassen.
- .knopfleiste bricht um, statt über den rechten Kachelrand zu ragen.
Test: tests/24_NavigationTest.php
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>