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; const API_URL = process.env.NEXT_PUBLIC_API_URL; const { matchedCity } = await getStateInfo(); const siteName = matchedCity?.site_name || "نوبت 724"; try { const res = await fetchReq(`${API_URL}/api/v1/clinic/${slug}`); const clinic = res?.data?.data; if (!clinic) return {}; const title = `${clinic.title} | ${siteName}`; const description = `رزرو نوبت و اطلاعات ${clinic.title}. مشاهده لیست پزشکان و خدمات درمانی موجود.`; return { title, description, openGraph: { title, description, images: clinic.images_clinic?.[0]?.url ? [imageUrl(clinic.images_clinic[0].url)] : ["https://www.nobat724.com/assets/images/logo.png"], }, }; } catch { return {}; } } 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(sp?.page) || 1; const limit = 50; const reqClinics = await fetchReq(`${API_URL}/api/v1/clinic/${slug}`); const reqDoctors = await fetchReq( `${API_URL}/api/v1/clinic/doctor-list/${slug}?page=${page}&limit=${limit}` ); const clinic = reqClinics?.data?.data || null; const doctors = reqDoctors?.data?.data || []; const meta = reqDoctors?.data?.meta; const pagedoctors = meta ? { current: meta.currentPage, total_pages: meta.totalPages } : { current: 1, total_pages: 1 }; const jsonLd = clinic ? { "@context": "https://schema.org", "@type": "MedicalClinic", name: clinic.title, ...(clinic.images_clinic?.[0]?.url && { image: imageUrl(clinic.images_clinic[0].url), }), } : null; return ( <> {jsonLd && (