A self hosted solution for privately rating and reviewing different sorts of media
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 39 lines 922 B view raw
1// In Next.js, this file would be called: app/providers.jsx 2'use client'; 3 4// Since QueryClientProvider relies on useContext under the hood, we have to put 'use client' on top 5import { 6 isServer, 7 QueryClient, 8 QueryClientProvider, 9} from '@tanstack/react-query'; 10import { ReactNode } from 'react'; 11 12function makeQueryClient() { 13 return new QueryClient({ 14 defaultOptions: { 15 queries: { 16 staleTime: 60 * 1000, 17 }, 18 }, 19 }); 20} 21 22let browserQueryClient: QueryClient | undefined = undefined; 23 24function getQueryClient() { 25 if (isServer) { 26 return makeQueryClient(); 27 } else { 28 if (!browserQueryClient) browserQueryClient = makeQueryClient(); 29 return browserQueryClient; 30 } 31} 32 33export default function Providers({ children }: { children: ReactNode }) { 34 const queryClient = getQueryClient(); 35 36 return ( 37 <QueryClientProvider client={queryClient}>{children}</QueryClientProvider> 38 ); 39}