80 lines
2.1 KiB
TypeScript
80 lines
2.1 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Inter } from "next/font/google";
|
|
import "./globals.css";
|
|
import { translations } from "@/lib/translations";
|
|
|
|
const inter = Inter({
|
|
variable: "--font-inter",
|
|
subsets: ["latin"],
|
|
});
|
|
|
|
const meta = translations.hu.meta
|
|
|
|
export const metadata: Metadata = {
|
|
title: meta.title,
|
|
description: meta.description,
|
|
keywords: meta.keywords,
|
|
metadataBase: new URL('https://skyflytravel.hu'),
|
|
alternates: {
|
|
canonical: '/',
|
|
languages: {
|
|
'hu-HU': '/',
|
|
'en-US': '/', // Since it's a single page app with client side lang switch, we point back for now
|
|
},
|
|
},
|
|
openGraph: {
|
|
title: meta.title,
|
|
description: meta.description,
|
|
url: 'https://skyflytravel.hu',
|
|
siteName: 'SkyFly Travel',
|
|
locale: 'hu_HU',
|
|
type: 'website',
|
|
images: [
|
|
{
|
|
url: '/images/hero-main.jpg', // Fallback until a better one is generated
|
|
width: 1200,
|
|
height: 630,
|
|
alt: 'SkyFly Travel - Reptéri transzfer',
|
|
},
|
|
],
|
|
},
|
|
twitter: {
|
|
card: 'summary_large_image',
|
|
title: meta.title,
|
|
description: meta.description,
|
|
images: ['/images/hero-main.jpg'],
|
|
},
|
|
};
|
|
|
|
import { LanguageProvider } from "@/lib/language-context";
|
|
import ScrollToTop from "@/components/scroll-to-top";
|
|
import { JsonLd } from "@/components/json-ld";
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="hu" className="scroll-smooth">
|
|
<body
|
|
className={`${inter.variable} font-sans antialiased`}
|
|
>
|
|
<a
|
|
href="#main-content"
|
|
className="sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-[100] focus:bg-primary focus:text-white focus:px-6 focus:py-3 focus:rounded-full focus:font-bold focus:shadow-2xl transition-all"
|
|
>
|
|
Ugrás a tartalomra
|
|
</a>
|
|
<LanguageProvider>
|
|
<JsonLd />
|
|
<main id="main-content">
|
|
{children}
|
|
</main>
|
|
<ScrollToTop />
|
|
</LanguageProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|