forked from Commitlabs-Org/Commitlabs-Frontend
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlayout.tsx
More file actions
122 lines (118 loc) · 3.81 KB
/
Copy pathlayout.tsx
File metadata and controls
122 lines (118 loc) · 3.81 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import type { Metadata } from 'next'
import './globals.css'
import ScrollToTopButton from '@/components/landing-page/ui/ScrollToTop'
import { ThemeProvider } from '@/components/theme/ThemeProvider'
import { ToastProvider } from '@/components/toast/ToastProvider'
import { CommandPaletteProvider } from '@/components/CommandPalette'
import { NetworkMismatchBanner } from '@/components/wallet/NetworkMismatchBanner'
import { Inter, Roboto_Mono } from 'next/font/google'
import { MotionProvider } from "@/components/MotionProvider"
import { WebVitalsReporter } from "@/components/perf/WebVitalsReporter"
import { AppShellConnectionStatus } from '@/components/shell/AppShellConnectionStatus'
import { WalletProvider } from '@/components/auth/WalletProvider'
const inter = Inter({
subsets: ['latin'],
display: 'swap',
variable: '--font-inter',
})
const robotoMono = Roboto_Mono({
subsets: ['latin'],
weight: ['400', '500', '600'],
display: 'swap',
variable: '--font-roboto',
})
export const metadata: Metadata = {
title: 'CommitLabs - Liquidity as a Commitment',
description: 'Transform passive liquidity into enforceable, attestable, and composable on-chain commitments',
keywords: 'liquidity, commitment, blockchain, DeFi, NFT, Stellar, Soroban',
authors: [{ name: 'CommitLabs' }],
creator: 'CommitLabs',
publisher: 'CommitLabs',
openGraph: {
title: 'CommitLabs - Liquidity as a Commitment',
description: 'Transform passive liquidity into enforceable, attestable, and composable on-chain commitments',
url: 'https://commitlabs.com',
siteName: 'CommitLabs',
images: [
{
url: '/og-image.jpg',
width: 1200,
height: 630,
alt: 'CommitLabs - Liquidity as a Commitment',
},
],
locale: 'en_US',
type: 'website',
},
twitter: {
card: 'summary_large_image',
title: 'CommitLabs - Liquidity as a Commitment',
description: 'Transform passive liquidity into enforceable, attestable, and composable on-chain commitments',
images: ['/og-image.jpg'],
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
},
...(process.env.NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION ? {
verification: {
google: process.env.NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION,
},
} : {}),
}
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html
lang="en"
suppressHydrationWarning
className={['scroll-smooth', inter.variable, robotoMono.variable].join(' ')}
>
<head>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
'@context': 'https://schema.org',
'@type': 'WebSite',
name: 'CommitLabs',
description: 'Transform passive liquidity into enforceable, attestable, and composable on-chain commitments',
url: 'https://commitlabs.com',
publisher: {
'@type': 'Organization',
name: 'CommitLabs',
url: 'https://commitlabs.com',
},
}),
}}
/>
</head>
<body>
<WebVitalsReporter />
<a href="#main-content" className="skip-link">Skip to main content</a>
<ThemeProvider>
<WalletProvider>
<MotionProvider>
<ToastProvider>
<NetworkMismatchBanner />
<AppShellConnectionStatus>{children}</AppShellConnectionStatus>
<ScrollToTopButton />
<CommandPaletteProvider />
</ToastProvider>
</MotionProvider>
</WalletProvider>
</ThemeProvider>
</body>
</html>
)
}