File tree Expand file tree Collapse file tree 1 file changed +20
-9
lines changed Expand file tree Collapse file tree 1 file changed +20
-9
lines changed Original file line number Diff line number Diff line change 1- import { useState } from "react" ;
1+ import { useEffect , useState } from "react" ;
22import ReactSelect from "./ReactSelect" ;
33import type { CollectionEntry } from "astro:content" ;
44
@@ -21,6 +21,14 @@ export default function ResourcesBySelector({
2121 setSelectedFilter ( option ?. value || null ) ;
2222 } ;
2323
24+ const options = Object . entries ( facets ) . map ( ( [ key , values ] ) => ( {
25+ label : key ,
26+ options : values . map ( ( v ) => ( {
27+ value : v ,
28+ label : v ,
29+ } ) ) ,
30+ } ) ) ;
31+
2432 const visibleResources = resources . filter ( ( resource ) => {
2533 if ( ! selectedFilter || ! filters ) return true ;
2634
@@ -39,20 +47,23 @@ export default function ResourcesBySelector({
3947 return filterableValues . includes ( selectedFilter ) ;
4048 } ) ;
4149
50+ useEffect ( ( ) => {
51+ const params = new URLSearchParams ( window . location . search ) ;
52+ const value = params . get ( "filters" ) ;
53+
54+ if ( value ) {
55+ setSelectedFilter ( value ) ;
56+ }
57+ } , [ ] ) ;
58+
4259 return (
4360 < div >
4461 { filters && (
4562 < div className = "not-content" >
4663 < ReactSelect
47- id = "resources-filters"
4864 className = "mt-2"
49- options = { Object . entries ( facets ) . map ( ( [ key , values ] ) => ( {
50- label : key ,
51- options : values . map ( ( v ) => ( {
52- value : v ,
53- label : v ,
54- } ) ) ,
55- } ) ) }
65+ value = { { value : selectedFilter , label : selectedFilter } }
66+ options = { options }
5667 onChange = { handleFilterChange }
5768 isClearable
5869 placeholder = "Filter resources..."
You can’t perform that action at this time.
0 commit comments