@@ -136,24 +136,26 @@ module Sidebar = {
136136 <>
137137 <div
138138 id = "sidebar"
139+ style = {{
140+ marginTop : "112px" ,
141+ }}
139142 className = {(
140143 isOpen ? "fixed w-full left-0 h-full z-20 min-w-320" : "hidden "
141144 ) ++ " overflow-x-hidden md:block md:w-48 md:-ml-4 lg:w-1/5 md:h-auto md:relative overflow-y-visible bg-white" }>
142145 <aside
143146 id = "sidebar-content"
144147 className = "relative top-0 px-4 w-full block md:top-16 md:pt-4 md:sticky border-r border-gray-20 overflow-y-auto pb-24"
145148 style = {ReactDOMStyle .make (~height = "calc(100vh - 4.5rem" , ())}>
149+ <button
150+ onClick = {evt => {
151+ ReactEvent .Mouse .preventDefault (evt )
152+ toggle ()
153+ }}
154+ className = "md:hidden h-16 flex pt-2 right-4 absolute" >
155+ <Icon .Close />
156+ </button >
146157 <div className = "flex justify-between" >
147158 <div className = "w-3/4 md:w-full" > toplevelNav </div >
148- <button
149- style = {{paddingTop : "72px" }}
150- onClick = {evt => {
151- ReactEvent .Mouse .preventDefault (evt )
152- toggle ()
153- }}
154- className = "md:hidden h-16" >
155- <Icon .Close />
156- </button >
157159 </div >
158160 preludeSection
159161 /* Firefox ignores padding in scroll containers, so we need margin
@@ -202,7 +204,7 @@ module BreadCrumbs = {
202204module MobileDrawerButton = {
203205 @react.component
204206 let make = (~hidden : bool , ~onClick ) =>
205- <button className = {(hidden ? "hidden" : "" ) ++ " md:hidden mr-3" } onMouseDown = onClick >
207+ <button className = {(hidden ? "hidden " : "" ) ++ "md:hidden mr-3" } onMouseDown = onClick >
206208 <img className = "h-4" src = "/static/ic_sidebar_drawer.svg" />
207209 </button >
208210}
@@ -222,6 +224,7 @@ let make = (
222224 ~children ,
223225) => {
224226 let (isNavOpen , setNavOpen ) = React .useState (() => false )
227+
225228 let router = Next .Router .useRouter ()
226229 let version = Url .parse (router .route ).version
227230
@@ -234,8 +237,11 @@ let make = (
234237
235238 let breadcrumbs = breadcrumbs -> Option .mapOr (React .null , crumbs => <BreadCrumbs crumbs />)
236239
237- let (_isSidebarOpen , setSidebarOpen ) = sidebarState
238- let toggleSidebar = () => setSidebarOpen (prev => ! prev )
240+ let (isSidebarOpen , setSidebarOpen ) = sidebarState
241+
242+ let toggleSidebar = () => {
243+ setSidebarOpen (prev => ! prev )
244+ }
239245
240246 React .useEffect (() => {
241247 open Next .Router .Events
@@ -304,36 +310,38 @@ let make = (
304310
305311 <>
306312 <Meta title = metaTitle version />
307- <div className = {"mt-16 min-w-320 " ++ theme }>
308- <div className = "w-full" >
309- <Navigation isOverlayOpen = isNavOpen setOverlayOpen = setNavOpen />
310- <div className = "flex lg:justify-center" >
311- <div className = "flex w-full max-w-1280 md:mx-8" >
312- sidebar
313- <main className = "px-4 w-full pt-20 md:ml-12 lg:mr-8 mb-32 md:max-w-576 lg:max-w-740" >
314- //width of the right content part
315- <div
316- className = {"z-10 fixed border-b shadow top-[112px] left-0 pl-4 bg-white w-full py-4 md:relative md:border-none md:shadow-none md:p-0 md:top-auto flex items-center transition duration-300 ease-out group-[.nav-disappear]:-translate-y-32 md:group-[.nav-disappear]:transform-none" }>
317- <MobileDrawerButton hidden = isNavOpen onClick = {handleDrawerButtonClick } />
313+ <EnableCollapsibleNavbar isEnabled = {! isSidebarOpen && ! isNavOpen }>
314+ <div className = {"mt-16 min-w-320 " ++ theme }>
315+ <div className = "w-full" >
316+ <Navigation isOverlayOpen = isNavOpen setOverlayOpen = setNavOpen />
317+ <div className = "flex lg:justify-center" >
318+ <div className = "flex w-full max-w-1280 md:mx-8" >
319+ sidebar
320+ <main className = "px-4 w-full pt-20 md:ml-12 lg:mr-8 mb-32 md:max-w-576 lg:max-w-740" >
321+ //width of the right content part
318322 <div
319- className = "truncate overflow-x-auto touch-scroll flex items-center space-x-4 md:justify-between mr-4 w-full" >
320- breadcrumbs
321- editLinkEl
323+ className = {"z-10 fixed border-b shadow top-[112px] left-0 pl-4 bg-white w-full py-4 md:relative md:border-none md:shadow-none md:p-0 md:top-auto flex items-center transition duration-300 ease-out group-[.nav-disappear]:-translate-y-64 md:group-[.nav-disappear]:transform-none" }>
324+ <MobileDrawerButton hidden = isNavOpen onClick = {handleDrawerButtonClick } />
325+ <div
326+ className = "truncate overflow-x-auto touch-scroll flex items-center space-x-4 md:justify-between mr-4 w-full" >
327+ breadcrumbs
328+ editLinkEl
329+ </div >
322330 </div >
323- </ div >
324- < div className = { hasBreadcrumbs ? "mt-10" : "mt-6 md:-mt-4" } >
325- <MdxProvider components > children </ MdxProvider >
326- </ div >
327- pagination
328- </ main >
329- { switch rightSidebar {
330- | Some ( ele ) => ele
331- | None => React . null
332- }}
331+ < div className = { hasBreadcrumbs ? "mt-10" : "mt-6 md:-mt-4" } >
332+ < MdxProvider components > children </ MdxProvider >
333+ </ div >
334+ pagination
335+ </ main >
336+ { switch rightSidebar {
337+ | Some ( ele ) => ele
338+ | None => React . null
339+ }}
340+ </ div >
333341 </div >
334342 </div >
343+ <Footer />
335344 </div >
336- <Footer />
337- </div >
345+ </EnableCollapsibleNavbar >
338346 </>
339347}
0 commit comments