From 3c9013ff0c10ecbe0fca5fc92b9048e829f42a85 Mon Sep 17 00:00:00 2001
From: hamed <15238-genius.ha@users.noreply.drupalcode.org>
Date: Fri, 5 Jun 2026 21:05:07 +0330
Subject: [PATCH] check lighthous
---
app/component/ItemDoctor.js | 3 +-
app/component/Logo.js | 2 +-
app/globals.css | 76 ++++---------------------
app/layout.js | 6 +-
components/doctors/listDoctors/index.js | 3 +-
components/home/FrequentSearches.js | 25 ++++----
components/home/TextHeader.js | 4 +-
components/home/index.js | 10 +++-
components/layout/footer/index.js | 1 +
next.config.js | 1 -
10 files changed, 43 insertions(+), 88 deletions(-)
diff --git a/app/component/ItemDoctor.js b/app/component/ItemDoctor.js
index ff97923..938d9eb 100644
--- a/app/component/ItemDoctor.js
+++ b/app/component/ItemDoctor.js
@@ -11,7 +11,7 @@ import ClockD from "@/components/icons/ClockD";
import LikeD from "@/components/icons/LikeD";
import PointD from "@/components/icons/PointD";
-function ItemDoctor({ doctor, loading, setDoctors }) {
+function ItemDoctor({ doctor, loading, setDoctors, priority = false }) {
const handleLoading = () => {
setDoctors((prevDoctors) =>
prevDoctors.map((item) =>
@@ -33,6 +33,7 @@ function ItemDoctor({ doctor, loading, setDoctors }) {
alt="image-doctor"
src={doctor?.img?.[0]?.url || "/assets/images/user.png"}
className="object-contain rounded-full w-[64px] md:w-[68px] lg:w-[72px] h-[64px] md:h-[68px] lg:h-[72px]"
+ priority={priority}
/>
diff --git a/app/component/Logo.js b/app/component/Logo.js
index d1fac10..e05a070 100644
--- a/app/component/Logo.js
+++ b/app/component/Logo.js
@@ -13,7 +13,7 @@ function Logo({ isAbsolute, matchedCity }) {
height={30}
alt="logo"
/>
-
+
{matchedCity?.site_name || "نوبت ۷۲۴"}
diff --git a/app/globals.css b/app/globals.css
index 7a6b021..505889a 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -2,116 +2,69 @@
@tailwind components;
@tailwind utilities;
-/* Font Kalame */
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-Thin.ttf);
- font-weight: 100;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-ExtraLight.ttf);
- font-weight: 200;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-Light.ttf);
- font-weight: 300;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-Regular.ttf);
- font-weight: 400;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-Medium.ttf);
- font-weight: 500;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-SemiBold.ttf);
- font-weight: 600;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-Bold.ttf);
- font-weight: 700;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-ExtraBold.ttf);
- font-weight: 800;
-}
-
-@font-face {
- font-family: kalame;
- src: url(../public/fonts/kalame/StandardFonts/TTF/Kalameh-Black.ttf);
- font-weight: 900;
-}
-
/* Font Vazir */
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-Thin.ttf);
font-weight: 100;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-ExtraLight.ttf);
font-weight: 200;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-Light.ttf);
font-weight: 300;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-Regular.ttf);
font-weight: 400;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-Medium.ttf);
font-weight: 500;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-SemiBold.ttf);
font-weight: 600;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-Bold.ttf);
font-weight: 700;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-ExtraBold.ttf);
font-weight: 800;
+ font-display: swap;
}
@font-face {
font-family: vazir;
src: url(../public/fonts/vazir/Vazirmatn-RD-FD-Black.ttf);
font-weight: 900;
+ font-display: swap;
}
body {
@@ -121,7 +74,9 @@ body {
background: #fafafa;
}
-body * {
+/* transition-colors only on theme-sensitive elements, not every DOM node */
+.dark,
+[data-theme] {
@apply transition-colors duration-500;
}
@@ -147,9 +102,6 @@ html {
border-radius: 20px;
}
-.font-kalame {
- font-family: kalame;
-}
.auto-complete-selector .MuiInputBase-root svg path {
stroke: #525252 !important;
@@ -164,7 +116,6 @@ html {
}
.bg-banner-home {
- background: url(../public/assets/images/banner-home.png);
position: relative;
}
@@ -292,9 +243,6 @@ html {
border-radius: 8px !important;
}
- .MuiModal-root div:nth-child(3) {
- /* border-radius: 0 !important; */
- }
}
/* Hidden Scroll */
diff --git a/app/layout.js b/app/layout.js
index 0436eaa..dbcaeb1 100644
--- a/app/layout.js
+++ b/app/layout.js
@@ -16,9 +16,7 @@ export async function generateMetadata() {
const baseMetadata = {
title: matchedCity ? matchedCity.title : "نوبت724",
- description: matchedCity
- ? matchedCity.description
- : "نوبت 724 - سیستم آنلاین نوبتدهی برای پزشکان و کلینیکها. با استفاده از نوبت 724، به راحتی نوبت پزشکی خود را به صورت آنلاین رزرو کنید و از خدمات سریع و کارآمد ما بهرهمند شوید",
+ description: matchedCity?.description || "نوبت 724 - سیستم آنلاین نوبتدهی برای پزشکان و کلینیکها. با استفاده از نوبت 724، به راحتی نوبت پزشکی خود را به صورت آنلاین رزرو کنید و از خدمات سریع و کارآمد ما بهرهمند شوید",
keywords: matchedCity
? matchedCity.keywords
: "نوبت 724, نوبت دهی, رزرو نوبت, پزشک, پزشکی, کلینیک, بیمارستان, نوبت آنلاین, سیستم نوبت دهی, سیستم نوبت دهی آنلاین, سیستم نوبت دهی پزشکی, سیستم نوبت دهی کلینیک, سیستم نوبت دهی بیمارستان, سیستم نوبت دهی آنلاین پزشکی, سیستم نوبت دهی آنلاین کلینیک, سیستم نوبت دهی آنلاین بیمارستان",
@@ -62,7 +60,7 @@ export default function RootLayout({ children }) {
diff --git a/components/doctors/listDoctors/index.js b/components/doctors/listDoctors/index.js
index 0bb1a07..67dc7d3 100644
--- a/components/doctors/listDoctors/index.js
+++ b/components/doctors/listDoctors/index.js
@@ -57,11 +57,12 @@ function ListDoctors({
{doctors && doctors.length ? (
- {doctors?.map((doctor) => (
+ {doctors?.map((doctor, idx) => (
))}
diff --git a/components/home/FrequentSearches.js b/components/home/FrequentSearches.js
index d73b153..946c228 100644
--- a/components/home/FrequentSearches.js
+++ b/components/home/FrequentSearches.js
@@ -13,26 +13,25 @@ function FrequentSearches() {
{childrenList.map((item, idx) => (
-
- -
+
-
+
-
-
+
+
))}
diff --git a/components/home/TextHeader.js b/components/home/TextHeader.js
index 131709b..8b655b8 100644
--- a/components/home/TextHeader.js
+++ b/components/home/TextHeader.js
@@ -7,11 +7,11 @@ async function TextHeader() {
return (
-
+
با {matchedCity?.site_name}
diff --git a/components/home/index.js b/components/home/index.js
index 4d8d040..a0bd6e2 100644
--- a/components/home/index.js
+++ b/components/home/index.js
@@ -1,11 +1,19 @@
// Components
+import Image from "next/image";
import SearchBar from "./search";
import TextHeader from "./TextHeader";
import FrequentSearches from "./FrequentSearches";
function HomePage() {
return (
-
+
+
diff --git a/components/layout/footer/index.js b/components/layout/footer/index.js
index 90b6256..aef4e1e 100644
--- a/components/layout/footer/index.js
+++ b/components/layout/footer/index.js
@@ -122,6 +122,7 @@ function Footer({ matchedCity }) {
{item.icon}
diff --git a/next.config.js b/next.config.js
index 365e829..0f990b8 100644
--- a/next.config.js
+++ b/next.config.js
@@ -3,7 +3,6 @@ const nextConfig = {
// Add other configurations below
reactStrictMode: true,
images: {
- unoptimized: true,
remotePatterns: [
{
protocol: 'https',