-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy pathlayout.tsx
More file actions
55 lines (50 loc) · 1.78 KB
/
layout.tsx
File metadata and controls
55 lines (50 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import { InterFont, OnestFont, SatoshiFont, UbuntuFont } from '../styles/fonts/font';
import '../globals.css';
import { ReactQueryClientProvider } from '@/components/shared/react-query-client-provider';
import { Toaster } from '@/components/ui/sonner';
import { CSPostHogProvider } from '../providers';
import { MantineProvider } from '@mantine/core';
import '@mantine/core/styles.css';
import '@mantine/dates/styles.css';
import dynamic from 'next/dynamic';
import { Analytics } from '@vercel/analytics/react';
// Dynamically import components that are not needed immediately
import MarketingNavigation from '@/components/marketing/global/navigation/navigation';
const MarketingFooter = dynamic(() => import('@/components/marketing/global/footer/footer'), {
ssr: false,
});
const CookieBanner = dynamic(() => import('@/components/shared/cookie-banner'), {
ssr: false,
});
const StarsBackground = dynamic(() => import('@/components/ui/stars-background'), {
ssr: false,
});
export default function Layout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<ReactQueryClientProvider>
<html lang="en">
<body
className={`${InterFont.variable} ${SatoshiFont.variable} ${UbuntuFont.variable} ${OnestFont.variable} overflow-x-hidden antialiased`}
>
<main className="bg-[#000000]">
<StarsBackground className="-z-10" />
<CSPostHogProvider>
<MantineProvider>
<MarketingNavigation />
{children}
<CookieBanner />
<MarketingFooter />
</MantineProvider>
</CSPostHogProvider>
</main>
<Analytics />
<Toaster className="bg-black" />
</body>
</html>
</ReactQueryClientProvider>
);
}