feat(mix-visualizer): gate knob controls with Blazor @if in TopContent band; drop CSS collapse, glass, and TopRowCenter slot
This commit is contained in:
@@ -48,18 +48,20 @@ else
|
||||
BackLabel="All mixes"
|
||||
ShowMeta="@(hasGenre || hasDate)"
|
||||
ShowShareRow="false">
|
||||
<TopRowCenter>
|
||||
@* In-flow seven-knob control container, between the back link and the lava-lamp toggle.
|
||||
It grows in place (width/opacity transition) when expanded and collapses to zero
|
||||
footprint when closed — never a popover, drawer, or floating overlay (§7b). The
|
||||
container mutates the shared MixVisualizerControlState; the backdrop bridge pushes the
|
||||
dials. A knob drag does not collapse it — the toggle flips only on the lamp's click. *@
|
||||
<MixVisualizerControls Expanded="@_controlsExpanded" />
|
||||
</TopRowCenter>
|
||||
<TopContent>
|
||||
@* The seven-knob band lives in its own full-width area below the back/lamp top row.
|
||||
Blazor — not CSS — controls its visibility: it is rendered only while the lava-lamp is
|
||||
on, so when off it is not in the DOM at all. No background, no animation, no reflow of
|
||||
the row above. The band mutates the shared MixVisualizerControlState; the backdrop
|
||||
bridge pushes the dials. A knob drag does not toggle it — the lamp's click does. *@
|
||||
@if (_controlsExpanded)
|
||||
{
|
||||
<MixVisualizerControls />
|
||||
}
|
||||
</TopContent>
|
||||
<TopRightAction>
|
||||
@* Lava-lamp button top-right, across from the back link. Toggles the in-flow control
|
||||
container in the center zone. The icon swaps to its FILLED variant while the
|
||||
container is expanded (§7f / Part B). *@
|
||||
@* Lava-lamp button top-right, across from the back link. Toggles the knob band below the
|
||||
row. The icon swaps to its FILLED variant while the band is shown (§7f / Part B). *@
|
||||
<MudTooltip Text="Visualizer settings">
|
||||
<MudIconButton Icon="@(_controlsExpanded ? DDIcons.LavaLampFilled : DDIcons.LavaLamp)"
|
||||
Size="Size.Large"
|
||||
@@ -116,9 +118,9 @@ else
|
||||
@code {
|
||||
protected override string PersistKey => "mix-detail";
|
||||
|
||||
// Lava-lamp inline knob-bar expanded state. Pure presentation over MixVisualizerControlState — the
|
||||
// bar discloses the seven knobs and animates open/closed; toggling it touches no control value or
|
||||
// bridge push. The lava-lamp button's filled/outline glyph is driven off this same flag.
|
||||
// Lava-lamp knob-band visibility. Pure presentation over MixVisualizerControlState — gates whether
|
||||
// the seven-knob MixVisualizerControls is rendered into the TopContent band; toggling it touches no
|
||||
// control value or bridge push. The lava-lamp button's filled/outline glyph is driven off this flag.
|
||||
private bool _controlsExpanded;
|
||||
|
||||
private void ToggleSettings() => _controlsExpanded = !_controlsExpanded;
|
||||
|
||||
Reference in New Issue
Block a user