Anchor control panel and track list panel to visible bounds - #67
Merged
Conversation
Previously, ControlPanel and TrackListPanel were positioned using the static layoutBounds, so they would not follow the visible screen edge when the browser window was larger than the default layout size. Move controlPanel positioning into the visibleBoundsProperty.link() callback alongside all other edge-anchored elements, using visibleBounds.minX and visibleBounds.minY. Because TrackListPanel already re-positions itself reactively via controlPanel.boundsProperty, it inherits the correct position automatically. Also fix the initialPanelPos computation: since controlPanel.left is now set inside the deferred link callback, reading controlPanel.right before that fires would yield a stale value, so compute the x offset directly from layoutBounds + CONTROL_PANEL_LEFT_MARGIN + controlPanel.width. https://claude.ai/code/session_01Uvtq2RdaEMJbfUV3ER2GMh
The video player node's vertical position is now driven by visibleBoundsProperty.link() (using visibleBounds.minY + SCREEN_TOP_MARGIN), matching the strategy already used for the control panel and track list panel. This ensures the video always hugs the visible top edge when the browser window is taller than the default layout bounds. The panelPositionProperty link now only sets the horizontal (left) position, since the top is fully managed by the visible-bounds listener. https://claude.ai/code/session_01Uvtq2RdaEMJbfUV3ER2GMh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously, ControlPanel and TrackListPanel were positioned using the
static layoutBounds, so they would not follow the visible screen edge
when the browser window was larger than the default layout size.
Move controlPanel positioning into the visibleBoundsProperty.link()
callback alongside all other edge-anchored elements, using
visibleBounds.minX and visibleBounds.minY. Because TrackListPanel
already re-positions itself reactively via controlPanel.boundsProperty,
it inherits the correct position automatically.
Also fix the initialPanelPos computation: since controlPanel.left is
now set inside the deferred link callback, reading controlPanel.right
before that fires would yield a stale value, so compute the x offset
directly from layoutBounds + CONTROL_PANEL_LEFT_MARGIN + controlPanel.width.
https://claude.ai/code/session_01Uvtq2RdaEMJbfUV3ER2GMh