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 @@ + +