v2.53 — Sprint E: Recap-Zeiträume (Woche/Monat/Jahr)

## Recap-Zeiträume
- recap_service.dart: RecapZeitraum-Enum (woche/monat/jahr), berechne(zeitraum:, jetzt:) mit injizierbarem Historie-Loader (Tests ohne DB), Fallback-Kette Woche → Monat → Jahr → Gesamt-Historie, Zeitraum-Getter (kopfzeile, introTitel, introUntertitel, zeitraumLabel, shareTitel, Monatsname)
- recap_screen.dart: Zeitraum-Umschalter (7 Tage / Monat / Jahr) oben im Recap, dynamische Texte („Deine Woche in Musik“, „Abspielungen in dieser Woche“, „Melo Wochen-Recap“), Seiten-Reset bei Wechsel
- home_screen.dart: Recap-Karte „Recap 2026“ + „Woche · Monat · Jahr“-Untertitel
- settings_screen.dart: Kachel „Recap (Woche/Monat/Jahr)“
- test/recap_service_test.dart: 12 neue Tests (Filter, Fallback-Kette, Aggregation, Label-Getter)
- flutter analyze 0 Issues, Tests 123/123
This commit is contained in:
Dustin
2026-08-05 11:10:49 +02:00
parent bc3357bf72
commit 22ce611537
5 changed files with 454 additions and 27 deletions
+2 -2
View File
@@ -1397,7 +1397,7 @@ class _MeloHomeState extends State<MeloHome> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Jahres-Recap ${DateTime.now().year}',
'Recap ${DateTime.now().year}',
style: const TextStyle(
fontSize: 15,
fontWeight: FontWeight.w700,
@@ -1406,7 +1406,7 @@ class _MeloHomeState extends State<MeloHome> {
),
const SizedBox(height: 2),
const Text(
'Deine Top-Songs, Künstler & Hörzeit wie Spotify Wrapped',
'Woche · Monat · Jahr deine Top-Songs, Künstler & Hörzeit',
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: 11, color: MeloTheme.textSekundaer),