layout.tsx 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import React from 'react'
  2. import type { ReactNode } from 'react'
  3. import SwrInitor from '@/app/components/swr-initor'
  4. import { AppContextProvider } from '@/context/app-context'
  5. import GA, { GaType } from '@/app/components/base/ga'
  6. import HeaderWrapper from '@/app/components/header/HeaderWrapper'
  7. import Header from '@/app/components/header'
  8. import { EventEmitterContextProvider } from '@/context/event-emitter'
  9. import { ProviderContextProvider } from '@/context/provider-context'
  10. const Layout = ({ children }: { children: ReactNode }) => {
  11. return (
  12. <>
  13. <GA gaType={GaType.admin} />
  14. <SwrInitor>
  15. <AppContextProvider>
  16. <EventEmitterContextProvider>
  17. <ProviderContextProvider>
  18. <HeaderWrapper>
  19. <Header />
  20. </HeaderWrapper>
  21. {children}
  22. </ProviderContextProvider>
  23. </EventEmitterContextProvider>
  24. </AppContextProvider>
  25. </SwrInitor>
  26. </>
  27. )
  28. }
  29. export const metadata = {
  30. title: 'Dify',
  31. }
  32. export default Layout