diff --git a/components/filters/FilterBar/index.module.scss b/components/filters/FilterBar/index.module.scss index cb560690..14275f19 100644 --- a/components/filters/FilterBar/index.module.scss +++ b/components/filters/FilterBar/index.module.scss @@ -33,17 +33,21 @@ minmax($unit-20x, 1fr) minmax($unit-20x, 1fr) minmax($unit-20x, 1fr) - 0.5fr; + auto; box-sizing: border-box; flex-direction: row; gap: $unit; - width: auto; + width: 75%; @include breakpoint(tablet) { grid-template-columns: 1fr; grid-template-rows: auto; width: 100%; } + + & > * { + min-width: 0; + } } &.shadow { diff --git a/components/filters/FilterBar/index.tsx b/components/filters/FilterBar/index.tsx index d58562b7..421bf9d4 100644 --- a/components/filters/FilterBar/index.tsx +++ b/components/filters/FilterBar/index.tsx @@ -11,12 +11,13 @@ import SelectItem from '~components/common/SelectItem' import Button from '~components/common/Button' import { appState } from '~utils/appState' -import { defaultFilterset } from '~utils/defaultFilters' import FilterIcon from '~public/icons/Filter.svg' import styles from './index.module.scss' interface Props { + defaultFilterset: FilterSet + persistFilters?: boolean children: React.ReactNode scrolled: boolean element?: number @@ -62,13 +63,14 @@ const FilterBar = (props: Props) => { useEffect(() => { // Fetch user's advanced filters const filtersCookie = getCookie('filters') - if (filtersCookie) setAdvancedFilters(JSON.parse(filtersCookie as string)) - else setAdvancedFilters(defaultFilterset) + if (filtersCookie && props.persistFilters) { + setAdvancedFilters(JSON.parse(filtersCookie as string)) + } else setAdvancedFilters(props.defaultFilterset) }, []) useEffect(() => { - setMatchesDefaultFilters(equals(advancedFilters, defaultFilterset)) - }, [advancedFilters, defaultFilterset]) + setMatchesDefaultFilters(equals(advancedFilters, props.defaultFilterset)) + }, [advancedFilters, props.defaultFilterset]) function openElementSelect() { setElementOpen(!elementOpen) @@ -194,9 +196,11 @@ const FilterBar = (props: Props) => { /> + { ) } +FilterBar.defaultProps = { + persistFilters: true, +} + export default FilterBar