Place CMS meta tag HTML in the document head.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-10-03 18:46:23 +03:30
co-authored by Cursor
parent b4d6b30243
commit 9bf26705da
3 changed files with 31 additions and 25 deletions
+13 -12
View File
@@ -6,7 +6,7 @@ import { Header } from "@/components/layout/Header";
import { Footer } from "@/components/layout/Footer";
import { getNavCategories } from "@/lib/categories";
import { getLogoSrc } from "@/lib/media";
import { getBusinessInfo, metaTagsToOther } from "@/lib/meshkee";
import { getBusinessInfo, parseMetaTagHtml } from "@/lib/meshkee";
const vazir = Vazirmatn({
subsets: ["arabic", "latin"],
@@ -15,17 +15,11 @@ const vazir = Vazirmatn({
weight: ["300", "400", "500", "600", "700", "800"],
});
export async function generateMetadata(): Promise<Metadata> {
const businessInfo = await getBusinessInfo();
const other = metaTagsToOther(businessInfo?.metaTags);
return {
title: "داروخانه دکتر ارجمند | صفحه اصلی",
description:
"خرید آنلاین دارو، مکمل، محصولات بهداشتی و آرایشی از داروخانه دکتر ارجمند در قم، سالاریه.",
...(other ? { other } : {}),
};
}
export const metadata: Metadata = {
title: "داروخانه دکتر ارجمند | صفحه اصلی",
description:
"خرید آنلاین دارو، مکمل، محصولات بهداشتی و آرایشی از داروخانه دکتر ارجمند در قم، سالاریه.",
};
export default async function RootLayout({ children }: { children: React.ReactNode }) {
const [logoSrc, categories, businessInfo] = await Promise.all([
@@ -34,9 +28,16 @@ export default async function RootLayout({ children }: { children: React.ReactNo
getBusinessInfo(),
]);
const cmsMetaTags = (businessInfo?.metaTags ?? []).flatMap((tag, index) => {
const attrs = parseMetaTagHtml(tag.html ?? "");
if (!attrs) return [];
return [<meta key={`cms-meta-${index}`} {...attrs} />];
});
return (
<html lang="fa" dir="rtl" className={vazir.variable}>
<head>
{cmsMetaTags}
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
<link