@@ -31,6 +31,7 @@ import {
3131 Sparkles ,
3232 Users ,
3333} from "lucide-react"
34+ import { useUiSounds } from "@/hooks/use-ui-sounds"
3435import { useTheme } from "@/components/theme-provider"
3536
3637import { siteConfig } from "@/config/site"
@@ -47,9 +48,15 @@ import { TiltedPreview } from "@/components/home/tilted-preview"
4748export default function IndexPage ( ) {
4849 const { login, isPending } = useGitHubLogin ( )
4950 const { resolvedTheme } = useTheme ( )
51+ const { playClick, playPop } = useUiSounds ( )
5052
5153 const { user } = useAuthContext ( )
5254
55+ const handleLogin = ( ) => {
56+ playClick ( )
57+ login ( )
58+ }
59+
5360 // Contributors
5461 const { data : contributors , isLoading : isLoadingContributors } = useQuery (
5562 "contributors" ,
@@ -90,6 +97,7 @@ export default function IndexPage() {
9097 { /* Announcement pill */ }
9198 < Link
9299 href = "/image"
100+ onClick = { ( ) => playPop ( ) }
93101 className = "group relative z-10 inline-flex w-fit items-center gap-2 rounded-full border border-zinc-200 bg-white/80 px-3 py-1 text-sm font-medium shadow-sm backdrop-blur-sm transition-all hover:border-zinc-300 hover:bg-white hover:shadow-md dark:border-zinc-800 dark:bg-zinc-900/80 dark:hover:border-zinc-700 dark:hover:bg-zinc-900"
94102 >
95103 < span className = "relative flex h-2 w-2 shrink-0" >
@@ -141,6 +149,7 @@ export default function IndexPage() {
141149 < div className = "relative z-10 flex flex-col gap-3 sm:flex-row sm:gap-4" >
142150 < Link
143151 href = { siteConfig . links . explore }
152+ onClick = { ( ) => playClick ( ) }
144153 className = { cn (
145154 buttonVariants ( { size : "lg" } ) ,
146155 "group relative gap-2 overflow-hidden shadow-[0_10px_30px_-12px_rgba(99,102,241,0.5)] transition-shadow hover:shadow-[0_16px_40px_-12px_rgba(99,102,241,0.7)] dark:shadow-[0_10px_30px_-12px_rgba(0,0,0,0.6)]"
@@ -155,6 +164,7 @@ export default function IndexPage() {
155164 { user ? (
156165 < Link
157166 href = "/dashboard"
167+ onClick = { ( ) => playClick ( ) }
158168 className = { cn (
159169 buttonVariants ( { size : "lg" , variant : "outline" } ) ,
160170 "gap-2 backdrop-blur-sm"
@@ -170,7 +180,7 @@ export default function IndexPage() {
170180 "gap-2 backdrop-blur-sm"
171181 ) }
172182 disabled = { isPending }
173- onClick = { login }
183+ onClick = { handleLogin }
174184 >
175185 { isPending ? (
176186 < Loader2 className = "h-4 w-4 animate-spin" />
0 commit comments