change design text home page and dynamic metadata beased on hostname

This commit is contained in:
ehsan
2025-05-04 12:31:53 +03:30
parent fa87d5e020
commit 8ee3defdc0
5 changed files with 238 additions and 224 deletions
+23 -10
View File
@@ -4,28 +4,41 @@ import "jalaali-react-date-picker/lib/styles/index.css";
import { Providers } from "./Providers"; import { Providers } from "./Providers";
import { GoogleAnalytics } from "@next/third-parties/google"; import { GoogleAnalytics } from "@next/third-parties/google";
import { GoogleTagManager } from "@next/third-parties/google"; import { GoogleTagManager } from "@next/third-parties/google";
// Toastify
import "react-toastify/dist/ReactToastify.css"; import "react-toastify/dist/ReactToastify.css";
import CustomToastify from "./CustomToastify"; import CustomToastify from "./CustomToastify";
import { ProvinceProvider } from "@/context/ProvinceProvider"; import { ProvinceProvider } from "@/context/ProvinceProvider";
import { headers } from "next/headers";
import citiesData from "@/data/city.json";
export const metadata = { export async function generateMetadata() {
title: "نوبت724", const hostname = headers().get("host") || "";
description: const cityMatch = citiesData.find((city) =>
"نوبت 724 - سیستم آنلاین نوبت‌دهی برای پزشکان و کلینیک‌ها. با استفاده از نوبت 724، به راحتی نوبت پزشکی خود را به صورت آنلاین رزرو کنید و از خدمات سریع و کارآمد ما بهره‌مند شوید", hostname.includes(city.domain.split(".")[0])
keywords: );
"نوبت 724, نوبت دهی, رزرو نوبت, پزشک, پزشکی, کلینیک, بیمارستان, نوبت آنلاین, سیستم نوبت دهی, سیستم نوبت دهی آنلاین, سیستم نوبت دهی پزشکی, سیستم نوبت دهی کلینیک, سیستم نوبت دهی بیمارستان, سیستم نوبت دهی آنلاین پزشکی, سیستم نوبت دهی آنلاین کلینیک, سیستم نوبت دهی آنلاین بیمارستان",
image: "https://www.nobat724.com/assets/images/logo.png", 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 }) { export default function RootLayout({ children }) {
return ( return (
<html lang="fa" dir="rtl" suppressHydrationWarning> <html lang="fa" dir="rtl" suppressHydrationWarning>
<head>
<meta <meta
name="viewport" name="viewport"
content="width=device-width,initial-scale=1,maximum-scale=1" content="width=device-width,initial-scale=1,maximum-scale=1"
/> />
</head>
<ThemeRegistry> <ThemeRegistry>
<GoogleTagManager gtmId="GTM-NXBSV7GS" /> <GoogleTagManager gtmId="GTM-NXBSV7GS" />
<body className="bg-[#FAFAFA]"> <body className="bg-[#FAFAFA]">
+1 -1
View File
@@ -20,7 +20,7 @@ function HomePage() {
</p> </p>
<p <p
className="text-[#525252] text-center mt-2.5 font-kalame text-[16px] sm:text-[25px] md:text-[31px] lg:text-[36px] className="text-[#525252] text-center mt-2.5 font-kalame text-[16px] sm:text-[25px] md:text-[31px] lg:text-[36px]
font-bold flex items-center gap-1 sm:gap-3" font-bold flex items-center gap-1 sm:gap-2"
> >
<BText /> <BText />
{isProvinceInclude?.slogan} {isProvinceInclude?.slogan}
+1
View File
@@ -6,6 +6,7 @@ function BText() {
height="25" height="25"
viewBox="0 0 24 25" viewBox="0 0 24 25"
fill="none" fill="none"
className="rotate-180"
> >
<g clipPath="url(#clip0_209_1152)"> <g clipPath="url(#clip0_209_1152)">
<path <path
+1 -1
View File
@@ -3,7 +3,7 @@
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "cross-env HOST=nobat724.localhost PORT=3000 next dev", "dev": "cross-env HOST=yazd-nobat.localhost PORT=3000 next dev",
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
"lint": "next lint" "lint": "next lint"