Skip to content

Improve Navbar UI/UX of the Website#237

Open
yuvraj-k-singh wants to merge 3 commits into
GitMetricsLab:mainfrom
yuvraj-k-singh:main
Open

Improve Navbar UI/UX of the Website#237
yuvraj-k-singh wants to merge 3 commits into
GitMetricsLab:mainfrom
yuvraj-k-singh:main

Conversation

@yuvraj-k-singh
Copy link
Copy Markdown

@yuvraj-k-singh yuvraj-k-singh commented May 14, 2026

Related Issue


Description

I have updated the top menu (navbar) to make the website look more professional and easier to use. Here is what I did:

  • New Look: I made the menu look cleaner and "frosted" so it stands out nicely.

  • Logo and Name: I put back the CRL icon and made the "GitHub Tracker" name two colors so it looks sharp.

  • Sign Up Button: I added a blue "Sign Up" button so new users can join easily.

  • Better Scrolling: Now, when you click "Features," the page smoothly slides down to the features section.

  • Clearer Menus: I made it obvious which page you are currently on by adding a soft blue highlight.

  • Phone Friendly: I made sure the menu looks great and works perfectly on mobile phones.


How Has This Been Tested?

  • On my computer: I checked all the buttons and links to make sure they work.

  • On a phone: I tested the menu on different screen sizes to ensure it's easy to tap.

  • Scrolling: I made sure the "Features" link scrolls correctly even if you start from a different page.

  • Day & Night: I checked both light and dark modes to make sure everything is easy to read.


Screenshots (if applicable)

Before:
image

After:
image


Type of Change

  • Bug fix
  • New feature (added something new)
  • Code style update (made things look better)
  • Breaking change
  • Documentation update

Summary by CodeRabbit

  • New Features

    • Added "Sign Up" and "Login" links to navigation
    • Smooth scrolling to Features section from navbar
  • Improvements

    • Enhanced desktop navigation with active link styling
    • Updated mobile menu to animated drawer layout
    • Refreshed mobile navigation options and theme toggle icons
    • Removed "About" and "Contact" mobile links

Review Change Stack

@netlify
Copy link
Copy Markdown

netlify Bot commented May 14, 2026

Deploy Preview for github-spy ready!

Name Link
🔨 Latest commit 37e7389
🔍 Latest deploy log https://app.netlify.com/projects/github-spy/deploys/6a061fde0d8c1900080695a1
😎 Deploy Preview https://deploy-preview-237--github-spy.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 14, 2026

Warning

Rate limit exceeded

@yuvraj-k-singh has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 42 minutes and 20 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5066860e-3988-4e3e-b0f2-b4064c5369df

📥 Commits

Reviewing files that changed from the base of the PR and between e689afa and 37e7389.

📒 Files selected for processing (1)
  • src/components/Navbar.tsx
📝 Walkthrough

Walkthrough

The Navbar component is refactored to use React Router hooks for active link highlighting and route-aware navigation, introduces a smooth-scroll handler for the features section, transitions mobile menu rendering to an animated drawer, and updates navigation links with new auth options.

Changes

Navbar Router Integration and Mobile Redesign

Layer / File(s) Summary
Router integration and navigation helpers
src/components/Navbar.tsx
Imports updated to NavLink, useLocation, and useNavigate; scrollToFeatures handler added to navigate to home and scroll the features section on a delay, or scroll directly if already home; navLinkStyles utility computes active/inactive class strings.
Desktop navigation UI
src/components/Navbar.tsx
Desktop navbar refactored with NavLink-driven navigation links (Home, Tracker, Contributors); Features rendered as an anchor triggering scrollToFeatures; right-side actions include theme toggle, Login, and Sign Up links with icons.
Mobile menu drawer and components
src/components/Navbar.tsx
Mobile menu replaced from conditional rendering to an always-rendered animated drawer; mobile header includes hamburger toggle and theme button; mobile navigation links updated with Home, Features, Tracker, Contributors, Login, and Sign Up; new MobileNavLink helper component wraps NavLink with mobile-specific styling and auto-closes the drawer on click.
Module export
src/components/Navbar.tsx
Default export of Navbar component.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

gssoc25, level2

Poem

🐰 A navbar takes wing with RouterDom's grace,
NavLinks glow bright when you visit their place!
Mobile drawers dance, smooth scrolls twirl with care,
From home to features, floating through air.
Sign-up and login, now shiny and neat,
This UI refresh is both modern and sweet! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: updating the navbar for improved UI/UX, which is the core focus of the changeset.
Description check ✅ Passed The description follows the template with all major sections completed: related issue, detailed description, testing methodology, screenshots, and type of change selection.
Linked Issues check ✅ Passed All key requirements from issue #220 are met: responsive mobile UI, active link highlighting via NavLink, smooth scrolling for Features, improved spacing/alignment, and modern visual styling with Sign Up button.
Out of Scope Changes check ✅ Passed All code changes are directly aligned with navbar improvements specified in issue #220; no unrelated modifications detected in the Navbar.tsx file.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/Navbar.tsx`:
- Around line 84-114: The theme and menu icon-only buttons in Navbar.tsx lack
accessible names and state; update the theme toggle (toggleTheme) button to
include an explicit accessible name (e.g., aria-label="Toggle theme" or a
visually hidden <span>) and a pressed/state hint if desired (aria-pressed or
role="switch"), and update the menu toggle button (which calls setIsOpen and
reads isOpen) to include aria-expanded={isOpen} and aria-controls pointing to
the mobile menu container ID plus an explicit aria-label (e.g.,
aria-label="Toggle navigation menu"); ensure the mobile menu element has a
matching id so screen readers can correlate the control with the collapsible
content.
- Around line 120-144: The mobile drawer is hidden visually but still
keyboard-focusable when isOpen is false; update the drawer container and its
interactive children so they are ignored by assistive tech and keyboard
navigation when closed: add aria-hidden={!isOpen} to the wrapping div, and set
tabIndex={isOpen ? 0 : -1} (or pass a focusable prop) on each interactive
element (MobileNavLink instances, the Features button that calls
scrollToFeatures, and the Link components for Login/Sign Up) so they cannot
receive focus when closed; ensure you still call setIsOpen(false) on each click
and optionally move focus to the hamburger control when closing.
- Around line 16-27: The timeout-based scroll in scrollToFeatures is flaky;
instead have scrollToFeatures call navigate("/", { replace: false, state:
undefined, hash: "#features" }) (or navigate("/#features")) when not on "/" and
directly call element.scrollIntoView({ behavior: "smooth" }) when on "/" , then
remove the setTimeout; add a useEffect in the Navbar component that watches
location.hash (from useLocation()) and when location.hash === "#features" finds
document.getElementById("features") and calls scrollIntoView({ behavior:
"smooth" }) so navigation-driven hashes trigger a reliable scroll after route
changes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7752bd36-37ed-4724-8e3e-1d8fd8bec549

📥 Commits

Reviewing files that changed from the base of the PR and between 56e17a3 and e689afa.

📒 Files selected for processing (1)
  • src/components/Navbar.tsx

Comment thread src/components/Navbar.tsx Outdated
Comment thread src/components/Navbar.tsx
Comment thread src/components/Navbar.tsx Outdated
Copy link
Copy Markdown
Author

@yuvraj-k-singh yuvraj-k-singh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All changes made, Please check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🚀 Feature: Improve Navbar UI/UX of the Website

1 participant