* Docs: Added Shadcn sidebar; added algorithm to automatically infer parents without needing to specify it. * Extracted Markdoc compilation in a separate file * Site Navigation: simplify nav by removing the border * Docs Navigation: added TOC; improved layout on mobile
25 lines
717 B
TypeScript
25 lines
717 B
TypeScript
import { SidebarProvider } from '@kit/ui/shadcn-sidebar';
|
|
|
|
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
|
|
|
// local imports
|
|
import { DocsNavigation } from './_components/docs-navigation';
|
|
import { getDocs } from './_lib/server/docs.loader';
|
|
import { buildDocumentationTree } from './_lib/utils';
|
|
|
|
async function DocsLayout({ children }: React.PropsWithChildren) {
|
|
const { resolvedLanguage } = await createI18nServerInstance();
|
|
const docs = await getDocs(resolvedLanguage);
|
|
const tree = buildDocumentationTree(docs);
|
|
|
|
return (
|
|
<SidebarProvider className={'lg:container'}>
|
|
<DocsNavigation pages={tree} />
|
|
|
|
{children}
|
|
</SidebarProvider>
|
|
);
|
|
}
|
|
|
|
export default DocsLayout;
|