diff --git a/src/common/EnableCollapsibleNavbar.res b/src/common/EnableCollapsibleNavbar.res
new file mode 100644
index 000000000..ff3c506cf
--- /dev/null
+++ b/src/common/EnableCollapsibleNavbar.res
@@ -0,0 +1,19 @@
+/**
+ * Hides the navbar when scrolling down on mobile, and causes it to reappear when scrolling back up.
+ */
+@jsx.component
+let make = (~children, ~isEnabled) => {
+ let scrollDir = Hooks.useScrollDirection()
+ if isEnabled {
+
"group nav-appear"
+
+ | Down(_) => "group nav-disappear"
+ }}>
+ children
+
+ } else {
+ children
+ }
+}
diff --git a/src/components/Navigation.res b/src/components/Navigation.res
index 48bfb3863..8e3753bc0 100644
--- a/src/components/Navigation.res
+++ b/src/components/Navigation.res
@@ -71,7 +71,7 @@ module MobileNav = {
}
}
-/* isOverlayOpen: if the mobile overlay is toggled open */
+/* isOverlayOpen: if the mobile sidebar is toggled open */
@react.component
let make = (~fixed=true, ~isOverlayOpen: bool, ~setOverlayOpen: (bool => bool) => unit) => {
let minWidth = "20rem"
@@ -80,7 +80,9 @@ let make = (~fixed=true, ~isOverlayOpen: bool, ~setOverlayOpen: (bool => bool) =
let url = router.route->Url.parse
let version = url->Url.getVersionString
- let toggleOverlay = () => setOverlayOpen(prev => !prev)
+ let toggleOverlay = () => {
+ setOverlayOpen(prev => !prev)
+ }
let fixedNav = fixed ? "fixed top-0" : "relative"
@@ -169,7 +171,7 @@ let make = (~fixed=true, ~isOverlayOpen: bool, ~setOverlayOpen: (bool => bool) =
{isDocRoute(~route)
?
+ className="bg-white z-50 px-4 w-full h-12 shadow text-gray-60 text-12 md:text-14 transition duration-300 ease-out group-[.nav-disappear]:-translate-y-32 md:group-[.nav-disappear]:transform-none">
+ ) ++ " 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 mt-28 md:mt-0"}>