import { useEffect, useMemo } from 'react'; import { useResourceStore } from '../store/resource'; import { Box, Button, Typography, ButtonGroup } from '@mui/material'; import { FileText, Table, Grid } from 'lucide-react'; import { FileTable } from './list/FileTable'; import { FileCard } from './list/FileCard'; import { PrefixRedirect } from './modules/PrefixRedirect'; import { UploadButton } from '../upload'; import { FileDrawer } from './draw/FileDrawer'; import { useResourceFileStore } from '../store/resource-file'; export const FileApp = () => { const { getList, prefix, setListType, listType } = useResourceStore(); const { getStatFile, prefix: statPrefix, openDrawer } = useResourceFileStore(); useEffect(() => { getList(); }, []); const directory = useMemo(() => { const _prefix = prefix.split('/'); let dir = _prefix.slice(2).join('/'); if (dir.endsWith('/')) { dir = dir.slice(0, -1); } return dir; }, [prefix]); useEffect(() => { if (statPrefix && openDrawer) { getStatFile(); } }, [statPrefix, openDrawer]); const handleUpload = (res: any) => { getList(); }; return (