Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
1import { ApolloProvider } from "@apollo/client";
2import { createApolloClient } from "@hey/indexer/apollo/client";
3import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
4import type { ReactNode } from "react";
5import { HelmetProvider } from "react-helmet-async";
6import ErrorBoundary from "@/components/Common/ErrorBoundary";
7import authLink from "@/helpers/authLink";
8import { ThemeProvider } from "@/hooks/useTheme";
9import Web3Provider from "./Web3Provider";
10
11const queryClient = new QueryClient({
12 defaultOptions: { queries: { refetchOnWindowFocus: false } }
13});
14
15const lensApolloClient = createApolloClient(authLink);
16
17interface ProvidersProps {
18 children: ReactNode;
19}
20
21const Providers = ({ children }: ProvidersProps) => {
22 return (
23 <ErrorBoundary>
24 <QueryClientProvider client={queryClient}>
25 <Web3Provider>
26 <ApolloProvider client={lensApolloClient}>
27 <HelmetProvider>
28 <ThemeProvider>{children}</ThemeProvider>
29 </HelmetProvider>
30 </ApolloProvider>
31 </Web3Provider>
32 </QueryClientProvider>
33 </ErrorBoundary>
34 );
35};
36
37export default Providers;