'use client' import { Fragment, PropsWithChildren, createContext, useContext, FC, } from 'react' import { useWebsiteData } from '@app/data' import { sharedWebsiteDefaults } from './defaults' import { withApollo } from '@app/apollo' const AppContext = createContext(sharedWebsiteDefaults) export const WebsiteProvider = AppContext.Provider type GqlProps = PropsWithChildren<{ skip?: boolean gqlFilter?: any scopedQuery?: string gql?: boolean }> // skip fetching the website query export const WebsiteProviderComponent: FC = ({ children, skip, gqlFilter = '', scopedQuery, }) => { const state = useWebsiteData(gqlFilter, '', null, skip, scopedQuery) return {children} } export const WebsiteProviderGql = withApollo(WebsiteProviderComponent) export const WebsiteProviderWrapper: FC = ({ children, gql, ...extra }) => { if (!gql) { return {children} } return {children} } export function useWebsiteContext() { return useContext(AppContext) }