From cd32f6c8bdecbf12c8f6b0225c527e537b476b09 Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Thu, 23 Jul 2026 19:38:01 +0330 Subject: [PATCH] fix(doctor): 404 deactivated doctor profile page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deactivated doctors are now absent from the public list, but their /doctor/{uuid} page still loaded. getDoctor() now treats the backend's raw `is_active === false` as not-found, so the profile 404s like the list — matching the site's "hide inactive doctors" behavior. Co-Authored-By: Claude Opus 4.8 (1M context) --- app/doctor/[slug]/page.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/doctor/[slug]/page.js b/app/doctor/[slug]/page.js index 3507261..c02d64a 100644 --- a/app/doctor/[slug]/page.js +++ b/app/doctor/[slug]/page.js @@ -22,7 +22,11 @@ const getDoctor = cache(async (slug) => { if (res.status === 404 || res.status === 400) return null; if (!res.ok) throw new Error(`Failed to fetch doctor: ${res.status}`); const json = await res.json(); - return json?.data?.data ?? null; + const doctor = json?.data?.data ?? null; + // پزشک غیرفعال (ادمین فلگ فعال را خاموش کرده) نباید در سایت نمایش داده شود؛ + // صفحهٔ تکی هم مثل لیست عمومی 404 می‌شود. + if (doctor?.is_active === false) return null; + return doctor; }); const getDoctorAddresses = cache(async (doctorId) => {