import { useLocal } from "lib/utils/use-local"; import { FC, useEffect } from "react"; import { breadcrumbPrefix } from "../utils/md-hash"; import { MDLocal, MDRef } from "../utils/typings"; import { MDHeader } from "./MDHeader"; export const should_show_tab = (md: MDLocal) => { if (isEditor) { if (md.tab.active !== "" && md.tab.active !== "master") return true; } return false; }; export const MDDetail: FC<{ md: MDLocal; mdr: MDRef }> = ({ md, mdr }) => { const detail = md.childs[md.tab.active]; const PassProp = mdr.PassProp; if (!detail) { return null; } return ( <> {md.props.show_head === "only-child" && }
{md.props.tab_mode !== "hidden" && md.tab.list.length > 1 && ( )}
div { flex: 1; } `, "c-flex c-flex-1" )} > {mdr.childs[md.tab.active]}
); }; export const MDNavTab: FC<{ md: MDLocal; mdr: MDRef }> = ({ md, mdr }) => { const mode = md.props.tab_mode; return (
{md.tab.list.map((tab_name, idx) => { const child = md.childs[tab_name]; if (!child) return null; return (
{ if (isEditor) { md.props.item.edit.setProp("editor_tab", tab_name); await md.props.item.edit.commit(); return; } md.tab.active = tab_name; md.params.apply(); md.render(); }} > {tab_name === md.tab.active && (
)} {child.label}
); })}
); }; export const MDRenderTab: FC<{ child: any; on_init: () => MDLocal; breadcrumb: () => Array; }> = ({ child, on_init, breadcrumb }) => { const md = on_init(); md.header.child.breadcrumb = breadcrumb; return <>{child}; };