import { useResourceStore } from '@kevisual/resources/pages/store/resource'; import { Button, Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from '@mui/material'; import prettyBytes from 'pretty-bytes'; import dayjs from 'dayjs'; import { getIcon } from '../FileIcon'; import { Download, Trash } from 'lucide-react'; import clsx from 'clsx'; import { useResourceFileStore } from '@kevisual/resources/pages/store/resource-file'; import { useModal } from '@kevisual/components/modal/Confirm.tsx'; export const FileTable = () => { const { list, prefix, download, onOpenPrefix, getList } = useResourceStore(); const { setOpenDrawer, setPrefix, deleteFile } = useResourceFileStore(); const [modal, contextHolder] = useModal(); return ( <> {contextHolder} Name Size Last Modified Actions {list.map((row) => { const isFile = !!row.name; return (
{ if (!row.name) { onOpenPrefix(row.prefix || ''); } else { setPrefix(row.name || ''); setOpenDrawer(true); } e.stopPropagation(); }}>
{getIcon(row.name)}
{row.name ? row.name.replace(prefix, '') : row.prefix?.replace?.(prefix, '')}
{row.size ? prettyBytes(row.size) : ''} {row.lastModified ? dayjs(row.lastModified).format('YYYY-MM-DD HH:mm:ss') : ''} {isFile && ( )} {isFile && ( )}
); })}
); };