fix: restore waveform status coherence, drop dead GetGenreSummaries, restore track info tooltip

This commit is contained in:
daniel-c-harvey
2026-06-17 14:13:34 -04:00
parent 30999726e5
commit 13fbcc2d43
8 changed files with 159 additions and 74 deletions
@@ -41,9 +41,24 @@ else
/// </summary>
[Parameter] public bool Embedded { get; set; }
/// <summary>
/// Forwarded from the inner <see cref="CmsAlbumBrowser"/>: fires after any per-row waveform
/// generate succeeds so the parent page can refresh its catalogue-wide missing-count badges.
/// </summary>
[Parameter] public EventCallback OnWaveformGenerated { get; set; }
private CmsAlbumBrowser? _albumBrowser;
protected override ReleaseMedium Medium => ReleaseMedium.Mix;
protected override string MediumNoun => "mixes";
/// <summary>
/// Clears the inner grid's cached per-track waveform status so the next row expand re-fetches.
/// Called by the parent page after a catalogue-wide bulk run.
/// </summary>
public Task InvalidateWaveformStatusAsync() =>
_albumBrowser?.InvalidateWaveformStatusAsync() ?? Task.CompletedTask;
protected override MixRow ToRow(ReleaseDto release) => new()
{
Release = release,
@@ -56,9 +71,11 @@ else
// both branches above render the same markup without duplication. The Mix declares one dedicated
// "Waveform" special-action column; the grid renders it between Tracks and Actions, handing the cell
// each release, and RowFor recovers the matching MixRow's generate state.
private RenderFragment GridContent => @<CmsAlbumBrowser Releases="Releases"
private RenderFragment GridContent => @<CmsAlbumBrowser @ref="_albumBrowser"
Releases="Releases"
IsLoading="Loading"
OnReleasesChanged="ReloadAsync"
OnWaveformGenerated="OnWaveformGenerated"
SpecialColumns="_specialColumns" />;
// Allocated once per component instance in OnInitialized (field initializers cannot reference