enhancement: Add body scroll lock and top-right close button to README Badge Modal
Maintainer antworten meist innerhalb von 1 Tag
@Navid-007 arbeitet bereits daran.
Seit 29.10.2026.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 82/100
- Issue-Typ
- Feature
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- nextjs, react, typescript
- Bereich
- accessibility, frontend
Rechercherichtung
Beginne in src/features/developer/components/user-profile-client.tsx und verfolge, wie badgeDialogOpen das README Badge-Modal steuert. Füge eine Sperre des Scrollens im Hintergrund hinzu, die den vorherigen overflow-Zustand wiederherstellt, wenn der Dialog geschlossen oder ausgehängt wird, und füge oben rechts eine Schaltfläche zum Schließen mit dem angegebenen übersetzten aria label hinzu. Fertig, wenn der Hintergrund nicht mehr scrollt, während das Modal geöffnet ist, und beide Schaltflächen zum Schließen es schließen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
In src/features/developer/components/user-profile-client.tsx, clicking 'Get README Badge' opens a modal dialog (badgeDialogOpen). When open, mouse wheel scrolling on the backdrop scrolls the underlying page. In addition, the modal only has a bottom 'Close' button without a standard top-right X close icon.
Motivation
Proper modal UX requires locking background scroll and offering an intuitive top-right dismissal button for accessibility and desktop/mobile usability.
Tasks
- When
badgeDialogOpenis true, setdocument.body.style.overflow = "hidden"(and restore on close/unmount). - Add an
Xicon button in the top-right corner of the dialog header witharia-label={t("profile.close")}. - Ensure clicking the
Xbutton closes the dialog.
Files to Check
src/features/developer/components/user-profile-client.tsx
[!TIP]
🚀 Want to contribute?
Commentassign meto be automatically assigned to this issue via our GitHub Actions bot. Happy coding! ✨
- Vorherrschende Sprache
- TypeScript
- Sterne
- 31
- Forks
- 25
- Ø Merge
- 10 Std. 4 Min.
- Gemergte PRs (30 T.)
- 29
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus O2sa/DevImpact
-
enhancement: Add Next.js loading.tsx skeleton for country leaderboard pagesEvtl. vergeben @virtuallynaman hat das vor 1 Tag übernommen. Offenbeginner friendly easy enhancement good first issue nextjs ui
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
O2sa/DevImpact#276 · 2 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug: InsightsList incorrectly favors User 1 when metrics are tiedEvtl. vergeben @sarmad-jalil hat das vor 4 Tagen übernommen. Offenbeginner friendly bug easy good first issue typescript
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
O2sa/DevImpact#268 · 2 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
feature: Add custom branded not-found.tsx page for 404 routesEvtl. vergeben @sarmad-jalil hat das vor 4 Tagen übernommen. Offenbeginner friendly easy feature good first issue nextjs ui
O2sa/DevImpact#271 · 2 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement: Add 1-click Clear button (X) inside SearchFieldEvtl. vergeben @aryansinha1908 hat das vor 6 Tagen übernommen. Offenbeginner friendly easy enhancement good first issue ui
O2sa/DevImpact#265 · 2 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
area:web p3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Lets-Parley/Parley#912 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
wealthfolio/wealthfolio#2376 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
be-BOP-io-SA/be-BOP#2817 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
documentation good first issue
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 84/100
sno-ai/sno-station#149 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag