import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "../types" import style from "../styles/listPage.scss" import { PageList } from "../PageList" import { Root } from "hast" import { htmlToJsx } from "../../util/jsx" import { ComponentChildren } from "preact" import { concatenateResources } from "../../util/resources" import { trieFromAllFiles } from "../../util/ctx" export default (() => { const FolderContent: QuartzComponent = (props: QuartzComponentProps) => { const { tree, fileData, allFiles } = props const trie = (props.ctx.trie ??= trieFromAllFiles(allFiles)) const folder = trie.findNode(fileData.slug!.split("/")) if (!folder) { return null } const cssClasses: string[] = fileData.frontmatter?.cssclasses ?? [] const classes = cssClasses.join(" ") const content = ( (tree as Root).children.length === 0 ? fileData.description : htmlToJsx(fileData.filePath!, tree) ) as ComponentChildren return (