import classNames from "classnames"; import * as React from "react"; import { Directory, File } from "./Constants"; interface ClassNames { nav?: string; flexColumn?: string; navItem?: string; navLink?: string; level?: string; directory?: string; file?: string; root?: string; nested?: string; active?: boolean; caret?: string; caretDown?: string; } const styles: ClassNames = require("./menu.scss"); export interface MenuProps { rootDirectory: Directory; } const DirectoryWrap = ({ directory, element }: { directory: Directory; element: React.ReactNode }): React.ReactElement => { const { level, path: key, basename, ...props } = directory; const isRoot = level === 0; const [isActive, toggleActive] = React.useState(isRoot); const toggle = () => { toggleActive(isRoot ? true : !isActive); }; return ( ); }; const createFileItem = ({ type, path, basename, level, ...props }: File): React.ReactElement => { return ; }; const createDirectoryItem = ({ type, path, items, ...props }: Directory): Array> => { const children = items.map((item, idx) => { const key = `${path}-${type}-${idx}`; if (item.type === "file") { return (
  • {createFileItem(item)}
  • ); } return ; }); return children; }; export const Menu = ({ rootDirectory }: MenuProps) => { return ; }; export { MenuProps as Props, Menu as Component };