aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/lib/providers.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-13 21:43:44 +0000
committerMohamed Bassem <me@mbassem.com>2024-03-14 16:40:45 +0000
commit04572a8e5081b1e4871e273cde9dbaaa44c52fe0 (patch)
tree8e993acb732a50d1306d4d6953df96c165c57f57 /packages/web/lib/providers.tsx
parent2df08ed08c065e8b91bc8df0266bd4bcbb062be4 (diff)
downloadkarakeep-04572a8e5081b1e4871e273cde9dbaaa44c52fe0.tar.zst
structure: Create apps dir and copy tooling dir from t3-turbo repo
Diffstat (limited to 'packages/web/lib/providers.tsx')
-rw-r--r--packages/web/lib/providers.tsx75
1 files changed, 0 insertions, 75 deletions
diff --git a/packages/web/lib/providers.tsx b/packages/web/lib/providers.tsx
deleted file mode 100644
index 5c4649b5..00000000
--- a/packages/web/lib/providers.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-"use client";
-
-import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
-import React, { useState } from "react";
-import { api } from "./trpc";
-import { loggerLink } from "@trpc/client";
-import { httpBatchLink } from "@trpc/client";
-import superjson from "superjson";
-import { SessionProvider } from "next-auth/react";
-import { Session } from "next-auth";
-
-function makeQueryClient() {
- return new QueryClient({
- defaultOptions: {
- queries: {
- // With SSR, we usually want to set some default staleTime
- // above 0 to avoid refetching immediately on the client
- staleTime: 60 * 1000,
- },
- },
- });
-}
-
-let browserQueryClient: QueryClient | undefined = undefined;
-
-function getQueryClient() {
- if (typeof window === "undefined") {
- // Server: always make a new query client
- return makeQueryClient();
- } else {
- // Browser: make a new query client if we don't already have one
- // This is very important so we don't re-make a new client if React
- // supsends during the initial render. This may not be needed if we
- // have a suspense boundary BELOW the creation of the query client
- if (!browserQueryClient) browserQueryClient = makeQueryClient();
- return browserQueryClient;
- }
-}
-
-export default function Providers({
- children,
- session,
-}: {
- children: React.ReactNode;
- session: Session | null;
-}) {
- const queryClient = getQueryClient();
-
- const [trpcClient] = useState(() =>
- api.createClient({
- links: [
- loggerLink({
- enabled: (op) =>
- process.env.NODE_ENV === "development" ||
- (op.direction === "down" && op.result instanceof Error),
- }),
- httpBatchLink({
- // TODO: Change this to be a full URL exposed as a client side setting
- url: `/api/trpc`,
- transformer: superjson,
- }),
- ],
- }),
- );
-
- return (
- <SessionProvider session={session}>
- <api.Provider client={trpcClient} queryClient={queryClient}>
- <QueryClientProvider client={queryClient}>
- {children}
- </QueryClientProvider>
- </api.Provider>
- </SessionProvider>
- );
-}