Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 1.95 KB

File metadata and controls

51 lines (38 loc) · 1.95 KB

Description

Implements Issue #316: Conduct a comprehensive mobile responsiveness audit and fix all issues across the frontend.

Features

  • Added a mobile-friendly hamburger menu for seamless navigation on small screens
  • Refactored the dashboard and landing page grids to use responsive column stacking
  • Optimized the milestone creation form with mobile-first flexbox layouts
  • Ensured touch targets are appropriately sized and action buttons span the full width on mobile devices
  • Made the Dispute modal and Explorer filters properly wrapped to prevent horizontal overflow

Tech Stack

  • Next.js and React
  • Tailwind CSS for mobile-first utility classes and responsive breakpoints
  • Vanilla React state for the mobile menu toggle logic
  • Responsive flexbox and CSS grids (flex-col sm:flex-row, grid-cols-1 sm:grid-cols-3)

Testing

  1. Clone branch feature/issue-316-mobile-responsive-audit
  2. cd frontend && npm install
  3. Configure .env from .env.example
  4. npm run dev and test on mobile viewports (e.g., using Chrome DevTools Device Mode)

Closes #205

⚠️ CI Workflow Action Required

Because of GitHub token workflow scope restrictions, I could not include the updates to .github/workflows/ci.yml in this PR directly. Please manually apply these two fixes to .github/workflows/ci.yml before merging so that the CI passes:

  1. Frontend Lint Job (ci.yml line ~86): Add ESLINT_USE_FLAT_CONFIG: 'false' to the env vars to prevent Next.js 14 and ESLint 9 conflict.

    - name: Lint
      run: cd frontend && npm run lint
      env:
        NEXT_PUBLIC_API_URL: http://localhost:3001
        ESLINT_USE_FLAT_CONFIG: 'false'
  2. Bundle Analysis Job (ci.yml line ~107): Change npm run analyze to npm run build since the bundle analyzer plugin is not installed.

    - name: Build with bundle analyzer
      run: cd frontend && npm run build
      env:
        NEXT_PUBLIC_API_URL: http://localhost:3001