From 69230edcbb2bd0e5c887adeec554bb0b52e6f562 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 6 Apr 2025 03:08:49 +0100 Subject: [PATCH] [frontend]: Add reset filters button --- frontend/src/components/Sidebar.jsx | 121 ++++++++++++++++++++-------- 1 file changed, 86 insertions(+), 35 deletions(-) diff --git a/frontend/src/components/Sidebar.jsx b/frontend/src/components/Sidebar.jsx index 7531f72..50df1dd 100644 --- a/frontend/src/components/Sidebar.jsx +++ b/frontend/src/components/Sidebar.jsx @@ -171,6 +171,20 @@ const Sidebar = ({ selectedSources, setSelectedSources, clusteringEnabled, setCl fetchData(enabledSources, numberInputValue); // Use enabledSources for data fetching }; + const resetFilters = () => { + const savedSources = Cookies.get("selectedSources"); + const savedNumberInputValue = Cookies.get("numberInputValue"); + + if (savedSources) { + setSelectedSources(JSON.parse(savedSources)); + } else { + setSelectedSources(customDefaultChecked); + } + + setNumberInputValue(savedNumberInputValue || ""); + }; + + return (
Show Favourites Only
-
- setClusteringEnabled(!clusteringEnabled)} - /> - -
- {userLocationAvailable && ( -
- - setNumberInputValue(e.target.value)} - style={{maxWidth: "40%"}} - /> -
- )} - +
+ setClusteringEnabled(!clusteringEnabled)} + /> +
+ {userLocationAvailable && ( +
+ + setNumberInputValue(e.target.value)} + style={{maxWidth: "40%"}} + /> +
)} +
+ + +
+ - ); - }; + )} + + ); +}; - Sidebar.propTypes = { - selectedSources: PropTypes.array.isRequired, - setSelectedSources: PropTypes.func.isRequired, - clusteringEnabled: PropTypes.bool.isRequired, - setClusteringEnabled: PropTypes.func.isRequired, - fetchData: PropTypes.func.isRequired, - userLocationAvailable: PropTypes.bool.isRequired, - showFavouritesOnly: PropTypes.bool.isRequired, - setShowFavouritesOnly: PropTypes.func.isRequired, - }; +Sidebar.propTypes = { + selectedSources: PropTypes.array.isRequired, + setSelectedSources: PropTypes.func.isRequired, + clusteringEnabled: PropTypes.bool.isRequired, + setClusteringEnabled: PropTypes.func.isRequired, + fetchData: PropTypes.func.isRequired, + userLocationAvailable: PropTypes.bool.isRequired, + showFavouritesOnly: PropTypes.bool.isRequired, + setShowFavouritesOnly: PropTypes.func.isRequired, +}; - export default Sidebar +export default Sidebar