Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 43 additions & 42 deletions app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { Metadata, Viewport } from 'next'
import { Inter as FontSans, Poppins } from 'next/font/google'
import './globals.css'
import 'katex/dist/katex.min.css';
import 'katex/dist/katex.min.css'
import { cn } from '@/lib/utils'
import { ThemeProvider } from '@/components/theme-provider'
import Header from '@/components/header'
Expand All @@ -12,15 +12,18 @@ import { SpeedInsights } from "@vercel/speed-insights/next"
import { Toaster } from '@/components/ui/sonner'
import { MapToggleProvider } from '@/components/map-toggle-context'
import { ProfileToggleProvider } from '@/components/profile-toggle-context'
import { UsageToggleProvider } from '@/components/usage-toggle-context'
import { CalendarToggleProvider } from '@/components/calendar-toggle-context'
import { MapLoadingProvider } from '@/components/map-loading-context';
import ConditionalLottie from '@/components/conditional-lottie';
import { MapProvider } from '@/components/map/map-context'
import { HistoryToggleProvider } from '@/components/history-toggle-context'
import { HistorySidebar } from '@/components/history-sidebar'
import { MapLoadingProvider } from '@/components/map-loading-context'
import ConditionalLottie from '@/components/conditional-lottie'
import { MapProvider } from '@/components/map/map-context' // ← imported as MapProvider
import { getSupabaseUserAndSessionOnServer } from '@/lib/auth/get-current-user'
import { PurchaseCreditsPopup } from '@/components/credits/purchase-credits-popup';
import { CreditsProvider } from '@/components/credits/credits-provider';
import { PurchaseCreditsPopup } from '@/components/credits/purchase-credits-popup'
import { CreditsProvider } from '@/components/credits/credits-provider'

// Force dynamic rendering since we check auth with cookies
// Force dynamic rendering because we read cookies for auth
export const dynamic = 'force-dynamic'

const fontSans = FontSans({
Expand All @@ -35,8 +38,7 @@ const fontPoppins = Poppins({
})

const title = ''
const description =
'language to Maps'
const description = 'language to Maps'

export const metadata: Metadata = {
metadataBase: new URL('https://www.qcx.world'),
Expand Down Expand Up @@ -66,8 +68,7 @@ export default async function RootLayout({
}: Readonly<{
children: React.ReactNode
}>) {
// Check authentication and conditionally render the layout
const { user } = await getSupabaseUserAndSessionOnServer();
const { user } = await getSupabaseUserAndSessionOnServer()

return (
<html lang="en" suppressHydrationWarning>
Expand All @@ -78,37 +79,37 @@ export default async function RootLayout({
fontPoppins.variable
)}
>
<ThemeProvider
attribute="class"
defaultTheme="earth"
enableSystem
disableTransitionOnChange
themes={['light', 'dark', 'earth']}
>
{user ? (
<CalendarToggleProvider>
<MapToggleProvider>
<ProfileToggleProvider>
<MapProvider>
<MapLoadingProvider>
<CreditsProvider>
<Header />
<ConditionalLottie />
{children}
<Sidebar />
<PurchaseCreditsPopup />
</CreditsProvider>
<Footer />
<Toaster />
</MapLoadingProvider>
</MapProvider>
</ProfileToggleProvider>
</MapToggleProvider>
</CalendarToggleProvider>
) : (
children
)}
</ThemeProvider>
<CalendarToggleProvider>
<HistoryToggleProvider>
<MapToggleProvider>
<ProfileToggleProvider>
<UsageToggleProvider>
<ThemeProvider
attribute="class"
defaultTheme="earth"
enableSystem
disableTransitionOnChange
themes={['light', 'dark', 'earth']}
>
{/* Changed MapContextProvider → MapProvider */}
<MapProvider>
<MapLoadingProvider>
<Header />
<ConditionalLottie />
{children}
<Sidebar />
<HistorySidebar />
<Footer />
<Toaster />
</MapLoadingProvider>
</MapProvider>
</ThemeProvider>
</UsageToggleProvider>
</ProfileToggleProvider>
</MapToggleProvider>
</HistoryToggleProvider>
</CalendarToggleProvider>

<Analytics />
<SpeedInsights />
</body>
Expand Down
Loading