From 6c787fe5fa215829e16e1c098fda98523ebb55ce Mon Sep 17 00:00:00 2001
From: hamed <15238-genius.ha@users.noreply.drupalcode.org>
Date: Mon, 17 Nov 2025 14:50:53 +0330
Subject: [PATCH] refactor: add location address handling in DateTime component
and update Hours component to display address
---
app/component/date/dateTime/hours/index.js | 18 ++++++++++++++++--
app/component/date/dateTime/index.js | 19 +++++++++++++++++++
services/response.js | 2 ++
3 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/app/component/date/dateTime/hours/index.js b/app/component/date/dateTime/hours/index.js
index df895ad..74e99c7 100644
--- a/app/component/date/dateTime/hours/index.js
+++ b/app/component/date/dateTime/hours/index.js
@@ -1,7 +1,7 @@
import List from "./List";
import Loading from "./Loading";
-function Hours({ appo, doctor, hour, setHour, value, nameHours }) {
+function Hours({ appo, doctor, hour, setHour, value, nameHours, locationAddress }) {
if (appo === "loading") {
return ;
} else if (typeof appo === "string") {
@@ -11,7 +11,21 @@ function Hours({ appo, doctor, hour, setHour, value, nameHours }) {
);
} else {
- return
;
+ return (
+ <>
+
+ {locationAddress && (
+
+
+ آدرس مطب:
+
+
+ {locationAddress}
+
+
+ )}
+ >
+ );
}
}
diff --git a/app/component/date/dateTime/index.js b/app/component/date/dateTime/index.js
index de0dc13..37aab6b 100644
--- a/app/component/date/dateTime/index.js
+++ b/app/component/date/dateTime/index.js
@@ -13,12 +13,30 @@ function DateTime({ date, doctor, setStep }) {
const [value, setValue] = useState(0);
const [hour, setHour] = useState();
const [appo, setAppo] = useState("تاریخ مورد نظرتان را انتخاب کنید.");
+ const [locationAddress, setLocationAddress] = useState(null);
const handleChange = (event, newValue) => {
setHour();
setValue(newValue);
};
+ // دریافت آدرس بر اساس location_id وقتی ساعت انتخاب میشود
+ useEffect(() => {
+ if (hour && hour.location_id) {
+ request
+ .getDoctorAddress(hour.location_id)
+ .then((res) => {
+ setLocationAddress(res.address);
+ })
+ .catch((err) => {
+ console.error("Error fetching address:", err);
+ setLocationAddress(null);
+ });
+ } else {
+ setLocationAddress(null);
+ }
+ }, [hour]);
+
useEffect(() => {
if (date && doctor?.id) {
setAppo("loading");
@@ -85,6 +103,7 @@ function DateTime({ date, doctor, setStep }) {
doctor={doctor}
setHour={setHour}
nameHours={nameHours}
+ locationAddress={locationAddress}
/>
diff --git a/services/response.js b/services/response.js
index 0ff1672..63b8280 100644
--- a/services/response.js
+++ b/services/response.js
@@ -96,4 +96,6 @@ export const request = {
Authorization: "",
},
}),
+ getDoctorAddress: (location_id) =>
+ api.get(`api/v1/clinic-pro/doctor-address/${location_id}`, removeTokenHead),
};