Files
nearle_web_nextjs/src/app/layout.tsx
2026-07-04 16:41:46 +05:30

99 lines
2.5 KiB
TypeScript

import type { Metadata, Viewport } from "next";
import { Lato } from "next/font/google";
import "./globals.css";
import { MotionProvider } from "@/components/layout/MotionProvider";
import { PremiumNavbar } from "@/components/layout/PremiumNavbar";
import { PremiumFooter } from "@/components/layout/PremiumFooter";
const lato = Lato({
subsets: ["latin"],
weight: ["100", "300", "400", "700", "900"],
variable: "--font-lato",
display: "swap",
preload: true,
});
export const metadata: Metadata = {
metadataBase: new URL("https://nearle.in"),
title: {
default: "Nearle: Your Neighborhood, Delivered",
template: "%s | Nearle",
},
description:
"Hyper-local essentials, hot meals, and professional services from verified businesses. India's #1 neighborhood commerce platform.",
keywords: [
"hyperlocal",
"neighborhood delivery",
"Coimbatore",
"local grocery",
"Nearle",
"home services",
"India delivery",
"neighborhood commerce",
],
openGraph: {
title: "Nearle: Your Neighborhood, Delivered",
description:
"Hyper-local essentials, hot meals, and professional services from verified businesses",
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 Neighborhood, Delivered",
description:
"India's hyperlocal neighborhood 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: "#4d046a",
width: "device-width",
initialScale: 1,
};
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html
lang="en"
className={lato.variable}
data-scroll-behavior="smooth"
suppressHydrationWarning
>
<body className="bg-[#E8DCF2] text-on-surface font-body antialiased" suppressHydrationWarning>
<MotionProvider>
<div className="min-h-screen bg-white font-body text-[#16001D] antialiased flex flex-col">
<PremiumNavbar />
<main className="w-full overflow-x-hidden bg-white">
{children}
</main>
<PremiumFooter />
</div>
</MotionProvider>
</body>
</html>
);
}