fix(doctors): improve filter performance and resolve modal closing issues
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
"use client";
|
||||
|
||||
import { useState, useEffect } from "react";
|
||||
import { useMemo } from "react";
|
||||
import { Modal, Box } from "@mui/material";
|
||||
import { styleDefault } from "@/mui";
|
||||
|
||||
@@ -20,25 +20,13 @@ function ModalSearchCity({
|
||||
}) {
|
||||
const stateSelected = filter?.state?.name;
|
||||
|
||||
const [filteredCities, setFilteredCities] = useState([]);
|
||||
|
||||
const handleClose = () => setOpen(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (stateSelected) {
|
||||
const selectedState = states.find(
|
||||
(state) => state.name === stateSelected
|
||||
);
|
||||
if (selectedState) {
|
||||
const stateId = selectedState.id;
|
||||
const filteredCities = cities.filter(
|
||||
(city) => city.province_id === stateId
|
||||
);
|
||||
setFilteredCities(filteredCities);
|
||||
}
|
||||
} else {
|
||||
setFilteredCities([]);
|
||||
}
|
||||
const filteredCities = useMemo(() => {
|
||||
if (!stateSelected) return [];
|
||||
const selectedState = states.find((s) => s.name === stateSelected);
|
||||
if (!selectedState) return [];
|
||||
return cities.filter((c) => c.province_id === selectedState.id);
|
||||
}, [stateSelected]);
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user