1
0
Fork 0
freesewing/sites/lab/components/wrappers/layout.js

32 lines
778 B
JavaScript
Raw Normal View History

2022-05-13 21:11:39 +02:00
import { useRouter } from 'next/router'
// Site components
import Header from 'site/components/header'
import Footer from 'site/components/footer'
2022-05-14 19:48:04 +02:00
const LayoutWrapper = ({ app, title=false, children=[] }) => {
2022-05-13 21:11:39 +02:00
const startNavigation = () => {
app.startLoading()
// Force close of menu on mobile if it is open
if (app.primaryMenu) app.setPrimaryMenu(false)
2022-05-13 21:11:39 +02:00
}
const router = useRouter()
router.events?.on('routeChangeStart', startNavigation)
2022-05-14 19:48:04 +02:00
router.events?.on('routeChangeComplete', app.stopLoading)
2022-05-13 21:11:39 +02:00
return (
<div className={`
flex flex-col justify-between
min-h-screen
bg-base-100
`}>
2022-05-14 19:48:04 +02:00
<Header app={app}/>
2022-05-13 21:11:39 +02:00
<main className="grow">{children}</main>
<Footer app={app} />
</div>
)
}
export default LayoutWrapper