fix(flutter): library Artists tab 404 + Albums tab 3-up grid
Artists tab 404: client called /api/library/artists, but the server mounts the artists list at /api/artists (handleListArtists). Albums sit at /api/library/albums for historical reasons — the paths aren't symmetric. Switch listArtists() to /api/artists with sort=alpha. Albums tab grid: matched the responsive 3-up layout we built for artist detail. LayoutBuilder computes cellW from available width; AlbumCard sized to the cell with titleMaxLines: 2; mainAxisExtent matches actual content height (cover + 2-line title + artist line + fudge). No more wide-aspect cells with empty space below the card. Also wired `extra: ref` on the artists/albums grids and the Liked tab so detail-screen nav hydration kicks in here too — taps from library screens get the same instant header that home tiles do.
This commit is contained in:
@@ -12,9 +12,16 @@ class LibraryListsApi {
|
||||
final Dio _dio;
|
||||
|
||||
Future<Paged<ArtistRef>> listArtists({int limit = 50, int offset = 0}) async {
|
||||
// Server mounts the artists list at /api/artists (handleListArtists),
|
||||
// not /api/library/artists. Albums use /api/library/albums for
|
||||
// historical reasons; the paths aren't symmetric.
|
||||
final r = await _dio.get<Map<String, dynamic>>(
|
||||
'/api/library/artists',
|
||||
queryParameters: {'limit': limit, 'offset': offset},
|
||||
'/api/artists',
|
||||
queryParameters: {
|
||||
'limit': limit,
|
||||
'offset': offset,
|
||||
'sort': 'alpha',
|
||||
},
|
||||
);
|
||||
return Paged.fromJson(r.data ?? const {}, ArtistRef.fromJson);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user