diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs index 13cb7d2..9acf74b 100644 --- a/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs @@ -246,13 +246,15 @@ public partial class AudioPlayerBar : ComponentBase, IAsyncDisposable } // For the docked player: we observe in BOTH expanded and minimized states - // so --player-height always reflects the live height of whichever element - // is visible. This keeps the WaveformVisualizer clipped to the top of - // the footer in both states (fix ยง1). + // so --player-height stays non-zero and always reflects the live height of + // whichever element is visible. The var's sole live consumer is the + // player-spacer's .expanded height (keeps the spacer sized correctly across + // breakpoints and banner reflows). // expanded โ†’ observe _playerRoot (full player bar, reflows across breakpoints) // minimized โ†’ observe _miniDock (floating FAB container, ~56โ€“60px) - // The player-spacer's .minimized class uses a hardcoded height and ignores - // the var, so publishing the FAB height here does not regress the spacer. + // The player-spacer's .minimized class uses a hardcoded 60px and ignores + // the var, so observing in minimized state is belt-and-braces; it does not + // regress the spacer. var elementToObserve = _isMinimized ? _miniDock : _playerRoot; var alreadyOnThisElement = _spacerObserved && elementToObserve.Id == _lastObservedElement.Id;