fix: prevent anchor links from navigating away from HIP detail view - #1431
Merged
Conversation
Clicking TOC links or in-body anchor links (e.g. [Motivation](#motivation)) on a HIP detail page would change location.hash, triggering handleRoute which didn't recognize the anchor hash and fell through to show the list view. Fix by intercepting these clicks and using scrollIntoView instead of hash navigation. Signed-off-by: Michael Garber <michael.garber@hashgraph.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
[Motivation](#motivation)) on HIP detail pages navigating back to the HIPs list instead of scrolling to the target sectionRoot Cause
The site uses hash-based routing (
#hip-123,#about, etc.) with ahashchangelistener that callshandleRoute(). When a TOC or in-body anchor link like#motivationis clicked, it changeslocation.hash, which triggershandleRoute. Since#motivationdoesn't match any known route pattern (#hip-*,#about,#create), it falls through to the default case which shows the list view — navigating the user away from the HIP they were reading.Fix
Intercept clicks on both TOC links and in-body anchor links with
preventDefault(), then usescrollIntoView({ behavior: 'smooth' })to scroll to the target heading without changing the hash or triggering the router.Test plan
🤖 Generated with Claude Code