From 00ef845277819e7defa606641c6cf2e03d94fd43 Mon Sep 17 00:00:00 2001 From: nobswebdev Date: Tue, 27 Oct 2026 19:13:40 +0100 Subject: [PATCH] Add DeleteView one-click delete page at /d/:id?token=... --- frontend/src/stores/upload.ts | 9 ++- frontend/src/types/delete/DeleteViewState.ts | 1 + frontend/src/views/DeleteView.vue | 59 +++++++++++++++++++- 3 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 frontend/src/types/delete/DeleteViewState.ts diff --git a/frontend/src/stores/upload.ts b/frontend/src/stores/upload.ts index 459dd94..ab5c819 100644 --- a/frontend/src/stores/upload.ts +++ b/frontend/src/stores/upload.ts @@ -96,6 +96,12 @@ export const useUploadStore = defineStore('upload', () => { return data; }; + const deleteUpload = async (uploadId: string, deleteToken: string): Promise => { + await api.delete(`/uploads/${uploadId}`, { + params: { delete_token: deleteToken } + }); + }; + const getUploadRequestHeaders = (altcha?: string) => (altcha ? { [ALTCHA_REQUEST_HEADER]: altcha } : undefined); const uploadBatch = async ( @@ -257,6 +263,7 @@ export const useUploadStore = defineStore('upload', () => { clearAllUploads, uploadBatch, uploadZk, - uploadHotlink + uploadHotlink, + deleteUpload }; }); diff --git a/frontend/src/types/delete/DeleteViewState.ts b/frontend/src/types/delete/DeleteViewState.ts new file mode 100644 index 0000000..3cb0844 --- /dev/null +++ b/frontend/src/types/delete/DeleteViewState.ts @@ -0,0 +1 @@ +export type DeleteViewState = 'invalid' | 'deleting' | 'deleted' | 'notFound' | 'error'; diff --git a/frontend/src/views/DeleteView.vue b/frontend/src/views/DeleteView.vue index 04e61e3..d2945c7 100644 --- a/frontend/src/views/DeleteView.vue +++ b/frontend/src/views/DeleteView.vue @@ -1,6 +1,59 @@ + +