diff --git a/src/pages/concentrators/ConcentratorsPage.tsx b/src/pages/concentrators/ConcentratorsPage.tsx index 5b00b18..4e45f4a 100644 --- a/src/pages/concentrators/ConcentratorsPage.tsx +++ b/src/pages/concentrators/ConcentratorsPage.tsx @@ -51,12 +51,18 @@ export default function ConcentratorsPage() { const [selectedProject, setSelectedProject] = useState(""); const [concentrators, setConcentrators] = useState([]); + const [filteredConcentrators, setFilteredConcentrators] = useState([]); useEffect(() => { - if (visibleProjects.length > 0 && !selectedProject) { - setSelectedProject(visibleProjects[0]); + if (selectedProject) { + const filtered = concentrators.filter( + (c) => c["Area Name"] === selectedProject + ); + setFilteredConcentrators(filtered); + } else { + setFilteredConcentrators(concentrators); } - }, [visibleProjects, selectedProject]); + }, [selectedProject, concentrators]); const loadConcentrators = async () => { setLoadingConcentrators(true); @@ -221,12 +227,10 @@ export default function ConcentratorsPage() { } }; - /* ================= FILTER ================= */ - const filtered = concentrators.filter( + const searchFiltered = filteredConcentrators.filter( (c) => - (c["Device Name"].toLowerCase().includes(search.toLowerCase()) || - c["Device S/N"].toLowerCase().includes(search.toLowerCase())) && - c["Area Name"] === selectedProject + c["Device Name"].toLowerCase().includes(search.toLowerCase()) || + c["Device S/N"].toLowerCase().includes(search.toLowerCase()) ); /* ================= UI ================= */ @@ -249,11 +253,14 @@ export default function ConcentratorsPage() { ) : visibleProjects.length === 0 ? ( ) : ( - visibleProjects.map((proj) => ( - - )) + <> + + {visibleProjects.map((proj) => ( + + ))} + )} @@ -279,6 +286,7 @@ export default function ConcentratorsPage() {