calcom/lib/app-providers.tsx
Omar López 9e7cb2c0b8
CAL-469 Adds intercom dynamically (#762)
* Adds react-use-intercom

* Adds intercom env var

* Loads intercom dynamically if env is set

* CAL-473 Fixes client-side routing for authed pages

* Moves intercom code to ee

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-24 21:02:03 +01:00

34 lines
1 KiB
TypeScript

import { Provider } from "next-auth/client";
import React from "react";
import { HydrateProps, QueryClient, QueryClientProvider } from "react-query";
import { Hydrate } from "react-query/hydration";
import DynamicIntercomProvider from "@ee/lib/intercom/providerDynamic";
import { Session } from "@lib/auth";
import { createTelemetryClient, TelemetryProvider } from "@lib/telemetry";
export const queryClient = new QueryClient();
type AppProviderProps = {
pageProps: {
session?: Session;
dehydratedState?: HydrateProps;
};
};
const AppProviders: React.FC<AppProviderProps> = ({ pageProps, children }) => {
return (
<TelemetryProvider value={createTelemetryClient()}>
<QueryClientProvider client={queryClient}>
<DynamicIntercomProvider>
<Hydrate state={pageProps.dehydratedState}>
<Provider session={pageProps.session}>{children}</Provider>
</Hydrate>
</DynamicIntercomProvider>
</QueryClientProvider>
</TelemetryProvider>
);
};
export default AppProviders;