import { fetchReq } from "@/lib/req"; import ClinicsPage from "@/components/clinics"; import Layout from "@/components/layout/StLayout"; import { getStateInfo } from "@/lib/getStateInfo"; import { buildClinicParams } from "@/helper"; export async function generateMetadata() { const { matchedCity, matchedState } = await getStateInfo(); const siteName = matchedCity?.site_name || "نوبت 724"; const cityName = matchedCity?.name || matchedState?.name || ""; const title = cityName ? `کلینیک‌های ${cityName} | جستجو و رزرو نوبت | ${siteName}` : `جستجوی کلینیک و مراکز درمانی | ${siteName}`; const description = cityName ? `لیست کلینیک‌ها و مراکز درمانی در ${cityName}. رزرو آنلاین نوبت از بهترین مراکز درمانی ${cityName}.` : `جستجوی کلینیک‌ها و مراکز درمانی در سراسر کشور. رزرو آنلاین نوبت سریع و آسان.`; return { title, description, openGraph: { title, description }, }; } export default async function Clinics({ searchParams }) { const awaitedSearchParams = await searchParams; const { matchedCity, matchedState } = await getStateInfo(); const API_URL = process.env.NEXT_PUBLIC_API_URL; const stateParams = awaitedSearchParams.state; const cityParams = awaitedSearchParams.city; let clinics; try { // Params let newSearchParams = awaitedSearchParams; // Conditional State if (stateParams) newSearchParams.state = stateParams; else if (matchedState) newSearchParams.state = matchedState.name; // Conditional City if (cityParams) newSearchParams.city = cityParams; else if (matchedCity && matchedCity.id !== "600") newSearchParams.city = matchedCity.name; const params = buildClinicParams(newSearchParams); // Req clinics = await fetchReq(`${API_URL}/api/v1/clinics`, { params, }); } catch (err) { } return ( ); }