Files
cb268e77-703c-4e57-ad64-e73…/src/app/layout.tsx
2026-05-13 08:11:21 +00:00

83 lines
2.7 KiB
TypeScript

import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import { getVisualEditScript } from "@/utils/visual-edit-script";
const halant = Halant({
variable: "--font-halant",
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville",
subsets: ["latin"],
weight: ["400", "700"],
});
export const metadata: Metadata = {
title: "TradeSphere - Peer-to-Peer Trading Without Money",
description: "TradeSphere is a trusted peer-to-peer marketplace where you can exchange goods securely with intelligent matching, fair valuations, and complete protection.",
keywords: "peer-to-peer trading, barter platform, goods exchange, sustainable marketplace, community trading, fair exchange, no money trade",
metadataBase: new URL("https://tradesphere.com"),
alternates: {
canonical: "https://tradesphere.com",
},
openGraph: {
title: "TradeSphere - Exchange Goods Fairly & Securely",
description: "Join 50,000+ traders on TradeSphere. Trade goods without money, get instant valuations, and enjoy secure escrow protection.",
url: "https://tradesphere.com",
siteName: "TradeSphere",
images: [
{
url: "http://img.b2bpic.net/free-photo/multiethnic-volunteers-charitable-event-handing-out-food-poor-needy-smiles-abound-as-voluntary-individuals-work-together-fight-hunger-provide-support-less-fortunate_482257-68825.jpg",
alt: "TradeSphere peer-to-peer trading community",
}
],
type: "website",
},
twitter: {
card: "summary_large_image",
title: "TradeSphere - Peer-to-Peer Trading Platform",
description: "Trade goods fairly with intelligent matching and secure escrow protection on TradeSphere.",
images: [
"http://img.b2bpic.net/free-vector/fitness-mobile-app-infographic-template-flat-style_23-2148219822.jpg"
],
},
robots: {
index: true,
follow: true,
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} ${libreBaskerville.variable} antialiased`}
>
{children}
<script
dangerouslySetInnerHTML={{
__html: `${getVisualEditScript()}`
}}
/>
</body>
</ServiceWrapper>
</html>
);
}