fix(games): smooth scroll feel for carousel wheel navigation

Changed carousel wheel scrolling from discrete next/prev jumps to smooth
scrolling that follows the wheel delta. Now it feels like actually
scrolling instead of a rocket engine!

- Uses embla's internal scroll container directly
- Scales wheel delta by 0.5 for comfortable scroll speed
- Maintains horizontal scroll and shift+scroll detection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Thomas Hallock 2025-11-03 09:19:22 -06:00
parent a224abb6f6
commit f80a73b35c
1 changed files with 10 additions and 10 deletions

View File

@ -78,11 +78,11 @@ function GamesPageContent() {
event.preventDefault() event.preventDefault()
const delta = event.shiftKey ? event.deltaY : event.deltaX const delta = event.shiftKey ? event.deltaY : event.deltaX
// Scroll the carousel based on wheel delta // Get the scrollable container (embla's internal container)
if (delta > 0) { const scrollContainer = gamesEmblaApi.internalEngine().scrollBody.container
gamesEmblaApi.scrollNext() if (scrollContainer) {
} else { // Smooth scroll by the wheel delta amount (scale it down for better feel)
gamesEmblaApi.scrollPrev() scrollContainer.scrollLeft += delta * 0.5
} }
} }
} }
@ -121,11 +121,11 @@ function GamesPageContent() {
event.preventDefault() event.preventDefault()
const delta = event.shiftKey ? event.deltaY : event.deltaX const delta = event.shiftKey ? event.deltaY : event.deltaX
// Scroll the carousel based on wheel delta // Get the scrollable container (embla's internal container)
if (delta > 0) { const scrollContainer = emblaApi.internalEngine().scrollBody.container
emblaApi.scrollNext() if (scrollContainer) {
} else { // Smooth scroll by the wheel delta amount (scale it down for better feel)
emblaApi.scrollPrev() scrollContainer.scrollLeft += delta * 0.5
} }
} }
} }