Files
fdae8352-9d4b-42db-8fdd-bf3…/src/app/layout.tsx
2026-03-10 19:27:19 +00:00

79 lines
2.5 KiB
TypeScript

import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Source_Sans_3 } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
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 sourceSans3 = Source_Sans_3({
variable: "--font-source-sans-3",
subsets: ["latin"],
});
export const metadata: Metadata = {
title: "JobBoard - Find Your Next Career Opportunity",
description: "Discover thousands of job opportunities or find exceptional talent. JobBoard connects job seekers with employers through advanced matching and seamless hiring.",
keywords: "job board, job search, career opportunities, hiring platform, recruitment, employment",
robots: {
index: true,
follow: true,
},
openGraph: {
title: "JobBoard - Find Your Next Career Opportunity",
description: "Connect with job opportunities that match your skills or find exceptional talent for your team.",
url: "https://jobboard.io",
siteName: "JobBoard",
type: "website",
images: [
{
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Alcfzre6xJszkPGgvJibyHzOir/a-modern-job-search-dashboard-showing-ca-1773170776784-58076117.png",
alt: "JobBoard - Find Your Dream Job",
},
],
},
twitter: {
card: "summary_large_image",
title: "JobBoard - Find Your Next Career Opportunity",
description: "Connect with job opportunities that match your skills or find exceptional talent for your team.",
images: [
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Alcfzre6xJszkPGgvJibyHzOir/a-modern-job-search-dashboard-showing-ca-1773170776784-58076117.png",
],
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} ${sourceSans3.variable} antialiased`}
>
<Tag />
{children}
<script
dangerouslySetInnerHTML={{
__html: `${getVisualEditScript()}`
}}
/>
</body>
</ServiceWrapper>
</html>
);
}