App: Docs view refactoring by laurensvalk · Pull Request #2368 · pybricks/pybricks-code · GitHub
Skip to content

App: Docs view refactoring#2368

Merged
laurensvalk merged 5 commits into
masterfrom
doc-scroll
Apr 2, 2026
Merged

App: Docs view refactoring#2368
laurensvalk merged 5 commits into
masterfrom
doc-scroll

Conversation

@laurensvalk

@laurensvalk laurensvalk commented Mar 25, 2026

Copy link
Copy Markdown
Member

The iframe automatically scrolled to 0 when CSS display: none is set, so we had several workarounds to keep track of scrolling.

We can keep it in the DOM and hide it instead. This lets us get rid of the workarounds, but keep the position if you open the docs again.


On a related note, I wonder if we really need the active page to persist across a full reload with app/hooks.ts.

Using session storage, mirroring to local storage, and then manage outdated links all seems relatively complicated for something that isn't necessarily practical. The next day, I'd personally rather start from the home page. It also makes things a bit more complicated when navigating to a particular page from an interaction: pybricks/support#1515

Feel free to 👍 or 👎 this suggestion @dlech, otherwise I'd be happy to submit this in the next one.

The iframe automatically scrolled to 0 when CSS `display: none` is set, so we had several workarounds. Hide it instead.
This was very complicated, particularly between versions and tabs and windows, for something that offers only a minor convenience.

This also makes it simpler to navigate to a particular page interactively by just setting the iframe URL, which is useful for interactive help from the block editor.
This was an undocumented feature that gets in the way of other shortcuts, and doesn't extend well to the sideview being used for other things in future commits.
Everything is visually unchanged. This just moves the button logic to the app, since it doesn't conceptually belong to the editor component.

It controls things such as docs which has nothing to do with the editor. This way we don't have to pass states as props around when we add more buttons later.
@laurensvalk

laurensvalk commented Mar 30, 2026

Copy link
Copy Markdown
Member Author

@laurensvalk laurensvalk changed the title App: Drop hacks that preserved docs scroll. App: Docs view refactoring Mar 30, 2026
Having this persist across sessions is not necessary and a bit overly complicated when we add more sideview states such as camera (which should not stay on by default).
@laurensvalk laurensvalk merged commit 38a7123 into master Apr 2, 2026
2 checks passed
@laurensvalk laurensvalk deleted the doc-scroll branch April 2, 2026 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant