diff --git a/app/component/ItemDoctor.js b/app/component/ItemDoctor.js
index 719ba37..4d3ea87 100644
--- a/app/component/ItemDoctor.js
+++ b/app/component/ItemDoctor.js
@@ -20,7 +20,7 @@ function ItemDoctor({ doctor }) {
- {doctor.name} + {doctor?.name}
- تخصص: {doctor.expertise} + تخصص: {doctor?.expertise}
- {doctor.satisfaction}% + {doctor?.satisfaction}%
- {doctor.point} + {doctor?.point}
- ساعت کاری: {doctor.hours_of_work} + ساعت کاری: {doctor?.hours_of_work}
- {Number(doctor.active) - ? `اولین نوبت آزاد: ${Number(doctor.active)}` + {Number(doctor?.active) + ? `اولین نوبت آزاد: ${Number(doctor?.active)}` : "نوبت ندارد"}
{/* Arrow */} - + diff --git a/app/component/date/datePicker/date/FirstDatePicker.js b/app/component/date/datePicker/date/FirstDatePicker.js index 56e867c..44c2d0a 100644 --- a/app/component/date/datePicker/date/FirstDatePicker.js +++ b/app/component/date/datePicker/date/FirstDatePicker.js @@ -5,8 +5,9 @@ import LoadingDate from "../LoadingDate"; import Image from "next/image"; function FirstDatePicker({ - startDate, loading, + startDate, + disableDates, handleDisableDate, nextIconDatePickerF, prevIconDatePickerF, diff --git a/app/component/date/datePicker/index.js b/app/component/date/datePicker/index.js index 0a364ad..f13e1a9 100644 --- a/app/component/date/datePicker/index.js +++ b/app/component/date/datePicker/index.js @@ -4,6 +4,8 @@ import { useEffect, useRef, useState } from "react"; import FirstDatePicker from "./date/FirstDatePicker"; import SecondDatePicker from "./date/SecondDatePicker"; import { dateToTimestamp } from "@/helper"; +import { request } from "@/services/response"; +import moment from "moment-jalaali"; function DatePicker({ setDate }) { const nextIconDatePickerF = useRef(); @@ -14,6 +16,7 @@ function DatePicker({ setDate }) { const [startDate, setStartDate] = useState(null); const [endDate, setEndDate] = useState(); const [loading, setLoading] = useState(true); + const [disableDates, setDisableDates] = useState([]); const handleStartDateChange = (date, e) => { if (date) { @@ -31,16 +34,35 @@ function DatePicker({ setDate }) { } }; + const handleDisableDate = (e) => { - const today = new Date(); - return today >= e._d; + const date = moment(e).startOf("day"); + const today = moment().startOf("day"); + + if (date.isBefore(today)) return true; + + if ( + disableDates.some((ts) => date.isSame(moment.unix(ts).startOf("day"))) + ) { + return true; + } + + return false; }; useEffect(() => { + request + .getAppointmentNotAvailable(47) + .then((res) => { + setTimeout(() => { + setLoading(false); + }, 1000); + setDisableDates(res.data); + }) + .catch((err) => { + }); if (nextIconDatePickerS.current) { nextIconDatePickerS.current.click(); - - setLoading(false); } }, [nextIconDatePickerS]); @@ -49,6 +71,7 @@ function DatePicker({ setDate }) {- آدرس: {doctor.location} + آدرس: {doctor?.location}
- {doctor.name} + {doctor?.name}
- تخصص: {doctor.expertise} + تخصص: {doctor?.expertise}