import { IconButton, Menu, MenuButton, MenuDivider, MenuGroup, MenuItem, MenuList, } from '@chakra-ui/react' import Link from 'next/link' import { useRouter } from 'next/router' import { ReactNode } from 'react' import { AiOutlineMenu } from 'react-icons/ai' import { getRoutes } from './mdx' import Pagination from 'components/pagination' import { findRouteByPath, removeFromLast } from 'utils/find-route-by-path' import { getRouteContext, RouteItem } from 'utils/get-route-context' import { packageJson, TutorialApp } from 'configs/sandpack-contents/tutorial' import type { Frontmatter, FrontmatterHeading } from 'src/types/frontmatter' import TutorialContainer from 'components/tutorial/tutorial-container' interface MDXTutorialLayoutProps { frontmatter: Frontmatter children: ReactNode } const TutorialMenu = ({ headings, routes, }: { headings: FrontmatterHeading[] routes: RouteItem[] }) => { const { asPath } = useRouter() return (
) } const getFiles = (slug: string) => { switch (true) { case slug.includes('/basics'): return { '/App.tsx': TutorialApp, '/package.json': packageJson, } default: return { '/App.tsx': TutorialApp, '/package.json': packageJson, } } } export default function MDXTutorialLayout({ frontmatter, children, }: MDXTutorialLayoutProps) { const routes = getRoutes(frontmatter.slug) const route = findRouteByPath(removeFromLast(frontmatter.slug, '#'), routes) const routeContext = getRouteContext(route, routes) const files = getFiles(frontmatter.slug) return (