From 8ee3defdc07104d7b4acd497cc024d3dea82c413 Mon Sep 17 00:00:00 2001 From: ehsan Date: Sun, 4 May 2025 12:31:53 +0330 Subject: [PATCH] change design text home page and dynamic metadata beased on hostname --- app/layout.js | 41 ++-- components/home/index.js | 2 +- components/icons/BText.js | 1 + data/specialties.json | 416 +++++++++++++++++++------------------- package.json | 2 +- 5 files changed, 238 insertions(+), 224 deletions(-) diff --git a/app/layout.js b/app/layout.js index 3640579..4db1611 100644 --- a/app/layout.js +++ b/app/layout.js @@ -4,28 +4,41 @@ 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"; - -// Toastify import "react-toastify/dist/ReactToastify.css"; import CustomToastify from "./CustomToastify"; import { ProvinceProvider } from "@/context/ProvinceProvider"; +import { headers } from "next/headers"; +import citiesData from "@/data/city.json"; -export const metadata = { - title: "نوبت724", - description: - "نوبت 724 - سیستم آنلاین نوبت‌دهی برای پزشکان و کلینیک‌ها. با استفاده از نوبت 724، به راحتی نوبت پزشکی خود را به صورت آنلاین رزرو کنید و از خدمات سریع و کارآمد ما بهره‌مند شوید", - keywords: - "نوبت 724, نوبت دهی, رزرو نوبت, پزشک, پزشکی, کلینیک, بیمارستان, نوبت آنلاین, سیستم نوبت دهی, سیستم نوبت دهی آنلاین, سیستم نوبت دهی پزشکی, سیستم نوبت دهی کلینیک, سیستم نوبت دهی بیمارستان, سیستم نوبت دهی آنلاین پزشکی, سیستم نوبت دهی آنلاین کلینیک, سیستم نوبت دهی آنلاین بیمارستان", - image: "https://www.nobat724.com/assets/images/logo.png", -}; +export async function generateMetadata() { + const hostname = headers().get("host") || ""; + const cityMatch = citiesData.find((city) => + hostname.includes(city.domain.split(".")[0]) + ); + + return { + title: cityMatch ? cityMatch.title : "نوبت724", + description: cityMatch + ? cityMatch.description + : "نوبت 724 - سیستم آنلاین نوبت‌دهی برای پزشکان و کلینیک‌ها. با استفاده از نوبت 724، به راحتی نوبت پزشکی خود را به صورت آنلاین رزرو کنید و از خدمات سریع و کارآمد ما بهره‌مند شوید", + keywords: cityMatch + ? cityMatch.keywords + : "نوبت 724, نوبت دهی, رزرو نوبت, پزشک, پزشکی, کلینیک, بیمارستان, نوبت آنلاین, سیستم نوبت دهی, سیستم نوبت دهی آنلاین, سیستم نوبت دهی پزشکی, سیستم نوبت دهی کلینیک, سیستم نوبت دهی بیمارستان, سیستم نوبت دهی آنلاین پزشکی, سیستم نوبت دهی آنلاین کلینیک, سیستم نوبت دهی آنلاین بیمارستان", + openGraph: { + images: ["https://www.nobat724.com/assets/images/logo.png"], + }, + }; +} export default function RootLayout({ children }) { return ( - + + + diff --git a/components/home/index.js b/components/home/index.js index b1e8503..71987aa 100644 --- a/components/home/index.js +++ b/components/home/index.js @@ -20,7 +20,7 @@ function HomePage() {

{isProvinceInclude?.slogan} diff --git a/components/icons/BText.js b/components/icons/BText.js index 0aba7b9..244a4c1 100644 --- a/components/icons/BText.js +++ b/components/icons/BText.js @@ -6,6 +6,7 @@ function BText() { height="25" viewBox="0 0 24 25" fill="none" + className="rotate-180" >