Skip to content

feat: add hamburger menu for mobile navigation#28

Merged
rupurt merged 2 commits intomainfrom
mobile-improvements
Dec 27, 2025
Merged

feat: add hamburger menu for mobile navigation#28
rupurt merged 2 commits intomainfrom
mobile-improvements

Conversation

@rupurt
Copy link
Copy Markdown
Contributor

@rupurt rupurt commented Dec 27, 2025

Summary

  • Add hamburger menu for mobile viewports (< 768px) with full-screen overlay
  • Create animated hamburger-to-X button with CSS transitions
  • Extract shared navLinks configuration for desktop and mobile consistency
  • Keep "Let's Talk" CTA visible outside menu on mobile for easy access
  • Add stagger animation for menu links on open

Test Plan

  • All 156 unit tests passing (pnpm test)
  • All 54 E2E tests passing (pnpm e2e)
  • TypeScript and lint checks pass (just check)
  • Visual review in Ladle at mobile viewport
  • Manual test on actual mobile device

- Create MobileMenuButton with animated hamburger-to-X transition
- Create MobileMenu full-screen overlay with stagger animation
- Extract shared navLinks configuration for consistency
- Update Navbar to show hamburger on mobile, full nav on desktop
- Keep "Let's Talk" CTA visible outside menu on mobile
- Add E2E tests for mobile navigation flows
- Update existing tests for new responsive behavior
Copilot AI review requested due to automatic review settings December 27, 2025 22:10
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR implements a hamburger menu for mobile navigation to address cramped mobile experiences. The implementation includes an animated hamburger-to-X button, a full-screen mobile menu overlay, and shared navigation configuration for consistency between desktop and mobile views.

Key changes:

  • Creates a responsive navigation system with hamburger menu for viewports < 768px
  • Implements animated menu button and staggered link animations for enhanced UX
  • Extracts shared navLinks configuration to ensure consistency across navigation contexts

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/components/navigation/navLinks.ts Shared navigation configuration with link data and CTA definition
src/components/navigation/index.ts Exports new navigation utilities for external consumption
src/components/navigation/Navbar.tsx Refactored to support responsive navigation with mobile menu state management
src/components/navigation/MobileMenuButton.tsx Animated hamburger button component with accessibility features
src/components/navigation/MobileMenuButton.test.tsx Unit tests for hamburger button behavior and interactions
src/components/navigation/MobileMenu.tsx Full-screen mobile menu overlay with keyboard and scroll handling
src/components/navigation/MobileMenu.test.tsx Unit tests for mobile menu functionality
e2e/products.spec.ts Updated to set desktop viewport for navbar link visibility
e2e/mobile-navigation.spec.ts Comprehensive E2E tests for mobile and desktop navigation flows
docs/plans/10-mobile-navigation/implementation.md Implementation plan with tasks and verification checklist
docs/plans/10-mobile-navigation/design.md Design documentation covering decisions and specifications

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

'font-heading text-2xl font-medium uppercase tracking-wide text-muted-foreground transition-colors hover:text-foreground',
'animate-in fade-in slide-in-from-top-4 duration-200',
)}
style={{ animationDelay: `${index * 50}ms`, animationFillMode: 'backwards' }}
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

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

The magic number 50 for animation delay is hardcoded. Consider extracting this as a named constant (e.g., STAGGER_DELAY_MS = 50) at the top of the file to improve maintainability and make it easier to adjust the animation timing.

Copilot uses AI. Check for mistakes.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
vibes-website de5ddb2 Commit Preview URL

Branch Preview URL
Dec 27 2025, 10:11 PM

@rupurt rupurt merged commit dabc123 into main Dec 27, 2025
3 checks passed
@rupurt rupurt deleted the mobile-improvements branch December 27, 2025 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants