Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit d0c6111

Browse files
committed
fixes issue#163
1 parent 860e750 commit d0c6111

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

client/src/components/FiltersSideMenu/filters.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,13 @@ export default function SearchTabFilters({ locations, achievements }) {
230230
/>
231231
{search.isFilterActive(FILTERS.LOCATIONS) && (
232232
<div className={utilityStyles.mt32}>
233-
<Collapsible title="Location" collapsed={false}>
233+
<Collapsible
234+
onCollapsed={(isCollapsed) =>
235+
filterData("", locations, "name", setLocationsData)
236+
}
237+
title="Location"
238+
collapsed={false}
239+
>
234240
<SearchBox
235241
placeholder="Search for a location"
236242
name={"location search"}
@@ -290,7 +296,12 @@ export default function SearchTabFilters({ locations, achievements }) {
290296
)}
291297
{search.isFilterActive(FILTERS.ACHIEVEMENTS) && (
292298
<div className={utilityStyles.mt32}>
293-
<Collapsible title="Achievements">
299+
<Collapsible
300+
title="Achievements"
301+
onCollapsed={(isCollapsed) =>
302+
filterData("", achievements, "name", setAchievementsData)
303+
}
304+
>
294305
<SearchBox
295306
placeholder="Search for an achievement"
296307
name={"achievements search"}

client/src/components/collapsible/index.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,30 @@ import iconStyles from "../../styles/icons.module.css";
99
* childre: children component
1010
* collapse: if set to true the component is collapsed
1111
*/
12-
export default function Collapsible({ title, children, collapsed = false }) {
12+
export default function Collapsible({
13+
title,
14+
children,
15+
collapsed = false,
16+
onCollapsed,
17+
}) {
1318
const [isCollapsed, setIsCollapsed] = useState(collapsed);
1419

1520
const mainStyle = isCollapsed
1621
? styles.collapsibleContainerCollapsed
1722
: styles.collapsibleContainer;
1823

24+
const handleCollapseChange = () => {
25+
setIsCollapsed(!isCollapsed);
26+
if (onCollapsed) onCollapsed(isCollapsed);
27+
};
28+
1929
return (
2030
<div className={mainStyle}>
2131
<div className={styles.collapsibleHeader}>
2232
<div className={styles.collapsibleTitle}>{title}</div>
2333
<div
2434
className={styles.collapsibleChevronContainer}
25-
onClick={() => setIsCollapsed(!isCollapsed)}
35+
onClick={handleCollapseChange}
2636
>
2737
{isCollapsed ? (
2838
<div className={iconStyles.chevronDownG}></div>

0 commit comments

Comments
 (0)