2022-05-25 18:35:20 +02:00
|
|
|
import { useRouter } from 'next/router'
|
|
|
|
// Shared components
|
2022-10-03 17:47:41 +02:00
|
|
|
import Aside from 'site/components/navigation/aside.js'
|
2022-05-31 10:12:54 +02:00
|
|
|
import Breadcrumbs from 'shared/components/breadcrumbs.js'
|
2022-06-17 12:02:09 +02:00
|
|
|
import { getCrumbs } from 'shared/utils'
|
2022-05-25 18:35:20 +02:00
|
|
|
|
2022-10-03 17:47:41 +02:00
|
|
|
const DefaultLayout = ({ app, title = false, crumbs = false, children = [] }) => {
|
2022-05-25 18:35:20 +02:00
|
|
|
const router = useRouter()
|
|
|
|
const slug = router.asPath.slice(1)
|
2022-10-03 17:47:41 +02:00
|
|
|
const breadcrumbs = crumbs ? crumbs : getCrumbs(app, slug, title)
|
2022-05-25 18:35:20 +02:00
|
|
|
|
|
|
|
return (
|
2022-10-04 01:20:49 +02:00
|
|
|
<div className="grid grid-cols-4 m-auto justify-center place-items-stretch">
|
2022-10-03 17:47:41 +02:00
|
|
|
<Aside app={app} slug={slug} />
|
2022-10-04 01:20:49 +02:00
|
|
|
<section className="col-span-4 lg:col-span-3 py-24 px-4 lg:pl-8 bg-base-50">
|
|
|
|
{title && (
|
|
|
|
<div className="xl:pl-4">
|
|
|
|
<Breadcrumbs title={title} crumbs={breadcrumbs} />
|
2022-10-04 19:25:12 +02:00
|
|
|
<h1 className="break-words">{title}</h1>
|
2022-10-04 01:20:49 +02:00
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
{children}
|
2022-05-25 18:35:20 +02:00
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default DefaultLayout
|