Skip to content

Fix mobile responsiveness across all pages#2847

Merged
lifeart merged 2 commits into
masterfrom
fix/mobile-responsiveness
Mar 10, 2026
Merged

Fix mobile responsiveness across all pages#2847
lifeart merged 2 commits into
masterfrom
fix/mobile-responsiveness

Conversation

@lifeart
Copy link
Copy Markdown
Collaborator

@lifeart lifeart commented Mar 10, 2026

Summary

  • Fix horizontal overflow and broken layouts on screens < 375px (iPhone SE) across 23 files
  • Replace hardcoded widths (1000px chart, 1200px modal, 410px cards, 320px SVG) with fluid/responsive alternatives using min(), max-width, and responsive Tailwind breakpoints
  • Add responsive grid breakpoints so exercise grids (audiometry, auditory sequence, phoneme pairs, task-player) collapse to fewer columns on mobile
  • Cap data-driven 4-5 column exercise layouts to 2 columns on mobile to prevent image overflow
  • Improve touch targets to 44px WCAG minimum (header language buttons, text-image button landscape)
  • Add intermediate 1024px modal breakpoint, responsive hero text/height, flex-wrap on footer sponsors

Test plan

  • Open Chrome DevTools responsive mode
  • Test at 320px, 375px, 414px, 768px widths
  • Verify no horizontal scroll on any page
  • Check exercise pages (single words, environmental sounds, auditory sequence) — grids should collapse gracefully
  • Verify 404 robot page SVG scales down
  • Verify modal dialogs fit on mobile
  • Check confirm dialog doesn't overflow on narrow screens
  • Verify footer sponsors wrap on narrow screens
  • Check landing page hero text and height are responsive

🤖 Generated with Claude Code

Replace hardcoded widths with fluid/responsive alternatives to prevent
horizontal overflow on screens < 375px, improve touch targets to meet
44px WCAG minimum, and add responsive grid breakpoints for exercise
layouts.

Critical fixes:
- Statistics chart: remove hardcoded 1000px width, auto-size to container
- Modal body: add 1024px intermediate breakpoint (was jumping 1200px→640px)
- Robot 404 SVG: replace fixed 320x300 with max-width:100%/height:auto
- Error page pre: add overflow-x-auto and whitespace-pre-wrap
- Image display block: min-width min(350px, 100%)
- Exercise type card: max-width:410px + width:100% instead of fixed 410px

Layout fixes:
- Responsive avatars/logos on description, specialists, developers, profile
- Overflow-hidden on negative-margin containers
- Confirm dialog: max-w-[calc(100vw-2rem)] on mobile
- Grids collapse to fewer columns on small screens (audiometry, auditory
  sequence, phoneme pairs)
- Footer sponsors: add flex-wrap
- Task player: cap 4-5 column exercises to 2 columns on mobile
- Contributors: add gap-4 for consistent spacing

Touch & polish:
- Text-image button landscape min-height 40px→44px
- Header language buttons: min-h/w 44px touch targets
- Header dropdown: remove white-space:nowrap
- Landing hero: text-2xl sm:text-4xl, max-h-[70vh] sm:max-h-[860px]
- Exercise button: max-width min(168px, 100%)
- Fix pre-existing invalid Tailwind class min-width-10→min-w-10

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Frontend test coverage: 70.66% (+0.03% compared to 70.63% on base)

Mark all external links (target="_blank") in the "other-menu" dropdown
with a small arrow-out-of-box SVG icon positioned at the top-right,
helping users distinguish external from internal navigation links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Frontend test coverage: 70.66% (+0.07% compared to 70.59% on base)

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Gradle Unit and Integration Test Results

523 tests  ±0   521 ✔️ ±0   39s ⏱️ -1s
116 suites ±0       2 💤 ±0 
116 files   ±0       0 ±0 

Results for commit d21569e. ± Comparison against base commit baa2274.

@lifeart lifeart merged commit 7871aeb into master Mar 10, 2026
10 checks passed
@lifeart lifeart deleted the fix/mobile-responsiveness branch March 10, 2026 08:22
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.

1 participant