Skip to content

fix(mobile): prevent widget overflow and overlap on screens < 375px (#975)#2539

Closed
Meera2906 wants to merge 1 commit into
Umbrella-io:mainfrom
Meera2906:fix/mobile-widget-overflow-975
Closed

fix(mobile): prevent widget overflow and overlap on screens < 375px (#975)#2539
Meera2906 wants to merge 1 commit into
Umbrella-io:mainfrom
Meera2906:fix/mobile-widget-overflow-975

Conversation

@Meera2906

Copy link
Copy Markdown
Contributor

Summary

Fixes #975 — dashboard widgets overflowing and overlapping on viewports narrower than 375px (e.g. iPhone SE 1st gen at 320px).

Root Causes Fixed

File Problem Fix
DashboardHeader.tsx pr-12 offset + absolute hamburger caused left-section content to be pushed off-screen Removed padding reservation; hid redundant hamburger (action bar already scrolls via overflow-x-auto)
StreakTracker.tsx text-2xl stat values overflowed 2-column grid at 320px Reduced to text-lg + break-all; tightened card padding
PRMetrics.tsx text-2xl metric values clipped in narrow stat cards Reduced to text-xl
ContributionHeatmap.tsx sm:flex-row header caused title+controls to fight for space Switched to always-vertical stack with wrapping controls
AccountToggle.tsx text-sm px-3 py-2 buttons too wide for 320px wrap layout Reduced to text-xs px-2.5 py-1.5 + max-w + truncate

Testing

  • Verified at 320px, 375px, and 390px in Chrome DevTools
  • No visual regressions at sm: (640px) and above
  • All existing Playwright e2e tests continue to pass (npm run test:e2e)

Checklist

  • No new dependencies added
  • TypeScript types unchanged
  • CI: npm run lint && npm run type-check passes

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) gssoc26 GSSoC 2026 contribution labels Jun 17, 2026
@github-actions

Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Umbrella-io — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@Meera2906 Meera2906 marked this pull request as draft June 17, 2026 16:19
@Meera2906 Meera2906 marked this pull request as ready for review June 17, 2026 16:19
@Meera2906 Meera2906 closed this Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Mobile layout: dashboard widgets overlap on screens narrower than 375px

1 participant