Files
supabase/apps/docs/features/app.providers.tsx
T
Ivan Vasilov ee8eae7309 chore: Clean the ui package from next imports (#44278)
This PR moves several components which rely on `next` out of the `ui`
package to the `ui-patterns` package.

`ui-patterns` package is intented to be imported with specific imports
so it's ok if there are components reliant on `next` in there.

The `SonnerToaster` component has removed its dependency by requiring a
prop for `theme`.
2026-03-30 10:58:37 +02:00

50 lines
1.7 KiB
TypeScript

import SiteLayout from '~/layouts/SiteLayout'
import { API_URL } from '~/lib/constants'
import { FeatureFlagProvider, IS_PLATFORM, ThemeProvider } from 'common'
import { DevToolbar, DevToolbarProvider } from 'dev-tools'
import type { PropsWithChildren } from 'react'
import { TooltipProvider } from 'ui'
import { AuthContainer } from './auth/auth.client'
import { DocsCommandMenu, DocsCommandProvider } from './command'
import { QueryClientProvider } from './data/queryClient.client'
import { PageTelemetry } from './telemetry/telemetry.client'
import { Toaster } from './toaster'
import { ScrollRestoration } from './ui/helpers.scroll.client'
import { ThemeSandbox } from './ui/theme.client'
/**
* Global providers that wrap the entire app
*/
function GlobalProviders({ children }: PropsWithChildren) {
return (
<QueryClientProvider>
<AuthContainer>
<FeatureFlagProvider API_URL={API_URL} enabled={IS_PLATFORM}>
<DevToolbarProvider apiUrl={API_URL}>
<PageTelemetry />
<ScrollRestoration />
<ThemeProvider defaultTheme="system" enableSystem disableTransitionOnChange>
<TooltipProvider delayDuration={0}>
<DocsCommandProvider>
<div className="flex flex-col">
<SiteLayout>
{children}
<DocsCommandMenu />
</SiteLayout>
<ThemeSandbox />
</div>
</DocsCommandProvider>
<Toaster />
<DevToolbar />
</TooltipProvider>
</ThemeProvider>
</DevToolbarProvider>
</FeatureFlagProvider>
</AuthContainer>
</QueryClientProvider>
)
}
export { GlobalProviders }