import { useState, ChangeEvent } from 'react' import { useUploadFileMutation, useFsFilesQuery, useFilesQuery } from '../../gql' import { danglingFsFiles } from '../utils' interface IForm { file: File | null comment: string } const initialVariables: IForm = { file: null, comment: '', } const FileManager = () => { const [folder, setFolder] = useState('upload_files') const uploadFiles = useFsFilesQuery({ variables: { directory: folder } }) const files = useFilesQuery() const error = (uploadFiles.error || files.error) &&

Fehler beim Laden der Dateien...

const loading = (uploadFiles.loading || files.loading) &&

Lade Dateien...

const danglingFsFilesFound = danglingFsFiles(uploadFiles.data, files.data) function handleChange(event: ChangeEvent) { setFolder(event.target.value) } return (

File Manager

{error} {loading} {danglingFsFilesFound ? ( {files.data?.files.map((file, index) => file ? ( ) : null )}
Datei
{file.filename}
) : (

no dangeling files found.

)}
) } const UploadFile = () => { const [uploadFile, { error, loading }] = useUploadFileMutation() const [variables, setVariables] = useState(initialVariables) return ( <>
{ event.preventDefault() uploadFile({ variables }) }} > setVariables({ ...variables, file: event.target.files && event.target.files[0], }) } /> {error &&
Error
}
) } export default UploadFile