Files
nobat724_front/components/clinics/head/SearchBar.js
T

65 lines
1.8 KiB
JavaScript

import { ButtonGroup } from "@mui/material";
import { useState } from "react";
import ButtonFilter from "@/app/component/modalSearchCity/ButtonFilter";
import ModalSearchCity from "@/components/home/search/modal";
import AutoSearch from "./AutoSearch";
import { useRouter } from "next/navigation";
import FilterButton from "./FilterButton";
function SearchBar({
state,
selected,
specialties,
setSelected,
setFilteredClinics,
}) {
const [open, setOpen] = useState(false);
const router = useRouter();
const handleSearch = (e) => {
const specialty = specialties.find((item) => item.name === e);
const searchParams = new URLSearchParams(window.location.search);
if (specialty) {
searchParams.set("specialty", specialty.name);
setSelected({ ...selected, specialty: specialty.name });
} else {
e ? searchParams.set("specialty", e) : searchParams.delete("specialty");
setSelected({ ...selected, specialty: e });
}
router.push(`?${searchParams.toString()}`);
};
return (
<ButtonGroup
variant="contained"
className="
!bg-[#FFF] !w-full sm:!w-2/3 !mt-[30px] !rounded-lg !overflow-hidden flex items-center
!shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!h-fit !pl-1"
>
<ModalSearchCity
open={open}
state={state}
setOpen={setOpen}
selected={selected}
setSelected={setSelected}
>
<ButtonFilter setOpen={setOpen} selected={selected} />
</ModalSearchCity>
<AutoSearch
data={specialties}
inputValue={selected.specialty}
placeholder="جستجوی تخصص"
handleSearch={handleSearch}
/>
<FilterButton
selected={selected}
setFilteredClinics={setFilteredClinics}
/>
</ButtonGroup>
);
}
export default SearchBar;