diff --git a/app/clinic/[slug]/page.js b/app/clinic/[slug]/page.js index 01155f3..bf68f43 100644 --- a/app/clinic/[slug]/page.js +++ b/app/clinic/[slug]/page.js @@ -2,6 +2,7 @@ import ClinicPage from "@/components/clinic"; import Layout from "@/components/layout/StLayout"; import { fetchReq } from "@/lib/req"; import { getStateInfo } from "@/lib/getStateInfo"; +import { imageUrl } from "@/helper"; export async function generateMetadata({ params }) { const { slug } = await params; @@ -10,7 +11,8 @@ export async function generateMetadata({ params }) { const siteName = matchedCity?.site_name || "نوبت 724"; try { - const clinic = await fetchReq(`${API_URL}/api/v1/clinic/${slug}`); + const res = await fetchReq(`${API_URL}/api/v1/clinic/${slug}`); + const clinic = res?.data?.data; if (!clinic) return {}; const title = `${clinic.title} | ${siteName}`; @@ -22,8 +24,8 @@ export async function generateMetadata({ params }) { openGraph: { title, description, - images: clinic.images_clinic?.[0] - ? [clinic.images_clinic[0]] + images: clinic.images_clinic?.[0]?.url + ? [imageUrl(clinic.images_clinic[0].url)] : ["https://www.nobat724.com/assets/images/logo.png"], }, }; @@ -34,8 +36,9 @@ export async function generateMetadata({ params }) { async function Clinic({ params, searchParams }) { const { slug } = await params; + const sp = await searchParams; const API_URL = process.env.NEXT_PUBLIC_API_URL; - const page = Number(searchParams?.page) || 1; + const page = Number(sp?.page) || 1; const limit = 50; const reqClinics = await fetchReq(`${API_URL}/api/v1/clinic/${slug}`); @@ -43,16 +46,18 @@ async function Clinic({ params, searchParams }) { `${API_URL}/api/v1/clinic/doctor-list/${slug}?page=${page}&limit=${limit}` ); - const clinic = reqClinics; - const doctors = reqDoctors?.data || []; - const pagedoctors = reqDoctors?.page; + const clinic = reqClinics?.data?.data || null; + const doctors = reqDoctors?.data?.data || []; + const pagedoctors = reqDoctors?.data?.meta; const jsonLd = clinic ? { "@context": "https://schema.org", "@type": "MedicalClinic", name: clinic.title, - ...(clinic.images_clinic?.[0] && { image: clinic.images_clinic[0] }), + ...(clinic.images_clinic?.[0]?.url && { + image: imageUrl(clinic.images_clinic[0].url), + }), } : null; diff --git a/components/clinic/components/about/images/Images.js b/components/clinic/components/about/images/Images.js index 303fd49..25c4555 100644 --- a/components/clinic/components/about/images/Images.js +++ b/components/clinic/components/about/images/Images.js @@ -2,9 +2,10 @@ import List from "./List"; import Slider from "./Slider"; import Image from "next/image"; import CustomLoading from "@/app/component/loading/Custom"; +import { imageUrl } from "@/helper"; function Images({ data }) { - const images_clinic = data.images_clinic; + const images_clinic = data?.images_clinic || []; return (
img clinic img clinic