File: src/components/ContributorsSection.tsx
Problem
- The fetch URL
https://api.github.com/repos/nnennaokoye/quest-frontend/contributors is hardcoded — fails for forks, mirrors, or org renames.
- The auto-scroll loop runs at
setInterval(..., 20) for every user, which is hostile for users with vestibular disorders and burns CPU on long sessions.
Expected
- Read the repo from
import.meta.env.VITE_CONTRIBUTORS_REPO (e.g. owner/repo) with the current URL as default fallback.
- Wrap the auto-scroll in a check for
window.matchMedia('(prefers-reduced-motion: reduce)').matches; if true, skip auto-scroll.
- Pause auto-scroll on focus/hover inside the carousel (not just mouse hover) for keyboard users.
Acceptance
- Forks can configure their own repo via env var.
- Reduced-motion users see no auto-scroll.
- Manual scroll/wheel/keyboard interactions are not fought by the interval.
File:
src/components/ContributorsSection.tsxProblem
https://api.github.com/repos/nnennaokoye/quest-frontend/contributorsis hardcoded — fails for forks, mirrors, or org renames.setInterval(..., 20)for every user, which is hostile for users with vestibular disorders and burns CPU on long sessions.Expected
import.meta.env.VITE_CONTRIBUTORS_REPO(e.g.owner/repo) with the current URL as default fallback.window.matchMedia('(prefers-reduced-motion: reduce)').matches; if true, skip auto-scroll.Acceptance