Files
supabase/apps/www/app/providers.tsx
95ee152a71 feat(www): Add nuqs (#41028)
* Add nuqs

* Remove test

* Fix lock file

* Update the pnpm-lock.yaml.

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-12-04 14:36:21 -03:30

50 lines
1.5 KiB
TypeScript

'use client'
import { Suspense } from 'react'
import {
AuthProvider,
FeatureFlagProvider,
IS_PLATFORM,
PageTelemetry,
TelemetryTagManager,
ThemeProvider,
useThemeSandbox,
} from 'common'
import { WwwCommandMenu } from 'components/CommandMenu'
import { API_URL } from 'lib/constants'
import { themes, TooltipProvider, SonnerToaster } from 'ui'
import { CommandProvider } from 'ui-patterns/CommandMenu'
import { useConsentToast } from 'ui-patterns/consent'
import { NuqsAdapter } from 'nuqs/adapters/next/app'
function Providers({ children }: { children: React.ReactNode }) {
useThemeSandbox()
const { hasAcceptedConsent } = useConsentToast()
return (
<NuqsAdapter>
<AuthProvider>
<FeatureFlagProvider API_URL={API_URL} enabled={IS_PLATFORM}>
<ThemeProvider themes={themes.map((t) => t.value)} enableSystem disableTransitionOnChange>
<TooltipProvider delayDuration={0}>
<CommandProvider>
<TelemetryTagManager />
<SonnerToaster position="top-right" />
<Suspense fallback={null}>{children}</Suspense>
<WwwCommandMenu />
<PageTelemetry
API_URL={API_URL}
hasAcceptedConsent={hasAcceptedConsent}
enabled={IS_PLATFORM}
/>
</CommandProvider>
</TooltipProvider>
</ThemeProvider>
</FeatureFlagProvider>
</AuthProvider>
</NuqsAdapter>
)
}
export default Providers