11import { useMutation , useQuery , useQueryClient , InfiniteData } from "@tanstack/react-query" ;
22import { useAuth } from "@clerk/clerk-react" ;
33import { useApi } from "@/shared/hooks/useApi" ;
4+ import type { EventsResponse } from "@/shared/api/EventsAPIClient" ;
5+ import type { Event } from "@/features/events/types/events" ;
46
57/**
68 * Hook to get all event IDs the current user is interested in
@@ -59,14 +61,14 @@ export function useToggleEventInterest(eventId: number) {
5961 } ) ;
6062
6163 // Optimistically update event interest counts in events list (infinite query structure)
62- queryClient . setQueriesData < InfiniteData < any > > ( { queryKey : [ "events" ] } , ( oldData ) => {
64+ queryClient . setQueriesData < InfiniteData < EventsResponse > > ( { queryKey : [ "events" ] } , ( oldData ) => {
6365 if ( ! oldData ?. pages ) return oldData ;
6466
6567 return {
6668 ...oldData ,
67- pages : oldData . pages . map ( ( page : any ) => ( {
69+ pages : oldData . pages . map ( ( page : EventsResponse ) => ( {
6870 ...page ,
69- results : page . results . map ( ( event : any ) => {
71+ results : page . results . map ( ( event : Event ) => {
7072 if ( event . id === eventId ) {
7173 const delta = nextInterested ? 1 : - 1 ;
7274 return {
@@ -84,14 +86,14 @@ export function useToggleEventInterest(eventId: number) {
8486 } ,
8587 onSuccess : ( response ) => {
8688 // Update the event's interest count with the actual server value (infinite query structure)
87- queryClient . setQueriesData < InfiniteData < any > > ( { queryKey : [ "events" ] } , ( oldData ) => {
89+ queryClient . setQueriesData < InfiniteData < EventsResponse > > ( { queryKey : [ "events" ] } , ( oldData ) => {
8890 if ( ! oldData ?. pages ) return oldData ;
8991
9092 return {
9193 ...oldData ,
92- pages : oldData . pages . map ( ( page : any ) => ( {
94+ pages : oldData . pages . map ( ( page : EventsResponse ) => ( {
9395 ...page ,
94- results : page . results . map ( ( event : any ) => {
96+ results : page . results . map ( ( event : Event ) => {
9597 if ( event . id === eventId ) {
9698 return {
9799 ...event ,
@@ -111,14 +113,14 @@ export function useToggleEventInterest(eventId: number) {
111113 }
112114
113115 // Rollback event interest count (infinite query structure)
114- queryClient . setQueriesData < InfiniteData < any > > ( { queryKey : [ "events" ] } , ( oldData ) => {
116+ queryClient . setQueriesData < InfiniteData < EventsResponse > > ( { queryKey : [ "events" ] } , ( oldData ) => {
115117 if ( ! oldData ?. pages ) return oldData ;
116118
117119 return {
118120 ...oldData ,
119- pages : oldData . pages . map ( ( page : any ) => ( {
121+ pages : oldData . pages . map ( ( page : EventsResponse ) => ( {
120122 ...page ,
121- results : page . results . map ( ( event : any ) => {
123+ results : page . results . map ( ( event : Event ) => {
122124 if ( event . id === eventId ) {
123125 const delta = nextInterested ? - 1 : 1 ; // Reverse the optimistic update
124126 return {
0 commit comments