2
0
Files
bot/apps/builder/pages/_app.tsx
2022-02-24 11:13:19 +01:00

52 lines
1.6 KiB
TypeScript

import React from 'react'
import { AppProps } from 'next/app'
import { SessionProvider } from 'next-auth/react'
import { ChakraProvider } from '@chakra-ui/react'
import { customTheme } from 'libs/chakra'
import { useRouterProgressBar } from 'libs/routerProgressBar'
import 'assets/styles/routerProgressBar.css'
import 'assets/styles/plate.css'
import 'focus-visible/dist/focus-visible'
import 'assets/styles/submissionsTable.css'
import 'assets/styles/codeMirror.css'
import 'assets/styles/custom.css'
import { UserContext } from 'contexts/UserContext'
import { TypebotContext } from 'contexts/TypebotContext'
import { useRouter } from 'next/router'
import { KBarProvider } from 'kbar'
import { actions } from 'libs/kbar'
import { enableMocks } from 'mocks'
import { SupportBubble } from 'components/shared/SupportBubble'
if (process.env.NEXT_PUBLIC_E2E_TEST === 'enabled') enableMocks()
const App = ({ Component, pageProps }: AppProps) => {
useRouterProgressBar()
const { query } = useRouter()
const typebotId = query.typebotId?.toString()
return (
<ChakraProvider theme={customTheme}>
<KBarProvider actions={actions}>
<SessionProvider>
<UserContext>
{typebotId ? (
<TypebotContext typebotId={typebotId}>
<Component />
<SupportBubble />
</TypebotContext>
) : (
<>
<Component {...pageProps} />
<SupportBubble />
</>
)}
</UserContext>
</SessionProvider>
</KBarProvider>
</ChakraProvider>
)
}
export default App