From cc1fa60a4d89f4e3b43c14af901fe8bd3d34192d Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Fri, 5 Jun 2026 16:38:13 -0400 Subject: [PATCH] refactor(player): move SpectrumVisualizer into VolumeZone above volume slider Rename VolumeControls to VolumeZone; stack 24-bucket SpectrumVisualizer above volume slider; remove it from PlayerSeekZone. MudSlider stays as seek placeholder. Pin flex-shrink:0 on volume-zone; add Class param to VolumeZone for layout flexibility. --- .../Controls/AudioPlayerBar/AudioPlayerBar.razor | 2 +- .../AudioPlayerBar/AudioPlayerBar.razor.css | 6 +++--- .../Controls/AudioPlayerBar/PlayerSeekZone.razor | 1 - .../AudioPlayerBar/SpectrumVisualizer.razor.cs | 2 +- .../Controls/AudioPlayerBar/VolumeControls.razor | 10 ---------- .../AudioPlayerBar/VolumeControls.razor.css | 8 -------- .../Controls/AudioPlayerBar/VolumeZone.razor | 15 +++++++++++++++ ...olumeControls.razor.cs => VolumeZone.razor.cs} | 3 ++- .../Controls/AudioPlayerBar/VolumeZone.razor.css | 15 +++++++++++++++ 9 files changed, 37 insertions(+), 25 deletions(-) delete mode 100644 DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor delete mode 100644 DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.css create mode 100644 DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor rename DeepDrftPublic.Client/Controls/AudioPlayerBar/{VolumeControls.razor.cs => VolumeZone.razor.cs} (83%) create mode 100644 DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor.css diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor index 422a3dc..d9cff22 100644 --- a/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor @@ -22,7 +22,7 @@ else Stop="@Stop" Class="transport-zone"/> - + -
(); diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor deleted file mode 100644 index 94be941..0000000 --- a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.css b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.css deleted file mode 100644 index 89f4198..0000000 --- a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.css +++ /dev/null @@ -1,8 +0,0 @@ -/* Width caps only — layout/colour come from MudStack + theme */ -.volume-controls { - width: 70px; -} - -.volume-slider { - width: 50px; -} diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor new file mode 100644 index 0000000..a1e6a22 --- /dev/null +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor @@ -0,0 +1,15 @@ +@namespace DeepDrftPublic.Client.Controls.AudioPlayerBar + + + + + + + + diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor.cs similarity index 83% rename from DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor.cs index eec58e4..e6fb5b2 100644 --- a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor.cs @@ -3,8 +3,9 @@ using MudBlazor; namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; -public partial class VolumeControls : ComponentBase +public partial class VolumeZone : ComponentBase { + [Parameter] public string? Class { get; set; } [Parameter] public required double Volume { get; set; } [Parameter] public required EventCallback VolumeChanged { get; set; } private string GetVolumeIcon() diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor.css b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor.css new file mode 100644 index 0000000..acbf638 --- /dev/null +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeZone.razor.css @@ -0,0 +1,15 @@ +/* Width caps only — layout/colour come from MudStack + theme. + The zone stacks the spectrum visualizer above the volume row. Width is sized + so 24 spectrum bars (4px min + 2px gap ≈ 140px) render without clipping under + the container's overflow:hidden, while staying compact. */ +.volume-zone { + width: 150px; +} + +.volume-row { + width: 100%; +} + +.volume-slider { + flex: 1; +}