mirror of
https://github.com/langgenius/dify.git
synced 2026-07-25 21:48:30 +08:00
49 lines
1.9 KiB
TypeScript
49 lines
1.9 KiB
TypeScript
import type { ReactNode } from 'react'
|
|
import AmplitudeProvider from '@/app/components/base/amplitude'
|
|
import { GoogleAnalyticsScripts } from '@/app/components/base/ga'
|
|
import Zendesk from '@/app/components/base/zendesk'
|
|
import { EducationVerifyActionRecorder } from '@/app/components/education-verify-action-recorder'
|
|
import MainNavLayout from '@/app/components/main-nav/layout'
|
|
import { NextRouteStateBridge } from '@/app/components/next-route-state'
|
|
import { OAuthRegistrationAnalytics } from '@/app/components/oauth-registration-analytics'
|
|
import { AppContextProvider } from '@/context/app-context-provider'
|
|
import { EventEmitterContextProvider } from '@/context/event-emitter-provider'
|
|
import { ModalContextProvider } from '@/context/modal-context-provider'
|
|
import { ProviderContextProvider } from '@/context/provider-context-provider'
|
|
import { CommonLayoutGlobalMounts } from './global-mounts'
|
|
import { CommonLayoutHydrationBoundary } from './hydration-boundary'
|
|
|
|
export default async function Layout({
|
|
children,
|
|
detailSidebar,
|
|
}: {
|
|
children: ReactNode
|
|
detailSidebar: ReactNode
|
|
}) {
|
|
return (
|
|
<>
|
|
<GoogleAnalyticsScripts />
|
|
<AmplitudeProvider />
|
|
<OAuthRegistrationAnalytics />
|
|
<EducationVerifyActionRecorder />
|
|
<CommonLayoutHydrationBoundary>
|
|
<NextRouteStateBridge>
|
|
<AppContextProvider>
|
|
<EventEmitterContextProvider>
|
|
<ProviderContextProvider>
|
|
<ModalContextProvider>
|
|
<MainNavLayout detailSidebar={detailSidebar}>
|
|
{children}
|
|
</MainNavLayout>
|
|
<CommonLayoutGlobalMounts />
|
|
</ModalContextProvider>
|
|
</ProviderContextProvider>
|
|
</EventEmitterContextProvider>
|
|
</AppContextProvider>
|
|
</NextRouteStateBridge>
|
|
</CommonLayoutHydrationBoundary>
|
|
<Zendesk />
|
|
</>
|
|
)
|
|
}
|