Files
Nearle_site/src/app/layout.tsx
2026-06-19 12:21:55 +05:30

101 lines
2.5 KiB
TypeScript

import type { Metadata, Viewport } from 'next'
import { DM_Sans, JetBrains_Mono } from 'next/font/google'
import './globals.css'
import { Navbar } from '@/components/layout/Navbar'
import { Footer } from '@/components/layout/Footer'
import { LenisProvider } from '@/lib/LenisProvider'
const dmSansDisplay = DM_Sans({
subsets: ['latin'],
weight: ['700', '800'],
variable: '--font-display',
display: 'swap',
})
const dmSansBody = DM_Sans({
subsets: ['latin'],
weight: ['400', '500', '700'],
variable: '--font-body',
display: 'swap',
})
const jetbrains = JetBrains_Mono({
subsets: ['latin'],
weight: ['400', '500'],
variable: '--font-mono',
display: 'swap',
})
export const metadata: Metadata = {
metadataBase: new URL('https://nearle.in'),
title: {
default: 'Nearle — Your Neighbourhood, Your World',
template: '%s | Nearle',
},
description:
"India's hyperlocal neighbourhood commerce platform. Groceries, restaurants, home services, and trusted local businesses — all delivered to your door.",
keywords: [
'hyperlocal',
'neighbourhood delivery',
'Coimbatore',
'local grocery',
'Nearle',
'home services',
'India delivery',
],
openGraph: {
title: 'Nearle — Your Neighbourhood, Your World',
description: "India's hyperlocal neighbourhood commerce platform",
url: 'https://nearle.in',
siteName: 'Nearle',
locale: 'en_IN',
type: 'website',
images: [
{
url: '/logo.png',
width: 512,
height: 512,
alt: 'Nearle logo',
},
],
},
twitter: {
card: 'summary',
title: 'Nearle — Your Neighbourhood, Your World',
description: "India's hyperlocal neighbourhood commerce platform",
images: ['/logo.png'],
},
alternates: { canonical: '/' },
icons: {
icon: '/favicon.ico',
shortcut: '/favicon.ico',
apple: '/apple-icon.png',
},
robots: { index: true, follow: true },
}
export const viewport: Viewport = {
themeColor: '#683285',
width: 'device-width',
initialScale: 1,
}
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html
lang="en"
className={`${dmSansDisplay.variable} ${dmSansBody.variable} ${jetbrains.variable}`}
>
<body className="bg-white text-nearle-dark font-body antialiased" suppressHydrationWarning>
<LenisProvider>
<Navbar />
<main>{children}</main>
<Footer />
</LenisProvider>
</body>
</html>
)
}