@@ -177,7 +177,8 @@ module Card = {
177177 <button
178178 ?onMouseDown
179179 className = "hover:pointer px-2 rounded-lg text-white bg-fire-70 text-14"
180- key = {keyword }>
180+ key = {keyword }
181+ >
181182 {React .string (keyword )}
182183 </button >
183184 })-> React .array }
@@ -248,7 +249,8 @@ module InfoSidebar = {
248249 setFilter (prev => {
249250 {... prev , Filter .includeOfficial : ! filter .includeOfficial }
250251 })
251- }}>
252+ }}
253+ >
252254 {React .string ("Official" )}
253255 </Toggle >
254256 <Toggle
@@ -257,7 +259,8 @@ module InfoSidebar = {
257259 setFilter (prev => {
258260 {... prev , Filter .includeCommunity : ! filter .includeCommunity }
259261 })
260- }}>
262+ }}
263+ >
261264 {React .string ("Community" )}
262265 </Toggle >
263266 // <Toggle
@@ -275,15 +278,16 @@ module InfoSidebar = {
275278 setFilter (prev => {
276279 {... prev , Filter .includeOutdated : ! filter .includeOutdated }
277280 })
278- }}>
281+ }}
282+ >
279283 {React .string ("Outdated" )}
280284 </Toggle >
281285 </div >
282286 </div >
283287 <div >
284288 <h2 className = h2 > {React .string ("Guidelines" )} </h2 >
285289 <ul className = "space-y-4" >
286- <ReactRouter .Link to = # "docs/guidelines/publishing-packages" className = link >
290+ <ReactRouter .Link to = # "/ docs/guidelines/publishing-packages" className = link >
287291 {React .string ("Publishing ReScript npm packages" )}
288292 </ReactRouter .Link >
289293 /* <li> */
@@ -306,7 +310,7 @@ type state =
306310 | All
307311 | Filtered (string ) // search term
308312
309- let default = (props : props ) => {
313+ let make = (props : props ) => {
310314 open Markdown
311315
312316 let (state , setState ) = React .useState (_ => All )
@@ -395,7 +399,8 @@ let default = (props: props) => {
395399 </Category >
396400 }
397401
398- let router = Next .Router .useRouter ()
402+ let location = ReactRouter .useLocation ()
403+ let (searchParams , setSearchParams ) = ReactRouter .useSearchParams ()
399404
400405 // On first render, the router query is undefined so we set a flag.
401406 let firstRenderDone = React .useRef (false )
@@ -407,16 +412,19 @@ let default = (props: props) => {
407412
408413 // On second render, this hook runs one more time to actually trigger the search.
409414 React .useEffect (() => {
410- router .query -> Dict .get ("search" )-> Option .forEach (onValueChange )
415+ // TODO RR7: test this
416+
417+ // TODO RR7: this is broken
418+ let _ = searchParams ["search" ]-> Option .map (onValueChange )
419+
420+ // location.search->Option.forEach(onValueChange)
421+
422+ // router.query->Dict.get("search")->Option.forEach(onValueChange)
411423
412424 None
413425 }, [firstRenderDone .current ])
414426
415- let updateQuery = value =>
416- router -> Next .Router .replaceObj ({
417- pathname : router .pathname ,
418- query : value === "" ? Dict .make () : Dict .fromArray ([("search" , value )]),
419- })
427+ let updateQuery = value => setSearchParams ({"search" : value })
420428
421429 // When the search term changes, update the router query accordingly.
422430 React .useEffect (() => {
@@ -440,7 +448,8 @@ let default = (props: props) => {
440448 <Navigation isOverlayOpen setOverlayOpen />
441449 <div className = "flex overflow-hidden" >
442450 <div
443- className = "flex justify-between min-w-320 px-4 pt-16 lg:align-center w-full lg:px-8 pb-48" >
451+ className = "flex justify-between min-w-320 px-4 pt-16 lg:align-center w-full lg:px-8 pb-48"
452+ >
444453 <MdxProvider components = MarkdownComponents .default >
445454 <main className = "max-w-1280 w-full flex justify-center" >
446455 <div className = "w-full max-w-176.25" >
0 commit comments