@@ -136,24 +136,26 @@ module Sidebar = {
136
136
<>
137
137
<div
138
138
id = "sidebar"
139
+ style = {{
140
+ marginTop : "112px" ,
141
+ }}
139
142
className = {(
140
143
isOpen ? "fixed w-full left-0 h-full z-20 min-w-320" : "hidden "
141
144
) ++ " 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" }>
142
145
<aside
143
146
id = "sidebar-content"
144
147
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"
145
148
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 >
146
157
<div className = "flex justify-between" >
147
158
<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 >
157
159
</div >
158
160
preludeSection
159
161
/* Firefox ignores padding in scroll containers, so we need margin
@@ -202,7 +204,7 @@ module BreadCrumbs = {
202
204
module MobileDrawerButton = {
203
205
@react.component
204
206
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 >
206
208
<img className = "h-4" src = "/static/ic_sidebar_drawer.svg" />
207
209
</button >
208
210
}
@@ -222,6 +224,7 @@ let make = (
222
224
~children ,
223
225
) => {
224
226
let (isNavOpen , setNavOpen ) = React .useState (() => false )
227
+
225
228
let router = Next .Router .useRouter ()
226
229
let version = Url .parse (router .route ).version
227
230
@@ -234,8 +237,11 @@ let make = (
234
237
235
238
let breadcrumbs = breadcrumbs -> Option .mapOr (React .null , crumbs => <BreadCrumbs crumbs />)
236
239
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
+ }
239
245
240
246
React .useEffect (() => {
241
247
open Next .Router .Events
@@ -304,36 +310,38 @@ let make = (
304
310
305
311
<>
306
312
<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
318
322
<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 >
322
330
</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 >
333
341
</div >
334
342
</div >
343
+ <Footer />
335
344
</div >
336
- <Footer />
337
- </div >
345
+ </EnableCollapsibleNavbar >
338
346
</>
339
347
}
0 commit comments