change component file & set data in url & handle remove all variable

This commit is contained in:
Ehsan
2025-05-16 17:19:38 +03:30
parent a016d3319a
commit 7fddf65026
5 changed files with 62 additions and 42 deletions
+26 -28
View File
@@ -3,11 +3,14 @@ import RadioContent from "./RadioContent";
import { FormControlLabel, Switch } from "@mui/material";
import specialties from "@/data/specialties.json";
import { addKeyToList } from "@/helper";
import { useEffect } from "react";
import { useRouter } from "next/navigation";
const group1 = ["خانم", "آقا", "هر دو"];
const group2 = ["فوق تخصص", "دکترای تخصصی", "متخصص", "دکتری"];
function Content({ data, setData }) {
const router = useRouter();
const parentList = specialties.filter(item => !item.parent);
const childrenList = specialties.filter(item => item.parent);
@@ -16,33 +19,36 @@ function Content({ data, setData }) {
const filteredChildrenList = changedChildrenList.filter(item => item.parent === data.category.id);
console.log(data);
const changeData = (value, name) => {
console.log(value);
console.log(name);
setData({ ...data, [name]: value })
};
const current = new URLSearchParams(window.location.search);
current.set(name, value.id || value);
const queryString = current.toString();
router.push(`/doctors?${queryString}`)
setData({ ...data, [name]: value });
}
return (
<div className="mt-[50px] px-[0px] md:px-[19px] lg:px-[38px] mb-[32px]">
<AutoCompleteSelect
list={changedParentList}
updateData={changeData}
sendAll={true}
value={data.category.name}
label="دسته بندی"
name="category"
/>
<div className="mt-[24px]">
<AutoCompleteSelect
list={filteredChildrenList}
disabled={!data.category}
updateData={changeData}
value={data.expertise}
name="expertise"
label="تخصص"
/>
</div>
{!!filteredChildrenList.length && (
<div className="mt-[24px]">
<AutoCompleteSelect
list={filteredChildrenList}
updateData={changeData}
sendAll={true}
value={data.expertise}
name="expertise"
label="تخصص"
/>
</div>
)}
<div className="mt-[40px] mb-[32px]">
<RadioContent
changeData={changeData}
@@ -61,17 +67,11 @@ function Content({ data, setData }) {
/>
<span className="block mt-[16px] mb-[24px] w-full h-px bg-[#EFEFEF]"></span>
<div className="flex items-center justify-start gap-[12px]">
{/* <p className="text-[#3B3B3B] text-[16px] font-medium">
فقط پزشکان دارای نوبت
</p> */}
{/* <Switch
onChange={(event) =>
changeData(event.target.checked, "turn")
}
/> */}
<FormControlLabel
control={
<Switch
// value={data.turn}
checked={data.turn}
onChange={(event) => changeData(event.target.checked, "turn")}
/>
}
@@ -81,12 +81,10 @@ function Content({ data, setData }) {
fontSize: "16px",
fontWeight: 500,
},
".MuiFormControlLabel-root.MuiFormControlLabel-labelPlacementStart": {
marginRight: '0 !important'
}
marginLeft: '0 !important',
}}
label="فقط پزشکان دارای نوبت"
labelPlacement="start" // متن را سمت راست یا چپ قرار می‌دهد
labelPlacement="start"
/>
</div>
</div>