Files
cc9e43d4-e7a5-4803-a7a0-290…/src/app/layout.tsx
2026-03-13 18:45:38 +00:00

81 lines
2.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Archivo } 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 archivo = Archivo({
variable: "--font-archivo",
subsets: ["latin"],
});
export const metadata: Metadata = {
title: "Berliner Möbel Premium Custom Furniture & Interiors Berlin",
description: "Custom furniture, kitchens, wardrobes, ceramics, stone surfaces & interior design solutions. Premium European craftsmanship based in Berlin.",
keywords: "custom furniture Berlin, luxury kitchen design, premium interiors, built-in furniture, stone countertops, ceramic surfaces",
metadataBase: new URL("https://berliner-moebel.de"),
alternates: {
canonical: "https://berliner-moebel.de",
},
openGraph: {
title: "Berliner Möbel Premium Custom Interiors",
description: "Crafted interiors made real. Custom furniture, ceramics, stone, and complete interior solutions from Berlin.",
url: "https://berliner-moebel.de",
siteName: "Berliner Möbel",
type: "website",
images: [
{
url: "https://berliner-moebel.de/og-image.jpg",
alt: "Luxury custom kitchen interior design",
},
],
},
twitter: {
card: "summary_large_image",
title: "Berliner Möbel Premium Custom Furniture",
description: "Crafted interiors made real. Custom furniture production, premium materials, professional installation.",
images: ["https://berliner-moebel.de/twitter-image.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} ${archivo.variable} antialiased`}
>
<Tag />
{children}
<script
dangerouslySetInnerHTML={{
__html: `${getVisualEditScript()}`
}}
/>
</body>
</ServiceWrapper>
</html>
);
}