From b241f4e21188472f7a1c654ecefff7198f335e78 Mon Sep 17 00:00:00 2001 From: kenneth Date: Sat, 8 Nov 2025 18:38:43 +0000 Subject: [PATCH] feat: add clear uploads button add a clear upload button that is visible when there are upload errors Co-authored-by: Ona --- .../src/files/upload-file-dialog.tsx | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/apps/drive-web/src/files/upload-file-dialog.tsx b/apps/drive-web/src/files/upload-file-dialog.tsx index a2d81d0..25078b4 100644 --- a/apps/drive-web/src/files/upload-file-dialog.tsx +++ b/apps/drive-web/src/files/upload-file-dialog.tsx @@ -1,6 +1,5 @@ import type { Doc } from "@fileone/convex/dataModel" import { mutationOptions } from "@tanstack/react-query" -import { ConvexError } from "convex/values" import { atom, useAtom, useAtomValue, useSetAtom, useStore } from "jotai" import { atomEffect } from "jotai-effect" import { atomWithMutation } from "jotai-tanstack-query" @@ -273,6 +272,7 @@ export function UploadFileDialog({ onClick={openFilePicker} uploadFilesAtom={uploadFilesAtom} /> + 0) { return null } @@ -390,6 +390,29 @@ function SelectMoreFilesButton({ ) } +function ClearUploadErrorsButton() { + const hasUploadErrors = useAtomValue(hasFileUploadsErrorAtom) + const clearAllFileUploadStatuses = useSetAtom( + clearAllFileUploadStatusesAtom, + ) + const setPickedFiles = useSetAtom(pickedFilesAtom) + + if (!hasUploadErrors) { + return null + } + + function clearUploadErrors() { + setPickedFiles([]) + clearAllFileUploadStatuses() + } + + return ( + + ) +} + function UploadButton({ uploadFilesAtom, onClick,