Zweiter Tab heisst wieder "Download" statt "Online"

Auf Wunsch von Dustin. Der Inhalt bleibt unveraendert (YouTube-Downloader
und Server-Bibliothek als Unterreiter), nur die Beschriftung aendert sich.
Die vier Bereiche: Meine Musik, Download, Suchen, Favoriten.

- Symbol ebenfalls zurueck auf Icons.download_outlined/download. Das ist
  kein neuer Entwurf: genau dieses Symbol trug der Tab, bevor er in
  Commit a625d70 in "Online" umbenannt wurde.
- Die Ueberschrift im Bereich selbst stand noch auf "Online" — ein Tab
  "Download", der auf einen Bildschirm "Online" fuehrt, waere verwirrend.
  Zieht jetzt nach.
- Tests und Testbeschreibungen entsprechend angepasst.

328 Tests gruen (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:22:36 +02:00
co-authored by Claude Opus 5
parent 5b6fa949a9
commit 34d6d8e52a
6 changed files with 26 additions and 9 deletions
+16
View File
@@ -5,6 +5,22 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [Unreleased] ## [Unreleased]
### 🏷️ Der zweite Tab heißt wieder „Download" (2026-08-21)
- 📥 **Aus „Online" wird „Download".** Der Bereich behält seinen Inhalt
unverändert — YouTube-Downloader und Server-Bibliothek als Unterreiter.
Nur die Beschriftung im Hauptmenü ändert sich.
Die vier Bereiche heißen jetzt: **Meine Musik · Download · Suchen ·
Favoriten**.
- ⬇️ **Passendes Symbol dazu.** Statt der Note steht wieder ein Download-Pfeil
im Menü — genau das Symbol, das der Tab schon einmal hatte, bevor er in
„Online" umbenannt wurde. Also nichts Neues erfunden, sondern der frühere
Stand wiederhergestellt.
- 📄 **Auch die Überschrift im Bereich selbst zieht nach.** Sie stand noch auf
„Online" — ein Tab namens „Download", der auf einen Bildschirm namens
„Online" führt, wäre verwirrend gewesen.
-**Getestet:** 328 Tests grün, `flutter analyze` ohne Befund.
### 🧭 Hauptmenü wieder deutlich sichtbar (2026-08-21) ### 🧭 Hauptmenü wieder deutlich sichtbar (2026-08-21)
**Zuerst die Entwarnung:** Es fehlt nichts und nichts ist verschoben. Alle **Zuerst die Entwarnung:** Es fehlt nichts und nichts ist verschoben. Alle
+3 -2
View File
@@ -18,7 +18,8 @@ import '../shared/sub_tabs.dart';
import 'download_einordnung.dart'; import 'download_einordnung.dart';
import '../shared/theme.dart'; import '../shared/theme.dart';
/// Online-Tab: durchsucht den verbundenen Navidrome-Server. Abgespielte /// Download-Tab: YouTube-Downloader und der verbundene Navidrome-Server
/// (Unterreiter). Abgespielte
/// Titel werden vom [MeloAudioHandler] automatisch lokal zwischengespeichert /// Titel werden vom [MeloAudioHandler] automatisch lokal zwischengespeichert
/// und stehen danach offline zur Verfügung. /// und stehen danach offline zur Verfügung.
class DownloadsScreen extends StatefulWidget { class DownloadsScreen extends StatefulWidget {
@@ -42,7 +43,7 @@ class _DownloadsScreenState extends State<DownloadsScreen> {
padding: EdgeInsets.fromLTRB(20, 16, 20, 4), padding: EdgeInsets.fromLTRB(20, 16, 20, 4),
child: Align( child: Align(
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: Text('Online', child: Text('Download',
style: TextStyle(fontSize: 24, fontWeight: FontWeight.w700)), style: TextStyle(fontSize: 24, fontWeight: FontWeight.w700)),
), ),
), ),
+3 -3
View File
@@ -189,9 +189,9 @@ class _HomeShellState extends State<HomeShell> with WidgetsBindingObserver {
BottomNavigationBarItem( BottomNavigationBarItem(
icon: Icon(Icons.headphones), label: 'Meine Musik'), icon: Icon(Icons.headphones), label: 'Meine Musik'),
BottomNavigationBarItem( BottomNavigationBarItem(
icon: Icon(Icons.music_note_outlined), icon: Icon(Icons.download_outlined),
activeIcon: Icon(Icons.music_note), activeIcon: Icon(Icons.download),
label: 'Online'), label: 'Download'),
BottomNavigationBarItem(icon: Icon(Icons.search), label: 'Suchen'), BottomNavigationBarItem(icon: Icon(Icons.search), label: 'Suchen'),
BottomNavigationBarItem( BottomNavigationBarItem(
icon: Icon(Icons.favorite_border), icon: Icon(Icons.favorite_border),
+1 -1
View File
@@ -87,7 +87,7 @@ void main() {
await db.close(); await db.close();
}); });
testWidgets('Online-Tab hat die Unterreiter YouTube und Server', testWidgets('Download-Tab hat die Unterreiter YouTube und Server',
(tester) async { (tester) async {
final auth = final auth =
BakaAuth(client: MockClient((_) async => http.Response('', 500)), BakaAuth(client: MockClient((_) async => http.Response('', 500)),
+1 -1
View File
@@ -28,7 +28,7 @@ class _MemorySpeicher implements TokenSpeicher {
} }
/// Die vier Bereiche des Hauptmenüs, in dieser Reihenfolge. /// Die vier Bereiche des Hauptmenüs, in dieser Reihenfolge.
const hauptmenue = ['Meine Musik', 'Online', 'Suchen', 'Favoriten']; const hauptmenue = ['Meine Musik', 'Download', 'Suchen', 'Favoriten'];
void main() { void main() {
late MeloDb db; late MeloDb db;
+2 -2
View File
@@ -30,7 +30,7 @@ void main() {
setUp(() => SharedPreferences.setMockInitialValues({})); setUp(() => SharedPreferences.setMockInitialValues({}));
testWidgets('Untere Navigation folgt der Referenz-UI: ' testWidgets('Untere Navigation folgt der Referenz-UI: '
'Meine Musik, Online, Suchen, Favoriten', (tester) async { 'Meine Musik, Download, Suchen, Favoriten', (tester) async {
final db = MeloDb(NativeDatabase.memory()); final db = MeloDb(NativeDatabase.memory());
final lib = LibraryService(db); final lib = LibraryService(db);
final playlists = PlaylistService(db); final playlists = PlaylistService(db);
@@ -60,7 +60,7 @@ void main() {
final bar = tester.widget<BottomNavigationBar>( final bar = tester.widget<BottomNavigationBar>(
find.byType(BottomNavigationBar)); find.byType(BottomNavigationBar));
expect(bar.items.map((i) => i.label).toList(), expect(bar.items.map((i) => i.label).toList(),
['Meine Musik', 'Online', 'Suchen', 'Favoriten']); ['Meine Musik', 'Download', 'Suchen', 'Favoriten']);
handler.dispose(); handler.dispose();
await db.close(); await db.close();