Skip to content

feat: add glassmorphism navbar with theme support#260

Open
Kartikey-Pathak wants to merge 1 commit into
GitMetricsLab:mainfrom
Kartikey-Pathak:feature/glass-navbar-ui
Open

feat: add glassmorphism navbar with theme support#260
Kartikey-Pathak wants to merge 1 commit into
GitMetricsLab:mainfrom
Kartikey-Pathak:feature/glass-navbar-ui

Conversation

@Kartikey-Pathak
Copy link
Copy Markdown

@Kartikey-Pathak Kartikey-Pathak commented May 15, 2026

Related Issue


Description

This PR enhances the Navbar UI by introducing a modern glassmorphism effect with proper support for both light and dark themes.

Previously, the navbar had a flat background which did not visually integrate well with the overall UI design system.

This update improves visual depth, consistency, and modern UI aesthetics while ensuring readability is maintained across all themes.

No functional logic has been changed.


How Has This Been Tested?

Verified in light mode ☀️
Verified in dark mode 🌙
Checked responsiveness on different screen sizes
Ensured navbar content remains readable over all backgrounds
Tested across multiple routes/pages


Screenshots (if applicable)

Screenshot 2026-05-15 171134

Type of Change

  • New feature
  • Code style update

Summary by CodeRabbit

Release Notes

  • Style
    • Enhanced dark mode support with improved background styling throughout the app
    • Updated navigation bar with semi-transparent backgrounds and visual blur effects for better depth
    • Refined navigation link styling with smooth border transitions and hover effects
    • Improved mobile menu icon animations and button styling consistency

Review Change Stack

@netlify
Copy link
Copy Markdown

netlify Bot commented May 15, 2026

Deploy Preview for github-spy ready!

Name Link
🔨 Latest commit f4d9c80
🔍 Latest deploy log https://app.netlify.com/projects/github-spy/deploys/6a0706c43d90d30008979552
😎 Deploy Preview https://deploy-preview-260--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.

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.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 15, 2026

📝 Walkthrough

Walkthrough

This PR enhances the application's visual styling by introducing a glassmorphism effect to the navbar and ensuring consistent dark mode theming. The navbar receives semi-transparent backgrounds with backdrop blur, navigation links are restyled with pill-rounded borders, and the App root gains explicit dark mode background support.

Changes

UI Styling Enhancements

Layer / File(s) Summary
Navbar glassmorphism and styling
src/components/Navbar.tsx
Top-level nav container is updated with semi-transparent light/dark backgrounds and backdrop blur effect. Desktop navigation links and theme toggle button are restyled with pill-rounded shapes, borders, and hover-state transitions. Mobile hamburger bar styling is reformatted while preserving open/close animations.
App root dark mode background
src/App.tsx
Root wrapper div gains dark:bg-gray-800 Tailwind class to ensure consistent dark mode theming with the navbar updates.

Possibly related PRs

Suggested labels

gssoc25, level1

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Glass-like nav with blur so fine,
Dark backgrounds in perfect line,
Pills and borders, styled just right,
Navbar glows through day and night! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely describes the main change: adding glassmorphism styling to the navbar with theme support, which aligns with the primary modifications in both App.tsx and Navbar.tsx.
Description check ✅ Passed The description follows the template with all required sections completed: Related Issue (#257), Description, How Has This Been Tested, Screenshots, and Type of Change selection.
Linked Issues check ✅ Passed The code changes fully implement issue #257 requirements: semi-transparent navbar with backdrop blur (Navbar.tsx), light border styling, dark mode support via dark: classes (App.tsx), and maintained readability without functional logic changes.
Out of Scope Changes check ✅ Passed All changes are directly scoped to issue #257 objectives: App.tsx adds dark-mode background class, Navbar.tsx implements glassmorphism styling with border and backdrop blur effects, with no unrelated modifications.

✏️ 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
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: 1

🤖 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 33-57: The nav Link and button hover color (currently using
hover:text-gray-300) is too low-contrast on the light glass navbar; update those
classNames in the Navbar component (the Link elements for Home, Tracker,
Contributors, Login and the toggleTheme button) to use theme-aware hover classes
such as hover:text-gray-700 dark:hover:text-gray-300 (or equivalent light/dark
explicit classes) so the hover color is dark on light backgrounds and stays
light in dark mode; ensure you update every occurrence of hover:text-gray-300 in
those elements to the new paired classes.
🪄 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: 63d626db-5614-4ed8-a1b4-51860f4e9d39

📥 Commits

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

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

Comment thread src/components/Navbar.tsx
Comment on lines +33 to +57
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Home
</Link>
<Link
to="/track"
className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded"
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Tracker
</Link>
<Link
to="/contributors"
className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded"
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Contributors
</Link>
<Link
to="/login"
className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded"
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Login
</Link>
<button
onClick={toggleTheme}
className="text-sm font-semibold px-3 py-1 rounded border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200"
className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Improve light-mode hover contrast for nav actions.

On Line 33, Line 39, Line 45, Line 51, and Line 57, hover:text-gray-300 becomes too faint against the light glass navbar (bg-white/50), reducing readability on hover. Use theme-aware hover colors.

Suggested fix
- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"

- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"

- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"

- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"

- className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200"
+ className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 transition duration-200"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Home
</Link>
<Link
to="/track"
className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded"
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Tracker
</Link>
<Link
to="/contributors"
className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded"
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Contributors
</Link>
<Link
to="/login"
className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded"
className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Login
</Link>
<button
onClick={toggleTheme}
className="text-sm font-semibold px-3 py-1 rounded border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200"
className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200"
className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Home
</Link>
<Link
to="/track"
className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Tracker
</Link>
<Link
to="/contributors"
className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Contributors
</Link>
<Link
to="/login"
className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
>
Login
</Link>
<button
onClick={toggleTheme}
className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 transition duration-200"
🤖 Prompt for 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.

In `@src/components/Navbar.tsx` around lines 33 - 57, The nav Link and button
hover color (currently using hover:text-gray-300) is too low-contrast on the
light glass navbar; update those classNames in the Navbar component (the Link
elements for Home, Tracker, Contributors, Login and the toggleTheme button) to
use theme-aware hover classes such as hover:text-gray-700
dark:hover:text-gray-300 (or equivalent light/dark explicit classes) so the
hover color is dark on light backgrounds and stays light in dark mode; ensure
you update every occurrence of hover:text-gray-300 in those elements to the new
paired classes.

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.

UI Enhancement: Add Glassmorphism Effect to Navbar

1 participant