import { createTRPCReact } from '@trpc/react-query' import { httpBatchLink } from '@trpc/client' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import superjson from 'superjson' import { createElement, type ReactNode } from 'react' import AsyncStorage from '@react-native-async-storage/async-storage' import type { AppRouter } from '@innungsapp/admin' import { getApiBaseUrl } from './api-url' export const trpc = createTRPCReact() export const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 30 * 1000, retry: 1, }, }, }) const trpcClient = trpc.createClient({ links: [ httpBatchLink({ url: `${getApiBaseUrl()}/api/trpc`, transformer: superjson, async headers() { // Include session cookie for auth const token = await AsyncStorage.getItem('better-auth-session') return token ? { cookie: `better-auth.session_token=${token}` } : {} }, }), ], }) export function TRPCProvider({ children }: { children: ReactNode }) { return ( {children} ) }