@namespace DeepDrftPublic.Client.Controls
@* Card grid of releases that open their own detail page (/{DetailRoute}/{id}). Shared by the
Sessions and Mixes browse pages. Cuts intentionally do not use this — they open the track
gallery filtered by album, a different navigation target. Fully controlled by the parent:
loading and item state are passed in. *@
@if (Loading)
{
@foreach (var _ in Enumerable.Range(0, 8))
{
}
}
else if (Releases.Count == 0)
{
@EmptyMessage
}
else
{
@foreach (var release in Releases)
{
}
}
@code {
[Parameter] public required IReadOnlyList Releases { get; set; }
[Parameter] public bool Loading { get; set; }
/// Route segment for a card's detail page; a card links to /{DetailRoute}/{id}.
[Parameter] public required string DetailRoute { get; set; }
[Parameter] public string EmptyMessage { get; set; } = "Nothing here yet";
}