-
Couldn't load subscription status.
- Fork 4k
Fix jump when clicking tabs #3746
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix jump when clicking tabs #3746
Conversation
⚠️ No Changeset found
Latest commit: 23fa5e6
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes an issue where clicking on tabs causes an unwanted page jump. The solution prevents unnecessary scrolling by tracking previous hash/pathname values and only scrolling when there are actual changes. Additionally, it prevents Next.js router from auto-scrolling when tabs are clicked.
Key changes:
- Added a
usePrevioushook to track previous values of hash and pathname - Modified scroll behavior to only trigger when hash or pathname actually changes
- Disabled automatic scroll behavior in the Next.js router when replacing tab URLs
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
packages/gitbook/src/components/hooks/usePrevious.ts |
New hook to track previous render values |
packages/gitbook/src/components/hooks/useScrollPage.ts |
Updated scroll logic to compare previous/current values and avoid unnecessary scrolling |
packages/gitbook/src/components/DocumentView/Tabs/DynamicTabs.tsx |
Disabled router scroll behavior when changing tabs and added scroll-margin to tab panels |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
No description provided.