1
0
Fork 0

fix(lab): Add mobile navigation

This commit is contained in:
Joost De Cock 2022-05-14 19:48:04 +02:00
parent f7f920526a
commit c3e54687fc
11 changed files with 46 additions and 62 deletions

View file

@ -11,7 +11,6 @@ import Left from 'shared/components/icons/left.js'
// Site components
import Header from 'site/components/header'
import Footer from 'site/components/footer'
import Search from 'site/components/search'
export const PageTitle = ({ app, slug, title }) => {
if (title) return <h1>{title}</h1>
@ -60,30 +59,18 @@ export const Breadcrumbs = ({ app, slug=false, title }) => {
)
}
const LayoutWrapper = ({
app,
title=false,
children=[],
search,
setSearch,
noSearch=false,
workbench=false,
AltMenu=null,
}) => {
const LayoutWrapper = ({ app, title=false, children=[] }) => {
const startNavigation = () => {
app.startLoading()
// Force close of menu on mobile if it is open
if (app.primaryNavigation) app.setPrimaryNavigation(false)
// Force close of search modal if it is open
if (search) setSearch(false)
}
const router = useRouter()
router.events?.on('routeChangeStart', startNavigation)
router.events?.on('routeChangeComplete', () => app.stopLoading())
router.events?.on('routeChangeComplete', app.stopLoading)
const slug = router.asPath.slice(1)
const [collapsePrimaryNav, setCollapsePrimaryNav] = useState(workbench || false)
const [collapseAltMenu, setCollapseAltMenu] = useState(false)
return (
<div className={`
@ -91,22 +78,8 @@ const LayoutWrapper = ({
min-h-screen
bg-base-100
`}>
<Header app={app} setSearch={setSearch} />
<Header app={app}/>
<main className="grow">{children}</main>
{!noSearch && search && (
<>
<div className={`
fixed w-full max-h-screen bg-base-100 top-0 z-30 pt-0 pb-16 px-8
md:rounded-lg md:top-24
md:max-w-xl md:m-auto md:inset-x-12
md:max-w-2xl
lg:max-w-4xl
`}>
<Search app={app} search={search} setSearch={setSearch}/>
</div>
<div className="fixed top-0 left-0 w-full min-h-screen bg-neutral z-20 bg-opacity-70"></div>
</>
)}
<Footer app={app} />
</div>
)