@@ -90,12 +90,16 @@ module RightSidebar = {
9090module SidebarTree = {
9191 @react.component
9292 let make = (~isOpen : bool , ~toggle : unit => unit , ~node : node , ~items : array <item >) => {
93- let router = Next .Router .useRouter ()
94- let url = router .route -> Url .parse
93+ // let router = Next.Router.useRouter() // Remove Next.js router usage if not needed
94+ open ReactRouter
95+
96+ // Use ReactRouter's useLocation if needed, or refactor to not use router
97+ let location = ReactRouter .useLocation ()
98+ let url = location .pathname -> Url .parse
9599 let version = url -> Url .getVersionString
96100
97101 let moduleRoute =
98- WebAPI .URL .make (~url = "file://" ++ router . asPath ).pathname
102+ WebAPI .URL .make (~url = "file://" ++ location . pathname ).pathname
99103 -> String .replace (` /docs/manual/${version}/api/` , "" )
100104 -> String .split ("/" )
101105
@@ -132,9 +136,9 @@ module SidebarTree = {
132136
133137 <details key = {href } open_ >
134138 <summary className = {summaryClassName ++ classNameActive }>
135- <Next . Link className = {"inline-block w-10/12" } href >
139+ <Link className = {"inline-block w-10/12" } to = {( href :> ReactRouter . Link . to )} >
136140 {node .name -> React .string }
137- </Next . Link >
141+ </Link >
138142 </summary >
139143 tocModule
140144 {if hasChildren {
@@ -150,15 +154,17 @@ module SidebarTree = {
150154 | false =>
151155 <li className = {"list-none mt-1 leading-4" } key = {href }>
152156 <summary className = {summaryClassName ++ classNameActive }>
153- <Next .Link className = {"block" } href > {node .name -> React .string } </Next .Link >
157+ <Link className = {"block" } to = {(href :> ReactRouter .Link .to )}>
158+ {node .name -> React .string }
159+ </Link >
154160 </summary >
155161 tocModule
156162 </li >
157163 }
158164 }
159165
160166 let url =
161- router . asPath
167+ location . pathname
162168 -> Url .parse
163169 -> Some
164170
@@ -171,7 +177,7 @@ module SidebarTree = {
171177 ReactEvent .Form .preventDefault (evt )
172178 let version = (evt -> ReactEvent .Form .target )["value" ]
173179 WebAPI .Storage .setItem (localStorage , ~key = (Manual :> string ), ~value = version )
174- let url = Url .parse (router . asPath )
180+ let url = Url .parse (location . pathname )
175181 switch url .pagepath [1 ] {
176182 | Some ("core" ) | Some ("stdlib" ) =>
177183 if version < "v12.0.0" {
@@ -186,7 +192,7 @@ module SidebarTree = {
186192 "/" ++
187193 (Array .join (url .base , "/" ) ++
188194 ("/" ++ (version ++ ("/" ++ Array .join (url .pagepath , "/" )))))
189- router -> Next . Router . push (targetUrl )
195+ ReactRouter . navigate (targetUrl )
190196 }
191197 let version = url -> Url .getVersionString
192198
@@ -224,12 +230,12 @@ module SidebarTree = {
224230 <div className = "hl-overline block text-gray-80 mt-5 mb-2" >
225231 {"Overview" -> React .string }
226232 </div >
227- <Next . Link
233+ <Link
228234 className = {"block " ++
229235 summaryClassName ++ (moduleRoute -> Array .length == 1 ? classNameActive : "" )}
230- href = { node .path -> Array .join ("/" )}>
236+ to = {( node .path -> Array .join ("/" ) :> ReactRouter . Link . to )}>
231237 {node .name -> React .string }
232- </Next . Link >
238+ </Link >
233239 {moduleRoute -> Array .length === 1 ? subMenu : React .null }
234240 </div >
235241 <div className = "hl-overline text-gray-80 mt-5 mb-2" > {"submodules" -> React .string } </div >
0 commit comments