Files
tenext-next/app/layout.tsx
2026-08-03 14:42:01 +05:30

91 lines
2.2 KiB
TypeScript

import type { Metadata } from "next";
import { Manrope, Sora, DM_Sans } from "next/font/google";
import { Footer } from "@/components/shared/Footer";
import { siteConfig } from "@/data/site-config";
import "./globals.css";
const manrope = Manrope({
variable: "--font-manrope",
subsets: ["latin"],
weight: ["400", "500", "600", "700"],
});
const sora = Sora({
variable: "--font-sora",
subsets: ["latin"],
weight: ["400", "500", "600", "700"],
});
const dmSans = DM_Sans({
variable: "--font-dm-sans",
subsets: ["latin"],
weight: ["400", "500", "600", "700"],
});
const title =
"Tenext Technologies — Enterprise Digital Transformation, Cloud, Data & AI";
const description =
"Tenext Technologies helps enterprises transform with cloud, data, AI, and product engineering — delivering predictable outcomes, lower total cost of ownership, and accelerated time to value.";
export const metadata: Metadata = {
metadataBase: new URL(siteConfig.url),
title: {
default: title,
template: "%s | Tenext Technologies",
},
description,
alternates: { canonical: "/" },
openGraph: {
type: "website",
siteName: siteConfig.legalName,
url: siteConfig.url,
title,
description,
},
twitter: {
card: "summary_large_image",
title,
description,
},
};
const organizationJsonLd = {
"@context": "https://schema.org",
"@type": "Organization",
name: siteConfig.legalName,
url: siteConfig.url,
email: siteConfig.email,
telephone: siteConfig.phoneRaw,
address: {
"@type": "PostalAddress",
streetAddress: siteConfig.address.line1,
addressLocality: "Coimbatore",
addressCountry: "IN",
},
sameAs: siteConfig.socials.map((s) => s.url),
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html
lang="en"
className={`${manrope.variable} ${sora.variable} ${dmSans.variable}`}
>
<body suppressHydrationWarning>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(organizationJsonLd),
}}
/>
{children}
<Footer />
</body>
</html>
);
}