Skip to content

Improve Navbar UI/UX of the Website#237

Merged
mehul-m-prajapati merged 4 commits into
GitMetricsLab:mainfrom
yuvraj-k-singh:main
May 17, 2026
Merged

Improve Navbar UI/UX of the Website#237
mehul-m-prajapati merged 4 commits into
GitMetricsLab:mainfrom
yuvraj-k-singh:main

Conversation

@yuvraj-k-singh
Copy link
Copy Markdown
Contributor

@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
  • Improvements

    • Enhanced desktop navigation with active-link styling
    • Updated mobile menu to an animated drawer layout
    • Refreshed mobile navigation options; removed "About" and "Contact"
    • Replaced hamburger/X icons and updated theme toggle visuals
    • Mobile links now close the drawer when selected

Review Change Stack

@netlify
Copy link
Copy Markdown

netlify Bot commented May 14, 2026

Deploy Preview for github-spy ready!

Name Link
🔨 Latest commit 576536f
🔍 Latest deploy log https://app.netlify.com/projects/github-spy/deploys/6a09689f6a2eb00008e91551
😎 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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ba7b2405-1a77-45de-8c09-5a89742f8fe6

📥 Commits

Reviewing files that changed from the base of the PR and between e689afa and 576536f.

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

📝 Walkthrough

Walkthrough

Navbar was refactored to use NavLink with active-state styling, updated header actions and lucide-react icons, and replaced the conditional mobile menu with an always-rendered animated drawer plus a MobileNavLink helper.

Changes

Navbar NavLink & Mobile Drawer

Layer / File(s) Summary
Imports and navLinkStyles helper
src/components/Navbar.tsx
Uses NavLink/Link, adds lucide-react icons, preserves ThemeContext guard, destructures toggleTheme/mode, and defines navLinkStyles based on isActive.
Desktop layout, NavLinks and right actions
src/components/Navbar.tsx
Desktop nav now renders NavLink for Home, Tracker, Contributors with active styling; right-side shows theme toggle, Login link, and Sign Up button with UserPlus icon.
Mobile drawer panel and links
src/components/Navbar.tsx
Mobile menu is always rendered as an animated drawer (visibility via max-height/opacity/invisible); links updated to Home, Tracker, Contributors, Login, Sign Up; hamburger/X icons replaced.
MobileNavLink helper
src/components/Navbar.tsx
Adds MobileNavLink that wraps NavLink with mobile classes and calls an onClick to close the drawer; export default Navbar unchanged.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

  • #261: Both modify Navbar styling and active-item highlighting; this PR's NavLink changes overlap with that issue.
  • #201: Both target Navbar styling, link layout, and transitions relevant to the navLinkStyles and mobile link updates.

Possibly related PRs

Suggested labels

gssoc25

Poem

🐰 A hop, a click — NavLinks glow so bright,
Drawer unfurls under soft mobile light.
Theme icons shimmer, sign-up wears a plus,
Links close the panel with a tidy fuss.
Cheers from this rabbit — your navbar’s just right!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change—improving Navbar UI/UX—and is concise and clear, reflecting the primary objective of the pull request.
Description check ✅ Passed The description follows the template with all major sections completed: Related Issue, Description, How Has This Been Tested, Screenshots, and Type of Change. Content is thorough and provides good context.
Linked Issues check ✅ Passed Code changes align well with issue #220 objectives: responsive design improvements, active link highlighting (navLinkStyles), updated styling/visual consistency, mobile optimization (MobileNavLink helper), and accessibility enhancements are all addressed.
Out of Scope Changes check ✅ Passed All changes are directly related to navbar improvements specified in #220. Navigation link updates, styling refinements, mobile/desktop optimizations, and theme toggle adjustments are all within scope.
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

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
Contributor 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.

@mehul-m-prajapati
Copy link
Copy Markdown
Collaborator

@yuvraj-k-singh : remove Features menu as it is not required

Signed-off-by: yuvraj-k-singh <yuvrajstudentbussiness@gmail.com>
@yuvraj-k-singh
Copy link
Copy Markdown
Contributor Author

@mehul-m-prajapati

image

I wanted to let you know that I have completed the navbar updates. The 'Features' section and its corresponding URL hash-scrolling logic have been completely removed from both the desktop and mobile views.

@mehul-m-prajapati mehul-m-prajapati merged commit a2452b3 into GitMetricsLab:main May 17, 2026
6 checks passed
@github-actions
Copy link
Copy Markdown

🎉🎉 Thank you for your contribution! Your PR #237 has been merged! 🎉🎉

@yuvraj-k-singh
Copy link
Copy Markdown
Contributor Author

@mehul-m-prajapati

Sir please accept my request on linkedin, I want to connect with you.

My profile link - https://www.linkedin.com/in/yuvraj-kumar-singh?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🚀 Feature: Improve Navbar UI/UX of the Website

2 participants