feat: add search/album/genre filtering and /albums + /genres browse pages

This commit is contained in:
daniel-c-harvey
2026-06-10 10:54:56 -04:00
parent 1071ba7374
commit 5cae83b9ed
24 changed files with 940 additions and 15 deletions
@@ -26,6 +26,18 @@ public class TracksViewModel
public bool IsDescending { get; set; } = false;
public PagedResult<TrackDto>? Page { get; set; } = null;
// Active gallery filters. Null/empty means "no filter on this dimension". SearchText is the
// free-text query; FilterAlbum/FilterGenre are exact-match pills driven by the /albums and
// /genres pages via query-string navigation.
public string? SearchText { get; set; }
public string? FilterAlbum { get; set; }
public string? FilterGenre { get; set; }
public bool HasActiveFilter =>
!string.IsNullOrWhiteSpace(SearchText)
|| !string.IsNullOrWhiteSpace(FilterAlbum)
|| !string.IsNullOrWhiteSpace(FilterGenre);
public TracksViewModel(ITrackDataService trackData)
{
TrackData = trackData;