diff --git a/apps/www/components/LaunchWeek/8/TicketBrickWallSlider.tsx b/apps/www/components/LaunchWeek/8/TicketBrickWallSlider.tsx
index c1484e5f961..6a062befedd 100644
--- a/apps/www/components/LaunchWeek/8/TicketBrickWallSlider.tsx
+++ b/apps/www/components/LaunchWeek/8/TicketBrickWallSlider.tsx
@@ -56,13 +56,16 @@ export function TicketBrickWallSlider({ users, reverse, speed = 50000, animate }
diff --git a/apps/www/components/LaunchWeek/8/TicketsGrid.tsx b/apps/www/components/LaunchWeek/8/TicketsGrid.tsx
index ba88e77d1ee..25e5172e9e6 100644
--- a/apps/www/components/LaunchWeek/8/TicketsGrid.tsx
+++ b/apps/www/components/LaunchWeek/8/TicketsGrid.tsx
@@ -32,7 +32,9 @@ export default function TicketsGrid({ loadedUsers, isLoading, pageCount, offset
const isOddRow = divider % 2 === 0
// Delay should be no more than pageCount for new loaded users
const recalculatedDelay = i >= pageCount * 2 ? (i - pageCount * (offset - 1)) / 15 : i / 15
- const imgUrl = getTicketImageUrl(user.username!, !!user.golden)
+ const imgUrl =
+ getTicketImageUrl(user.username!, !!user.golden) ??
+ '/images/launchweek/8/lw8-ticket-empty.jpg'
return (
@@ -88,7 +90,7 @@ export default function TicketsGrid({ loadedUsers, isLoading, pageCount, offset
},
}}
>
-
+
diff --git a/apps/www/pages/launch-week/tickets/index.tsx b/apps/www/pages/launch-week/tickets/index.tsx
index bd8b573b75b..b0423f3180b 100644
--- a/apps/www/pages/launch-week/tickets/index.tsx
+++ b/apps/www/pages/launch-week/tickets/index.tsx
@@ -6,6 +6,7 @@ import { Button } from 'ui'
import Link from 'next/link'
import { motion } from 'framer-motion'
import { createClient } from '@supabase/supabase-js'
+import { debounce } from 'lodash'
import { SITE_ORIGIN, SITE_URL } from '~/lib/constants'
import { useTheme } from 'common/Providers'
@@ -81,6 +82,16 @@ export default function TicketsPage({ users }: Props) {
}
}
+ useEffect(() => {
+ const handleDebouncedScroll = debounce(() => !isLast && handleScroll(), 200)
+
+ window.addEventListener('scroll', handleDebouncedScroll)
+
+ return () => {
+ window.removeEventListener('scroll', handleDebouncedScroll)
+ }
+ }, [])
+
useEffect(() => {
toggleTheme(true)
document.body.className = 'dark bg-[#020405]'
diff --git a/apps/www/public/images/launchweek/8/lw8-ticket-empty.jpg b/apps/www/public/images/launchweek/8/lw8-ticket-empty.jpg
new file mode 100644
index 00000000000..fb846cf7412
Binary files /dev/null and b/apps/www/public/images/launchweek/8/lw8-ticket-empty.jpg differ