Hauptmenue wieder deutlich sichtbar

Entwarnung vorweg: es fehlt nichts. Alle vier Bereiche (Meine Musik,
Online, Suchen, Favoriten) standen durchgehend in der Bottom-Nav;
lib/main.dart wurde von der UI-Politur gar nicht angefasst.

Aber die Politur hatte das Menue abgeschwaecht — zwei eigene Fehler:
- selectedLabelStyle/unselectedLabelStyle bekamen beide fontSize 12. Damit
  verlor der aktive Eintrag den Groessenunterschied (Flutter-Vorgabe 14 zu
  12), an dem man erkennt, wo man ist. Jetzt keine fontSize mehr.
- unselectedItemColor stand auf text3 (Beiwerk-Stufe). Ein Hauptmenue ist
  kein Beiwerk -> text2.

Zusaetzlich deutlicher: Haarlinie ueber der Leiste (auf Schwarz ging sie
sonst im Inhalt auf), gefuellte Symbole fuer den aktiven Bereich (zweites
Merkmal neben der Farbe) und fetterer aktiver Eintrag.

Neu: test/hauptmenue_test.dart — prueft Vorhandensein, Sichtbarkeit auf dem
Bildschirm, Position am unteren Rand, Wechsel per Tipp und die Abhebung des
aktiven Bereichs. Damit kann keine weitere Politur das Menue unbemerkt
abschwaechen.

Nebenbei eine Test-Falle geloest: await db.close() nach einem tester.tap
laesst den Lauf unbegrenzt haengen (drift plant eine Aufraeum-Aufgabe ein,
die der Test-Rahmen nicht mehr abarbeitet). Rezept im Test dokumentiert.
Beim bekannten Haenger in song_detail_sheet_test.dart hilft es NICHT —
gegengeprueft und als eigene Ursache im BACKLOG vermerkt.

328 Tests gruen (10 neue, 1 uebersprungen), flutter analyze ohne Befund.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FpPu4nuKjKKeX1RpdDeX81
This commit is contained in:
Hermes (Server)
2026-08-21 14:13:11 +02:00
co-authored by Claude Opus 5
parent 1547f43099
commit 5b6fa949a9
5 changed files with 281 additions and 7 deletions
+37
View File
@@ -5,6 +5,43 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [Unreleased]
### 🧭 Hauptmenü wieder deutlich sichtbar (2026-08-21)
**Zuerst die Entwarnung:** Es fehlt nichts und nichts ist verschoben. Alle
vier Bereiche standen und stehen unten im Hauptmenü — `lib/main.dart` wurde
von der UI-Politur überhaupt nicht angefasst.
- 🐛 **Behoben: die Politur hatte das Menü abgeschwächt.** Zwei Fehler von
mir aus der letzten Runde:
- Ich hatte für **aktiv und inaktiv dieselbe Schriftgröße** (12) gesetzt.
Damit verlor der aktive Bereich den Größenunterschied (sonst 14 zu 12),
an dem man auf einen Blick erkennt, wo man ist.
- Die inaktiven Einträge liefen auf der **blassen Beiwerk-Stufe**. Ein
Hauptmenü ist kein Beiwerk — sie sind jetzt wieder kräftig.
-**Zusätzlich deutlicher gemacht:**
- Eine **Haarlinie über dem Menü** — auf schwarzem Grund ging die Leiste
sonst optisch im Inhalt auf.
- Der aktive Bereich hat jetzt ein **gefülltes Symbol** (ausgefülltes Herz,
volle Note). Wer Rot schlecht sieht, erkennt trotzdem, wo er steht —
vorher unterschied nur die Farbe.
- Der aktive Eintrag ist fetter gesetzt.
- 🔒 **Damit das keine Politur mehr abschwächen kann:** ein neuer Test prüft,
dass alle vier Bereiche vorhanden **und auf dem Bildschirm** sind, dass das
Menü am unteren Rand klebt, dass jeder Tipp dorthin wechselt, und dass der
aktive Bereich sich nicht nur durch Farbe abhebt.
- 🔧 **Details für Technikinteressierte:**
- Neu: `test/hauptmenue_test.dart` (10 Prüfungen).
- `bottomNavigationBarTheme`: keine feste `fontSize` mehr (damit Flutters
14/12 gelten), `unselectedItemColor` von `text3` auf `text2`,
`showUnselectedLabels` ausdrücklich gesetzt.
- Beim Schreiben des Tests ist eine **Test-Falle** aufgefallen und gelöst:
`await db.close()` nach einem `tester.tap` lässt den Testlauf
**unbegrenzt hängen**. Rezept dagegen steht im Test und in `BACKLOG.md`.
Beim schon bekannten Hänger in `song_detail_sheet_test.dart` hilft es
allerdings nicht — dort ist die Ursache eine andere, jetzt ebenfalls im
Backlog vermerkt.
-**Getestet:** 328 Tests grün (10 neue), `flutter analyze` ohne Befund.
### ✨ UI-Politur: Kontrast, Abstände, Typografie, Bewegung (2026-08-21)
Kein neues Design — dasselbe Melo in sauber. Schwarz/Rot, die vier Tabs und