diyaa.de/app/layout.tsx
2026-03-13 03:45:13 +01:00

52 lines
1.4 KiB
TypeScript

import type { Metadata } from "next";
import type { ReactNode } from "react";
import { siteConfig } from "@/lib/site";
import "./globals.css";
export const metadata: Metadata = {
metadataBase: new URL(siteConfig.siteUrl),
title: {
default: "Diyaa",
template: "%s | Diyaa",
},
description: "Bilingual professional website built for private-server deployment.",
applicationName: "Diyaa",
authors: [{ name: "Diyaa" }],
creator: "Diyaa",
publisher: "Diyaa",
alternates: {
languages: {
ar: "/ar",
en: "/en",
"x-default": "/ar",
},
},
};
const themeScript = `
(() => {
const locale = window.location.pathname.split("/").filter(Boolean)[0] === "en" ? "en" : "ar";
const direction = locale === "ar" ? "rtl" : "ltr";
document.documentElement.lang = locale;
document.documentElement.dir = direction;
try {
const storedTheme = localStorage.getItem("theme");
const activeTheme = storedTheme === "light" || storedTheme === "dark" ? storedTheme : "dark";
document.documentElement.setAttribute("data-theme", activeTheme);
} catch {
document.documentElement.setAttribute("data-theme", "dark");
}
})();
`;
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="ar" dir="rtl" data-theme="dark" suppressHydrationWarning>
<head>
<script dangerouslySetInnerHTML={{ __html: themeScript }} />
</head>
<body>{children}</body>
</html>
);
}