fix(nav-list): current prop calculation for nav-list #91
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.
Description
Changed current prop from
currentItem?.href === item.href
toactiveUrl === item.href
to simplify navigation state logic and ensure current item highlighting is based on the actual active URL rather than the locally tracked currentItem state. ThecurrentItem
is a state and only gets updated for thedetails
elementonToggle
event. Which assure that we will not have the updatedactiveItem
in thecurrentItem
Type of change
activeUrl
instead ofcurrentItem?.href
for active item calculationTesting
Click on a sidebar item that doesn't have nested items it will not become active. With the change it will solve the issue
We could also add an
useEffect
to update thecurrentItem
using the updatedactiveItem
. But in the nested sidebar item it is clear that we are usingactiveUrl
directly for calculatingcurrent
prop. Also from the implementation I feel the use ofcurrentItem
is to decide which item is collapsed or expanded.