import React, { useState } from 'react'; import "../styles/legacy/SchoolFilters.legacy.css"; function SchoolFilters({ schools, setFilteredSchools }) { const [sortBy, setSortBy] = useState('tuition'); // Default: Sort by Tuition const [tuitionRange, setTuitionRange] = useState([0, 50000]); // Example range const [distanceRange, setDistanceRange] = useState([0, 200]); // Example range // Sorting function const sortSchools = (schools) => { return [...schools].sort((a, b) => { if (sortBy === 'tuition') return a.inState - b.inState; if (sortBy === 'distance') return a.distance - b.distance; return 0; }); }; // Filtering function const filterSchools = (schools) => { return schools.filter((school) => school.inState >= tuitionRange[0] && school.inState <= tuitionRange[1] && school.distance >= distanceRange[0] && school.distance <= distanceRange[1] ); }; // Apply sorting & filtering when values change const updateFilteredSchools = () => { let updatedSchools = sortSchools(schools); updatedSchools = filterSchools(updatedSchools); setFilteredSchools(updatedSchools); }; // Effect to update results on change React.useEffect(() => { updateFilteredSchools(); }, [sortBy, tuitionRange, distanceRange, schools]); return (

Sort & Filter Schools

{/* Sorting Options */}
setSortBy('tuition')} />
setSortBy('distance')} />
{/* Filtering Options */}
setTuitionRange([Number(e.target.value), tuitionRange[1]])} /> setTuitionRange([tuitionRange[0], Number(e.target.value)])} />
setDistanceRange([Number(e.target.value), distanceRange[1]])} /> setDistanceRange([distanceRange[0], Number(e.target.value)])} />
); } export default SchoolFilters;