diff --git a/app/component/ItemDoctor.js b/app/component/ItemDoctor.js
index 9a262ab..6822ffa 100644
--- a/app/component/ItemDoctor.js
+++ b/app/component/ItemDoctor.js
@@ -5,6 +5,7 @@ import Link from "next/link";
import CustomLoading from "./loading/Custom";
import TextLoading from "./loading/Text";
import CircularLoading from "./loading/Circular";
+import { imageUrl } from "@/helper";
// Icons
import ArrowLeftD from "@/components/icons/ArrowLeftD";
@@ -32,7 +33,7 @@ function ItemDoctor({ doctor, loading, setDoctors, priority = false }) {
width={72}
height={72}
alt="image-doctor"
- src={doctor?.img?.[0]?.url || "/assets/images/user.png"}
+ src={imageUrl(doctor?.img?.[0]?.url)}
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/comment/ItemUser.js b/app/component/comment/ItemUser.js
index 6e5dd3b..b8087a2 100644
--- a/app/component/comment/ItemUser.js
+++ b/app/component/comment/ItemUser.js
@@ -1,4 +1,5 @@
import Image from "next/image";
+import { imageUrl } from "@/helper";
import { Button, CircularProgress } from "@mui/material";
// Icons
@@ -75,7 +76,7 @@ function ItemUser({ update, setUpdate, data }) {
diff --git a/components/doctor/detailDoctor/Title.js b/components/doctor/detailDoctor/Title.js
index 702f11a..d4bc9a3 100644
--- a/components/doctor/detailDoctor/Title.js
+++ b/components/doctor/detailDoctor/Title.js
@@ -5,6 +5,7 @@ import LikeDI from "@/components/icons/LikeDI";
import StarDI from "@/components/icons/StarDI";
import TickCircle from "@/components/icons/TickCircle";
import Image from "next/image";
+import { imageUrl } from "@/helper";
function Title({ doctor }) {
return (
@@ -16,7 +17,7 @@ function Title({ doctor }) {
w-[40px] sm:w-[81px] md:w-[123px] lg:w-[164px]
h-[40px] sm:h-[81px] md:h-[123px] lg:h-[164px]
"
- src={doctor?.img?.[0]?.url || "/assets/images/user.png"}
+ src={imageUrl(doctor?.img?.[0]?.url)}
alt="img-doctor"
height={164}
width={164}
diff --git a/components/doctor/poster/ImageProfile.js b/components/doctor/poster/ImageProfile.js
index 6291736..05cf73f 100644
--- a/components/doctor/poster/ImageProfile.js
+++ b/components/doctor/poster/ImageProfile.js
@@ -1,10 +1,11 @@
import Image from "next/image";
+import { imageUrl } from "@/helper";
function ImageProfile({ data }) {
return (
num?.toLocaleString("ar-AE") || "";
export const isActiveURL = (link, name) => link === name;
+// تبدیل مسیر نسبی تصویر (/uploads/...) به URL کامل backend.
+// مسیرهای absolute (http...) و asset های محلی (/assets، /default) دستنخورده میمانند.
+export const imageUrl = (url, fallback = "/assets/images/user.png") => {
+ if (!url) return fallback;
+ if (/^https?:\/\//.test(url)) return url;
+ if (url.startsWith("/uploads")) {
+ const base = process.env.NEXT_PUBLIC_API_URL || "";
+ return `${base}${url}`;
+ }
+ return url;
+};
+
export const convertToJalali = (date) => {
const currentDate = date;