add loading for redirect button from home to doctors page && change filter for field search in name or specialty and set in url && fix bug select city in home page

This commit is contained in:
ehsan
2025-09-21 23:12:47 +03:30
parent dfc8492afa
commit e11f4ed3c5
8 changed files with 75 additions and 22 deletions
@@ -19,7 +19,6 @@ function AutoComplete({
},
}
: {};
console.log(inputValue);
return (
<Autocomplete
+28 -5
View File
@@ -20,11 +20,10 @@ function SearchField({ filter, setFilter, updateData, setDataInURL }) {
// setDataInURL(newFilter);
};
console.log(filter);
const handleSearch = (e) => {
const findName = specialties.find((item) => item.name === e);
console.log(findName);
const searchParams = new URLSearchParams(window.location.search);
let dataUrl = {};
if (findName) {
let newFilter = { ...filter };
@@ -32,19 +31,43 @@ function SearchField({ filter, setFilter, updateData, setDataInURL }) {
const itemParent = specialties.find(
(item) => item.id === findName.parent
);
dataUrl.specialty = findName.name;
newFilter.category = itemParent;
newFilter.specialty = findName;
// updateData("name", e);
} else {
dataUrl.specialty = findName.name;
newFilter.category = findName;
newFilter.specialty = "";
}
newFilter.name = e
searchParams.delete("name");
Object.entries(dataUrl).forEach(([key, value]) => {
if (value) {
searchParams.set(key, value);
}
});
router.push(`?${searchParams.toString()}`);
newFilter.name = e;
setFilter(newFilter);
// const newFilter = { ...filter, [name]: e };
// setFilter(newFilter);
} else {
updateData("name", e);
let newFilter = filter;
if (
filter.name === filter.specialty?.name ||
filter.name === filter.category?.name
) {
searchParams.delete("specialty");
newFilter.specialty = "";
newFilter.category = "";
router.push(`?${searchParams.toString()}`);
}
newFilter.name = e;
// updateData("name", e);
setFilter(newFilter);
setDataInURL(newFilter);
}
};
+2 -2
View File
@@ -28,8 +28,8 @@ function SendReq({ filter, setFilter, setDataInURL, sendReq }) {
const filterData = () => {
setLoading(true);
// const newFilter = checkName();
setFilter(filter);
setDataInURL(filter);
// setFilter(filter);
// setDataInURL(filter);
sendReq(filter).finally(() => {
setLoading(false);