From fc32791ceaeff9e926cbf954d55b00f4f2041596 Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Wed, 17 Jun 2026 15:15:23 -0400 Subject: [PATCH] fix(cms): fix grid cell vertical stacking; add per-track regenerate buttons MixBrowser WaveformCell: wrap icon+button in MudStack Row. SessionBrowser HeroCell: split into two SpecialActionColumns (thumb + button). AlbumBrowser track table: always show regenerate button for Profile and High-res. --- .../Pages/Tracks/CmsAlbumBrowser.razor | 34 +++++++------- .../Pages/Tracks/CmsMixBrowser.razor | 46 ++++++++++--------- .../Pages/Tracks/CmsSessionBrowser.razor | 19 ++++++-- 3 files changed, 57 insertions(+), 42 deletions(-) diff --git a/DeepDrftManager/Components/Pages/Tracks/CmsAlbumBrowser.razor b/DeepDrftManager/Components/Pages/Tracks/CmsAlbumBrowser.razor index fdcc781..948e9ab 100644 --- a/DeepDrftManager/Components/Pages/Tracks/CmsAlbumBrowser.razor +++ b/DeepDrftManager/Components/Pages/Tracks/CmsAlbumBrowser.razor @@ -128,36 +128,38 @@ else @track.TrackNumber @track.TrackName - @if (HasProfile(track.EntryKey)) - { - - } - else - { - + + @if (HasProfile(track.EntryKey)) + { + + + + } + - } + - @if (HasHighRes(track.EntryKey)) - { - - } - else - { - + + @if (HasHighRes(track.EntryKey)) + { + + + + } + - } + @* Per-track info tooltip (restored from the retired CmsTrackGrid's .cms-track-info monospace block): EntryKey + OriginalFileName. *@ diff --git a/DeepDrftManager/Components/Pages/Tracks/CmsMixBrowser.razor b/DeepDrftManager/Components/Pages/Tracks/CmsMixBrowser.razor index 04faaca..bab501a 100644 --- a/DeepDrftManager/Components/Pages/Tracks/CmsMixBrowser.razor +++ b/DeepDrftManager/Components/Pages/Tracks/CmsMixBrowser.razor @@ -94,33 +94,35 @@ else @{ var row = RowFor(release); } @if (row is not null) { - @if (row.HasWaveform) - { - - - - } - else - { - - - - } - - @if (row.IsGenerating) + + @if (row.HasWaveform) { - - Generating… + + + } else { - @(row.HasWaveform ? "Regenerate" : "Generate") + + + } - + + @if (row.IsGenerating) + { + + Generating… + } + else + { + @(row.HasWaveform ? "Regenerate" : "Generate") + } + + } ; diff --git a/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor b/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor index c0eb71c..3dee616 100644 --- a/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor +++ b/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor @@ -85,13 +85,16 @@ else protected override void OnInitialized() { - _specialColumns = new[] { new SpecialActionColumn("Hero", HeroCell) }; + _specialColumns = new[] + { + new SpecialActionColumn("Hero", HeroThumbCell), + new SpecialActionColumn("", HeroButtonCell), + }; base.OnInitialized(); } - // Per-row cell for the dedicated "Hero" column: thumbnail preview plus set/replace upload button with - // progress. Recovers the typed SessionRow via RowFor; skips rendering for a release not on the page. - private RenderFragment HeroCell => release =>@ + // Per-row cell for the "Hero" thumbnail column: just the image preview div. + private RenderFragment HeroThumbCell => release =>@ @{ var row = RowFor(release); } @if (row is not null) { @@ -103,6 +106,14 @@ else {
} + } +
; + + // Per-row cell for the "Hero Image" upload button column: set/replace upload button with progress. + private RenderFragment HeroButtonCell => release =>@ + @{ var row = RowFor(release); } + @if (row is not null) + {