-
Notifications
You must be signed in to change notification settings - Fork 0
Modernize Biviant web app UI with new design system #10
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
Merged
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
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.
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.
🧩 Analysis chain
🌐 Web query:
TanStack Router useMatchRoute vs useRouterState pathname for active link styling💡 Result:
For active link styling in TanStack Router, prefer the built-in Link component's activeProps and activeOptions over manual hooks. useMatchRoute is the recommended hook for custom logic or non-Link elements, while useRouterState({ select: (s) => s.location.pathname }) provides raw pathname access but lacks route-aware matching. useMatchRoute matches the current (or pending) location against a route pattern, returning params or false. It's ideal for complex matching like fuzzy parent/child routes or specific params. Example with useMatchRoute for custom nav: const matchRoute = useMatchRoute; const isActive = !!matchRoute({ to: '/dashboard', fuzzy: true }); useRouterState pathname is simpler but requires manual string comparison (e.g., startsWith), missing type safety, params, search/hash options, and fuzzy matching. Link handles matching internally (prefix by default, configurable via activeOptions={exact: true, etc.}), applying activeProps or data-status='active'. <Link to='/posts' activeProps={{ className: 'active' }} activeOptions={{ exact: true }}> Posts Use hooks only for custom components needing granular control (e.g., different icon/text styles). Link suffices for most cases, being optimized and typesafe.
Citations:
🏁 Script executed:
Repository: flvvius/news
Length of output: 91
🏁 Script executed:
Repository: flvvius/news
Length of output: 110
🏁 Script executed:
Repository: flvvius/news
Length of output: 114
🏁 Script executed:
# Examine header.tsx to see the code at lines 40 and 84 wc -l apps/web/src/components/header.tsxRepository: flvvius/news
Length of output: 95
🏁 Script executed:
Repository: flvvius/news
Length of output: 4988
🏁 Script executed:
Repository: flvvius/news
Length of output: 2069
🏁 Script executed:
# Check the route definitions in routeTree.gen.ts cat apps/web/src/routeTree.gen.tsRepository: flvvius/news
Length of output: 5737
🏁 Script executed:
Repository: flvvius/news
Length of output: 110
🏁 Script executed:
Repository: flvvius/news
Length of output: 320
🏁 Script executed:
# Verify the current routes to understand if there could be conflicts ls -la apps/web/src/routes/Repository: flvvius/news
Length of output: 664
startsWith(to)can over-match future sibling routes.currentPath.startsWith("/feed")would also activate for a hypothetical/feedback. Today's routes don't conflict, but the safer pattern iscurrentPath === to || currentPath.startsWith(${to}/), which only matches the exact route or its descendants. The same expression is duplicated for desktop and mobile nav, so extracting it into a helper avoids drift.Alternatively, use TanStack Router's Link component with
activeOptions={{ exact: true }}oruseMatchRoute()for custom active-state logic, both of which handle route matching idiomatically.Proposed fix
Or extract as a helper:
Also applies to: 84-84
🤖 Prompt for AI Agents