70 lines
2.9 KiB
JavaScript
70 lines
2.9 KiB
JavaScript
import "./globals.css";
|
|
import ThemeRegistry from "./component/ThemeRegistry";
|
|
import "jalaali-react-date-picker/lib/styles/index.css";
|
|
import { Providers } from "./Providers";
|
|
import { GoogleAnalytics } from "@next/third-parties/google";
|
|
import { GoogleTagManager } from "@next/third-parties/google";
|
|
import "react-toastify/dist/ReactToastify.css";
|
|
import CustomToastify from "./CustomToastify";
|
|
import { ProvinceProvider } from "@/context/ProvinceProvider";
|
|
import { getStateInfo } from "@/lib/getStateInfo";
|
|
import { getCanonicalUrl } from "@/lib/getCanonicalUrl";
|
|
|
|
export async function generateMetadata() {
|
|
const { matchedCity } = getStateInfo();
|
|
console.log("Matched City in generateMetadata:", matchedCity);
|
|
|
|
const canonicalUrl = getCanonicalUrl();
|
|
|
|
const baseMetadata = {
|
|
title: matchedCity ? matchedCity.title : "نوبت724",
|
|
description: matchedCity
|
|
? matchedCity.description
|
|
: "نوبت 724 - سیستم آنلاین نوبتدهی برای پزشکان و کلینیکها. با استفاده از نوبت 724، به راحتی نوبت پزشکی خود را به صورت آنلاین رزرو کنید و از خدمات سریع و کارآمد ما بهرهمند شوید",
|
|
keywords: matchedCity
|
|
? matchedCity.keywords
|
|
: "نوبت 724, نوبت دهی, رزرو نوبت, پزشک, پزشکی, کلینیک, بیمارستان, نوبت آنلاین, سیستم نوبت دهی, سیستم نوبت دهی آنلاین, سیستم نوبت دهی پزشکی, سیستم نوبت دهی کلینیک, سیستم نوبت دهی بیمارستان, سیستم نوبت دهی آنلاین پزشکی, سیستم نوبت دهی آنلاین کلینیک, سیستم نوبت دهی آنلاین بیمارستان",
|
|
openGraph: {
|
|
images: ["https://www.nobat724.com/assets/images/logo.png"],
|
|
},
|
|
};
|
|
|
|
// Add canonical URL only if we're not on the main domain and matchedCity domain is not nobat724.com
|
|
if (canonicalUrl && (!matchedCity || matchedCity.domain !== 'nobat724.com')) {
|
|
baseMetadata.alternates = {
|
|
canonical: canonicalUrl,
|
|
};
|
|
}
|
|
|
|
return baseMetadata;
|
|
}
|
|
|
|
export default function RootLayout({ children }) {
|
|
|
|
|
|
return (
|
|
<html lang="fa" dir="rtl" suppressHydrationWarning>
|
|
<head>
|
|
<meta
|
|
name="viewport"
|
|
content="width=device-width,initial-scale=1,maximum-scale=1"
|
|
/>
|
|
</head>
|
|
<ThemeRegistry>
|
|
{process.env.NODE_ENV !== 'development' && (
|
|
<GoogleTagManager gtmId="GTM-NXBSV7GS" />
|
|
)}
|
|
<body className="bg-[#FAFAFA]">
|
|
<ProvinceProvider>
|
|
<Providers>{children}</Providers>
|
|
</ProvinceProvider>
|
|
<CustomToastify />
|
|
</body>
|
|
{process.env.NODE_ENV !== 'development' && (
|
|
<GoogleAnalytics gaId="G-HG3RZ1PJS5" />
|
|
)}
|
|
</ThemeRegistry>
|
|
</html>
|
|
);
|
|
}
|