feat(music): music browsing UI — square cards, library groupings, artist/album screens

Un-gates music libraries; adds CardShape.square plumbing (circular
artists), artists/albums/tracks browse groupings with per-grouping
sorts, audio playlists tab, artist + album detail screens with dpad
track rows, music context-menu actions, and a stub MusicPlaybackService
seam for the upcoming engine.
This commit is contained in:
edde746
2026-07-05 17:20:28 +02:00
parent fff559da06
commit 05a631415e
30 changed files with 2235 additions and 67 deletions
@@ -21,6 +21,7 @@ import '../providers/trackers_provider.dart';
import '../providers/watch_state_store.dart';
import '../screens/main_screen.dart';
import '../services/api_cache.dart';
import '../services/music/music_playback_service.dart';
import '../services/storage_service.dart';
import '../utils/app_logger.dart';
import '../watch_together/providers/watch_together_provider.dart';
@@ -165,6 +166,9 @@ class _ProfileSessionScreenState extends State<ProfileSessionScreen> {
},
),
ChangeNotifierProvider(create: (context) => PlaybackStateProvider()),
// Stub until the music playback engine binds a real service;
// profile-session scope so a profile switch ends the session.
ChangeNotifierProvider<MusicPlaybackService>(create: (context) => StubMusicPlaybackService()),
ChangeNotifierProvider(create: (context) => WatchTogetherProvider()),
ChangeNotifierProvider(
create: (context) {