import { DirectoryMeta, FileMeta } from './FileExplorer.tsx'; import { Component, Match, Show, Switch } from 'solid-js'; import styles from './fileItem.module.scss'; import { BackIcon, FolderIcon, SmartFileIcon } from './Icon.tsx'; import { Typo } from '../../DataDisplay/Typography/Typo.tsx'; import { formatDate, formatSize } from './utils.ts'; interface ItemProps { type: 'file' | 'directory' | 'back'; meta: FileMeta | DirectoryMeta | '..'; backText?: string; onMouseDown?: (event: MouseEvent) => void; } export const Item: Component = (props: ItemProps) => { return (
  • { e.preventDefault(); e.stopPropagation(); return false; }} > {(props.meta as FileMeta).filename} {props.backText} )} > {formatSize((props.meta as FileMeta).size)} {formatDate((props.meta as FileMeta).lastModified)}
  • ); };