diff --git a/lib/screens/album_screen.dart b/lib/screens/album_screen.dart index f498d83..139a572 100644 --- a/lib/screens/album_screen.dart +++ b/lib/screens/album_screen.dart @@ -95,7 +95,7 @@ class _AlbumScreenState extends ConsumerState { .recordAlbumAccess( id: widget.albumId, name: widget.albumName, - artistName: widget.tracks?.firstOrNull?.artistName, + artistName: widget.artistName ?? widget.tracks?.firstOrNull?.albumArtist ?? widget.tracks?.firstOrNull?.artistName, imageUrl: widget.coverUrl, providerId: providerId, ); @@ -283,7 +283,10 @@ class _AlbumScreenState extends ConsumerState { ) { final expandedHeight = _calculateExpandedHeight(context); final tracks = _tracks ?? []; - final artistName = tracks.isNotEmpty ? tracks.first.artistName : null; + final artistName = widget.artistName ?? + (tracks.isNotEmpty + ? (tracks.first.albumArtist ?? tracks.first.artistName) + : null); final releaseDate = tracks.isNotEmpty ? tracks.first.releaseDate : null; return SliverAppBar( diff --git a/lib/screens/home_tab.dart b/lib/screens/home_tab.dart index 142c59d..1cffcf2 100644 --- a/lib/screens/home_tab.dart +++ b/lib/screens/home_tab.dart @@ -3909,6 +3909,7 @@ class _ExtensionAlbumScreenState extends ConsumerState { name: (data['name'] ?? '').toString(), artistName: (data['artists'] ?? data['artist'] ?? '').toString(), albumName: (data['album_name'] ?? widget.albumName).toString(), + albumArtist: (data['album_artist'] ?? _artistName)?.toString(), artistId: (data['artist_id'] ?? data['artistId'])?.toString() ?? _artistId, albumId: data['album_id']?.toString() ?? widget.albumId,