From 38e243b4c7d5e348de548359173bd3e89e657a8c Mon Sep 17 00:00:00 2001 From: Ehsan Date: Tue, 27 May 2025 22:27:02 +0330 Subject: [PATCH] change design dashboards all page and search clinics --- components/clinic/components/doctors/index.js | 2 +- components/clinics/head/SearchBar.js | 18 ++++- components/clinics/index.js | 15 ++-- .../dashboard/userAccount/components/Head.js | 4 +- .../userAccount/components/UpdateBtn.js | 16 +++++ .../userAccount/tabs/allergies/index.js | 2 + .../userAccount/tabs/disease/index.js | 16 +---- .../userAccount/tabs/familyHistory/index.js | 2 + .../userAccount/tabs/medications/index.js | 2 + .../userAccount/tabs/relatives/index.js | 2 + .../userAccount/tabs/surgeries/index.js | 2 + components/register/LogInPage.js | 2 +- components/searchHead/SmSearch.js | 71 ------------------- .../searchHead/smSearch/AutoCompleteSearch.js | 54 ++++++++++++++ components/searchHead/smSearch/index.js | 41 +++++++++++ components/specialties/index.js | 2 +- helper/index.js | 2 +- 17 files changed, 155 insertions(+), 98 deletions(-) create mode 100644 components/dashboard/userAccount/components/UpdateBtn.js delete mode 100644 components/searchHead/SmSearch.js create mode 100644 components/searchHead/smSearch/AutoCompleteSearch.js create mode 100644 components/searchHead/smSearch/index.js diff --git a/components/clinic/components/doctors/index.js b/components/clinic/components/doctors/index.js index ea4374e..b0f432f 100644 --- a/components/clinic/components/doctors/index.js +++ b/components/clinic/components/doctors/index.js @@ -1,6 +1,6 @@ "use client"; -import SmSearch from "@/components/searchHead/SmSearch"; +import SmSearch from "@/components/searchHead/smSearch"; import List from "./List"; import { useState } from "react"; import { searchOnList } from "@/helper"; diff --git a/components/clinics/head/SearchBar.js b/components/clinics/head/SearchBar.js index 20f14ba..2b6bd3c 100644 --- a/components/clinics/head/SearchBar.js +++ b/components/clinics/head/SearchBar.js @@ -3,8 +3,15 @@ import SearchD from "@/components/icons/SearchD"; import ModalSearchCity from "@/app/component/modalSearchCity"; import { useState } from "react"; import ButtonFilter from "@/app/component/modalSearchCity/ButtonFilter"; +import AutoCompleteSearch from "@/components/searchHead/smSearch/AutoCompleteSearch"; -function SearchBar({ selected, setSelected, state, handleSearch }) { +function SearchBar({ + selected, + setSelected, + specialties, + state, + handleSearch, +}) { const [open, setOpen] = useState(false); return ( @@ -25,7 +32,12 @@ function SearchBar({ selected, setSelected, state, handleSearch }) { > - + {/* handleSearch(e.target.value)} InputProps={{ @@ -40,7 +52,7 @@ function SearchBar({ selected, setSelected, state, handleSearch }) { placeholder="جستجوی تخصص" dir="rtl" className={`!shadow-none !w-full !min-w-3 !px-5 !h-full bg-[#FAFAFA] !text-[14px] md:!text-[16px] lg:!min-w-[50%] !rounded-0 !font-normal !text-[#6C757D]`} - /> + /> */} + ); +} + +export default UpdateBtn; diff --git a/components/dashboard/userAccount/tabs/allergies/index.js b/components/dashboard/userAccount/tabs/allergies/index.js index 1851dc9..fa9975c 100644 --- a/components/dashboard/userAccount/tabs/allergies/index.js +++ b/components/dashboard/userAccount/tabs/allergies/index.js @@ -5,6 +5,7 @@ import TrashB from "@/components/icons/TrashB"; import { Button, TableCell, TableRow } from "@mui/material"; import Head from "../../components/Head"; import AddBtn from "../../components/AddBtn"; +import UpdateBtn from "../../components/UpdateBtn"; function Allergies({ data }) { const tableHead = ["ردیف", "ماده آلرژی‌زا", "واکنش", "شدت", ""]; @@ -13,6 +14,7 @@ function Allergies({ data }) { return (
+ -
- - -
+ + + + + - option.name} - inputValue={inputValue} - className="!w-full" - onInputChange={(event, newInputValue) => { - setInputValue(newInputValue); - handleSearch(newInputValue); - }} - onChange={(event, newValue) => { - setSelectedOption(newValue); - handleSearch(newValue ? newValue.name : ""); - }} - renderInput={(params) => ( - - )} - /> - - - ); -} - -export default SmSearch; diff --git a/components/searchHead/smSearch/AutoCompleteSearch.js b/components/searchHead/smSearch/AutoCompleteSearch.js new file mode 100644 index 0000000..33596a3 --- /dev/null +++ b/components/searchHead/smSearch/AutoCompleteSearch.js @@ -0,0 +1,54 @@ +import { Autocomplete, TextField } from "@mui/material"; + +function AutoCompleteSearch({ + data, + inputValue, + placeholder, + handleSearch, + setInputValue, + setSelectedOption, +}) { + return ( + option.name} + inputValue={inputValue} + className="!w-full" + onInputChange={(event, newInputValue) => { + setInputValue && setInputValue(newInputValue); + handleSearch(newInputValue); + }} + onChange={(event, newValue) => { + setSelectedOption(newValue); + handleSearch(newValue ? newValue.name : ""); + }} + renderInput={(params) => ( + + )} + /> + ); +} + +export default AutoCompleteSearch; diff --git a/components/searchHead/smSearch/index.js b/components/searchHead/smSearch/index.js new file mode 100644 index 0000000..50ba3d2 --- /dev/null +++ b/components/searchHead/smSearch/index.js @@ -0,0 +1,41 @@ +import SearchD from "@/components/icons/SearchD"; +import { Button, ButtonGroup } from "@mui/material"; +import { useState } from "react"; +import AutoCompleteSearch from "./AutoCompleteSearch"; + +function SmSearch({ placeholder, handleSearch, data }) { + const [inputValue, setInputValue] = useState(""); + const [selectedOption, setSelectedOption] = useState(null); + + return ( + + + + + ); +} + +export default SmSearch; diff --git a/components/specialties/index.js b/components/specialties/index.js index cdc776f..524d636 100644 --- a/components/specialties/index.js +++ b/components/specialties/index.js @@ -2,7 +2,7 @@ import { useState } from "react"; import List from "./list"; -import SmSearch from "../searchHead/SmSearch"; +import SmSearch from "../searchHead/smSearch"; import HeadPageList from "@/app/component/head"; import specialtiesData from "@/data/specialties.json"; import { searchOnList } from "@/helper"; diff --git a/helper/index.js b/helper/index.js index 4571021..e341cce 100644 --- a/helper/index.js +++ b/helper/index.js @@ -142,7 +142,7 @@ export function validatePhoneNumber(input) { export const searchOnList = (list, value, name) => { let newList = list; - newList = list.filter((item) => item[name].toLowerCase().includes(value)); + newList = list.filter((item) => item[name]?.toLowerCase()?.includes(value)); return newList; };