import "./FileBrowser.css"; import { type Component, createSignal, Index, Show } from "solid-js"; import { FileIcon, FolderIcon, FolderOpenIcon } from "./icons/index.ts"; export type BrowserFile = { path: string }; export type BrowserFolder = Map; function isFolder(entry: BrowserFile | BrowserFolder): entry is BrowserFolder { return typeof (entry as BrowserFolder).size === "number"; } const FileEntry: Component<{ name: string; file: BrowserFile }> = ({ name, file, }) => { return (
{name}
); }; const FolderEntry: Component<{ folder: BrowserFolder; name: string; index: number; }> = ({ folder, name, index }) => { const [isOpen, setIsOpen] = createSignal(index < 1); return ( <>
setIsOpen(!isOpen())}> {isOpen() ? : } {name}
); }; const FileList: Component<{ folder: BrowserFolder }> = ({ folder }) => { return ( ); }; export const FileBrowser: Component<{ root: BrowserFolder }> = ({ root }) => { return (
); };