- Bumped versions for several packages including: - @emotion/styled from ^11.14.0 to ^11.14.1 - @maptiler/sdk from ^2.4.0 to ^2.5.1 - @mui/icons-material from ^7.1.0 to ^7.3.6 - @mui/material from ^7.1.0 to ^7.3.6 - @mui/styled-engine-sc from ^6.0.0-alpha.18 to ^6.4.9 - @mui/x-charts from ^7.16.0 to ^7.29.1 - @mui/x-date-pickers from ^7.17.0 to ^7.29.4 - @next/third-parties from ^15.1.0 to ^15.5.7 - axios from ^1.7.7 to ^1.13.2 - dayjs from ^1.11.13 to ^1.11.19 - jspdf from ^3.0.1 to ^3.0.4 - next from ^14.2.20 to ^15.5.7 - next-themes from ^0.3.0 to ^0.4.6 - npm from ^10.8.2 to ^10.9.4 - react from ^18.0.0 to ^18.3.1 - react-dom from ^18 to ^18.3.1 - react-easy-crop from ^5.1.0 to ^5.5.6 - react-toastify from ^10.0.6 to ^11.0.5 - sharp from ^0.34.1 to ^0.34.5 - styled-components from ^6.1.11 to ^6.1.19 - stylis from ^4.3.4 to ^4.3.6 - swiper from ^11.1.9 to ^11.2.10 - postcss from ^8 to ^8.5.6 - prettier from ^3.5.3 to ^3.7.4 - tailwindcss from ^3.4.1 to ^3.4.18
51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
import DoctorsPage from "@/components/doctors";
|
|
import Layout from "@/components/layout/StLayout";
|
|
import { buildDoctorParams } from "@/helper";
|
|
import { getStateInfo } from "@/lib/getStateInfo";
|
|
import axios from "axios";
|
|
|
|
async function Doctors({ searchParams }) {
|
|
const awaitedSearchParams = await searchParams;
|
|
const { matchedCity, matchedState } = await getStateInfo();
|
|
const API_URL = process.env.NEXT_PUBLIC_API_URL;
|
|
|
|
let doctors = null;
|
|
const stateParams = awaitedSearchParams.state;
|
|
const cityParams = awaitedSearchParams.city;
|
|
|
|
try {
|
|
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 = buildDoctorParams(newSearchParams);
|
|
|
|
const response = await axios.get(`${API_URL}/api/v1/doctors`, {
|
|
params,
|
|
});
|
|
doctors = response.data;
|
|
} catch (error) {
|
|
console.error("Error fetching doctors:", error);
|
|
}
|
|
|
|
return (
|
|
<Layout>
|
|
<DoctorsPage
|
|
list={doctors}
|
|
params={searchParams}
|
|
matchedCity={matchedCity}
|
|
matchedState={matchedState}
|
|
/>
|
|
</Layout>
|
|
);
|
|
}
|
|
|
|
export default Doctors;
|