import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" import { classNames } from "../util/lang" import { resolveRelative } from "../util/path" // @ts-ignore import script from "./scripts/base-view-selector.inline" import baseViewSelectorStyle from "./styles/baseViewSelector.scss" const icons = { table: ( ), list: ( ), chevronsUpDown: ( ), chevronRight: ( ), x: ( ), map: ( ), card: ( ), } const viewTypeIcons: Record = { table: icons.table, list: icons.list, gallery: icons.card, board: icons.table, calendar: icons.table, map: icons.map, cards: icons.card, } const BaseViewSelector: QuartzComponent = ({ fileData, displayClass }: QuartzComponentProps) => { const baseMeta = fileData.basesMetadata if (!baseMeta || baseMeta.allViews.length <= 1) { return null } const currentViewName = baseMeta.currentView const allViews = baseMeta.allViews const currentIcon = viewTypeIcons[allViews.find((view) => view.name === currentViewName)?.type ?? ""] ?? icons.table return (
) } BaseViewSelector.css = baseViewSelectorStyle BaseViewSelector.afterDOMLoaded = script export default (() => BaseViewSelector) satisfies QuartzComponentConstructor