Skip to content

feat: create header component with navigation #53

@nullcoder

Description

@nullcoder

Create the main header component for GhostPaste with navigation and branding.

Requirements

Branding & Logo

  • GhostPaste logo/text on the left (ghost emoji 👻 + "GhostPaste" text)
  • Logo links to home page (/)
  • Use consistent font and sizing from design system

Navigation Items

Theme Toggle

Mobile Responsiveness

  • Hamburger menu for screens < 768px
  • Slide-out navigation drawer
  • Close on outside click or escape key
  • Smooth animations

Sticky Behavior

  • Header becomes sticky on scroll
  • Optional: Add subtle shadow when scrolled
  • Ensure z-index properly layers over content

Accessibility

  • Proper ARIA labels for navigation
  • Skip to main content link
  • Keyboard navigation support
  • Focus management for mobile menu

Implementation Notes

// Use shadcn/ui components
import { NavigationMenu } from "@/components/ui/navigation-menu"
import { Sheet } from "@/components/ui/sheet" // for mobile drawer
import { ThemeToggle } from "@/components/theme-toggle"

Acceptance Criteria

  • Header displays GhostPaste branding with ghost emoji
  • Navigation links work correctly
  • Theme toggle integrated and functional
  • Mobile hamburger menu opens/closes smoothly
  • Sticky header on scroll with proper z-index
  • Keyboard navigation fully supported
  • ARIA labels and accessibility features implemented
  • Skip to main content link included
  • Tested on multiple screen sizes

Technical Notes

  • Use Next.js Link component for client-side navigation
  • Implement with shadcn/ui NavigationMenu for desktop
  • Use Sheet component for mobile drawer
  • Support both light and dark themes
  • Consider using CSS sticky positioning with fallback
  • Test on actual mobile devices, not just browser DevTools

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature implementationpriority: highShould be done soonuiUser interface and components

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions