Implements Issue #316: Conduct a comprehensive mobile responsiveness audit and fix all issues across the frontend.
- 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
- 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)
- Clone branch
feature/issue-316-mobile-responsive-audit cd frontend && npm install- Configure
.envfrom.env.example npm run devand test on mobile viewports (e.g., using Chrome DevTools Device Mode)
Closes #205
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:
-
Frontend Lint Job (
ci.ymlline ~86): AddESLINT_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'
-
Bundle Analysis Job (
ci.ymlline ~107): Changenpm run analyzetonpm run buildsince 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