import { createTRPCProxyClient, httpBatchLink } from '@trpc/client'; import { createTRPCNext } from '@trpc/next'; import SuperJSON from 'superjson'; import type { AppRouter } from './routers'; function getBaseUrl() { if (typeof window !== 'undefined') { return process.env.NEXT_PUBLIC_BASE_PATH ?? ''; } return `http://localhost:${process.env.PORT ?? 3000}${process.env.NEXT_PUBLIC_BASE_PATH ?? ''}`; } export const trpcClient = createTRPCNext({ config() { return { links: [ httpBatchLink({ url: `${getBaseUrl()}/api/trpc`, }), ], transformer: SuperJSON, }; }, ssr: true, }); export const trpcPureClient = createTRPCProxyClient({ links: [ httpBatchLink({ url: `${getBaseUrl()}/api/trpc`, }), ], transformer: SuperJSON, });