handle request in modal filters, selector sort, search city with one function and field-search & handle change all data in doctors filter with one function & change modal search location in home page & set data with diffrent key in url of page doctors
This commit is contained in:
@@ -263,3 +263,82 @@ export const degreeVal = [
|
||||
{ name: "پزشک متخصص", val: "specialist" },
|
||||
{ name: "پزشک فوق تخصص", val: "subspecialistplus" },
|
||||
];
|
||||
|
||||
export const QueryForDoctorsFilter = (newFilter) => {
|
||||
const query = {};
|
||||
|
||||
// 🔹 active => only when value === 1
|
||||
if (newFilter.active === 1) {
|
||||
query.active = 1;
|
||||
}
|
||||
|
||||
// 🔹 specialty or category
|
||||
|
||||
if (newFilter.specialty) {
|
||||
query.specialty = newFilter.specialty.name;
|
||||
} else if (newFilter.category) {
|
||||
query.specialty = newFilter.category.name;
|
||||
}
|
||||
|
||||
// 🔹 city
|
||||
if (newFilter.city) {
|
||||
query.city = newFilter.city.name;
|
||||
}
|
||||
|
||||
// 🔹 state
|
||||
if (newFilter.state) {
|
||||
query.state = newFilter.state.name;
|
||||
}
|
||||
|
||||
// 🔹 degree (only if not "همه موارد")
|
||||
if (newFilter.degree && newFilter.degree !== "همه موارد") {
|
||||
query.degree = newFilter.degree;
|
||||
}
|
||||
|
||||
// 🔹 gender (only if not "هر دو")
|
||||
if (newFilter.gender && newFilter.gender !== "هر دو") {
|
||||
query.gender = newFilter.gender;
|
||||
}
|
||||
|
||||
// 🔹 name (only if has value)
|
||||
if (newFilter.name && newFilter.name.trim() !== "") {
|
||||
query.name = newFilter.name;
|
||||
}
|
||||
|
||||
// 🔹 sort => only if value is 3,4,5
|
||||
if ([3, 4, 5].includes(Number(newFilter.sort))) {
|
||||
// query.sort = newFilter.sort === 3 ? "ASC" : "DESC";
|
||||
query.sort = newFilter.sort;
|
||||
}
|
||||
|
||||
return query;
|
||||
};
|
||||
|
||||
export const QueryForDoctorsReq = (newFilter) => {
|
||||
const params = {};
|
||||
|
||||
if (newFilter.active === 1) params.active = 1;
|
||||
|
||||
if (newFilter.specialty?.id) {
|
||||
params.specialty = newFilter.specialty.id;
|
||||
} else if (newFilter.category?.id) {
|
||||
params.specialty = newFilter.category.id;
|
||||
}
|
||||
|
||||
if (newFilter.city?.id) params.city = newFilter.city.id;
|
||||
if (newFilter.state?.id) params.state = newFilter.state.id;
|
||||
|
||||
if (newFilter.degree && newFilter.degree !== "همه موارد")
|
||||
params.degree = newFilter.degree;
|
||||
if (newFilter.gender && newFilter.gender !== "هر دو")
|
||||
params.gender = newFilter.gender;
|
||||
|
||||
if (newFilter.name) params.name = newFilter.name;
|
||||
|
||||
if (newFilter.sort) {
|
||||
if (newFilter.sort === 3) params.sort = "ASC";
|
||||
else if (newFilter.sort === 4 || newFilter.sort === 5) params.sort = "DESC";
|
||||
}
|
||||
|
||||
return params;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user