1
0
Fork 0
freesewing/sites/org/components/layouts/docs.mjs

57 lines
1.5 KiB
JavaScript
Raw Normal View History

2023-07-20 08:52:50 +02:00
import { NavigationContext } from 'shared/context/navigation-context.mjs'
2023-09-04 08:40:05 +02:00
import { nsMerge } from 'shared/utils.mjs'
// Hooks
2023-07-20 08:52:50 +02:00
import { useContext } from 'react'
// Components
import {
BaseLayout,
BaseLayoutLeft,
BaseLayoutProse,
BaseLayoutRight,
} from 'shared/components/base-layout.mjs'
2023-07-17 11:40:45 -05:00
import {
NavLinks,
Breadcrumbs,
MainSections,
ns as navNs,
} from 'shared/components/navigation/sitenav.mjs'
import { Toc } from 'shared/components/mdx/toc.mjs'
2023-09-04 08:40:05 +02:00
import { MdxMetaData, ns as metaNs } from 'shared/components/mdx/meta.mjs'
import { PrevNext } from 'shared/components/prev-next.mjs'
2023-09-04 08:40:05 +02:00
export const ns = nsMerge(navNs, 'docs', metaNs)
2023-07-20 08:52:50 +02:00
export const DocsLayout = ({ children = [], frontmatter }) => {
const { slug, locale } = useContext(NavigationContext)
return (
<>
<BaseLayout>
<BaseLayoutLeft>
2023-07-20 08:52:50 +02:00
<MainSections />
<NavLinks />
</BaseLayoutLeft>
<BaseLayoutProse>
<div className="w-full">
2023-07-20 08:52:50 +02:00
<Breadcrumbs />
<h1 className="break-words searchme">{frontmatter.title}</h1>
<div className="block xl:hidden">
<Toc toc={frontmatter.toc} wrap />
</div>
</div>
{children}
<PrevNext slug={slug} noPrev={slug === 'docs'} />
</BaseLayoutProse>
<BaseLayoutRight>
<MdxMetaData frontmatter={frontmatter} slug={slug} locale="en" />
<div className="hidden xl:block">
<Toc toc={frontmatter.toc} wrap />
</div>
</BaseLayoutRight>
</BaseLayout>
</>
)
}