beta/src/components/Layout/LayoutAPI.tsx (19 lines of code) (raw):
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*/
import * as React from 'react';
import sidebarReference from 'sidebarReference.json';
import {MarkdownPage, MarkdownProps} from './MarkdownPage';
import {Page} from './Page';
import {RouteItem} from './useRouteMeta';
interface PageFrontmatter {
title: string;
status: string;
}
export default function withAPI(p: PageFrontmatter) {
function LayoutAPI(props: MarkdownProps<PageFrontmatter>) {
return <MarkdownPage {...props} meta={p} />;
}
LayoutAPI.appShell = AppShell;
return LayoutAPI;
}
function AppShell(props: {children: React.ReactNode}) {
return <Page routeTree={sidebarReference as RouteItem} {...props} />;
}