feat(cms): bring per-medium tab grids to ALL-tab parity (§8.C)
Render the rich CmsAlbumBrowser filtered per medium in the CUTS/SESSIONS/MIXES tabs via an optional RowActions slot; retire the thin CmsMediumTable. Session hero and Mix waveform actions preserved; ALL tab and TrackList unchanged.
This commit is contained in:
@@ -2,27 +2,20 @@
|
||||
@using DeepDrftModels.DTOs
|
||||
@using DeepDrftModels.Enums
|
||||
|
||||
@* Cut-filtered release grid for the Release Archive's CUTS tab (Phase 9 §8.A). Derived from the same
|
||||
CmsMediumBrowserBase pattern the Session/Mix browsers use, so a fourth medium would follow the same
|
||||
shape with no parallel path. Cuts carry no medium-specific row action (no hero, no waveform), so the
|
||||
ActionContent slot renders nothing — every row still gets the shared Edit affordance from
|
||||
CmsMediumTable. Embedded as tab content only; it has no standalone @page route. *@
|
||||
<CmsMediumTable TRow="CutRow"
|
||||
Rows="Rows"
|
||||
Loading="Loading"
|
||||
ReleaseAccessor="@(row => row.Release)"
|
||||
ThumbUrl="@(key => ThumbUrl(key))"
|
||||
TitleHeader="Cut"
|
||||
EmptyMessage="No cuts found.">
|
||||
<ActionContent Context="row">
|
||||
</ActionContent>
|
||||
</CmsMediumTable>
|
||||
@* CUTS tab content (Phase 9 §8.A/§8.C): the rich CmsAlbumBrowser grid filtered to Cut releases, so the
|
||||
tab carries expand-tracks, delete, the Type chip, and per-row edit identically to the ALL tab — no
|
||||
forked grid. Cuts have no medium-specific row action, so no RowActions slot is supplied; the grid
|
||||
renders its shared edit/delete only. Embedded as tab content only; no standalone @page route. *@
|
||||
<CmsAlbumBrowser Releases="Releases"
|
||||
IsLoading="Loading"
|
||||
OnReleasesChanged="ReloadAsync" />
|
||||
|
||||
@code {
|
||||
protected override ReleaseMedium Medium => ReleaseMedium.Cut;
|
||||
protected override string MediumNoun => "cuts";
|
||||
|
||||
protected override CutRow ToRow(ReleaseDto release) => new() { Release = release };
|
||||
protected override ReleaseDto ReleaseOf(CutRow row) => row.Release;
|
||||
|
||||
public sealed class CutRow
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user