diff options
Diffstat (limited to 'public/index.php')
| -rw-r--r-- | public/index.php | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/public/index.php b/public/index.php index 9da069d..d6c759c 100644 --- a/public/index.php +++ b/public/index.php @@ -273,6 +273,10 @@ include_once $_SERVER['DOCUMENT_ROOT'] . '/../lib/partials.php'; if (file.urls && file.urls.download_url) { file_url = file.urls.download_url; } + let file_deletion = ''; + if (file.urls && file.urls.deletion_url) { + file_deletion = `<button onclick="deleteUploadedFile('${file.urls.deletion_url}', '${file.id}')">Delete</button>`; + } return ` <div class="box item column gap-4 pad-4"> @@ -292,11 +296,36 @@ include_once $_SERVER['DOCUMENT_ROOT'] . '/../lib/partials.php'; <a href="${file_url}"> <button>Open</button> </a> + ${file_deletion} </div> </div> `; } + function deleteUploadedFile(url, id) { + fetch(url, { + 'headers': { + 'Accept': 'application/json' + }, + 'method': 'DELETE' + }).then((r) => r.json()) + .then((json) => { + if (json.status_code != 200) { + alert(`${json.message} (${json.status_code})`); + return; + } + + let files = getUploadedFiles(); + files = files.filter((x) => x.id !== id); + localStorage.setItem('uploaded_files', JSON.stringify(files)); + loadUploadedFiles(); + }) + .catch((err) => { + alert('Failed to delete the file. Look into the console!'); + console.error(err); + }); + } + // loading already existing uploaded files function loadUploadedFiles() { let files = getUploadedFiles(); @@ -307,13 +336,9 @@ include_once $_SERVER['DOCUMENT_ROOT'] . '/../lib/partials.php'; html += addUploadedFile(file); } - if (html.length > 0) { - uploadedFiles.parentElement.style.display = 'flex'; - } + uploadedFiles.parentElement.style.display = html.length > 0 ? 'flex' : 'none'; uploadedFiles.innerHTML = html; - - localStorage.setItem('uploaded_files', JSON.stringify(files)); } loadUploadedFiles(); |
