From bb892be5b36e0bf0a59d97b4fdc311f75a86dd15 Mon Sep 17 00:00:00 2001 From: Simon <41589344+sawatkins@users.noreply.github.com> Date: Fri, 18 Apr 2025 08:49:59 -0700 Subject: [PATCH] feat: improve visual feedback in MemoEditor for drag/drop file uploads (#4634) * improve drag/drop file upload UI * fix eslint errors * use tailwind for cursor styles * fix eslint issues --- .../ActionButton/UploadResourceButton.tsx | 14 ++++-- web/src/components/MemoEditor/index.tsx | 45 ++++++++++++++++++- 2 files changed, 53 insertions(+), 6 deletions(-) diff --git a/web/src/components/MemoEditor/ActionButton/UploadResourceButton.tsx b/web/src/components/MemoEditor/ActionButton/UploadResourceButton.tsx index af7d7ef3..ba7bd1b1 100644 --- a/web/src/components/MemoEditor/ActionButton/UploadResourceButton.tsx +++ b/web/src/components/MemoEditor/ActionButton/UploadResourceButton.tsx @@ -6,11 +6,15 @@ import { useResourceStore } from "@/store/v1"; import { Resource } from "@/types/proto/api/v1/resource_service"; import { MemoEditorContext } from "../types"; +interface Props { + isUploadingResource?: boolean; +} + interface State { uploadingFlag: boolean; } -const UploadResourceButton = () => { +const UploadResourceButton = (props: Props) => { const context = useContext(MemoEditorContext); const resourceStore = useResourceStore(); const [state, setState] = useState({ @@ -65,13 +69,15 @@ const UploadResourceButton = () => { }); }; + const isUploading = state.uploadingFlag || props.isUploadingResource; + return ( -