From 6d510b888c4cfb03b59079b29cb86ef355b8c41c Mon Sep 17 00:00:00 2001 From: yongjoon_km Date: Sat, 11 May 2024 22:44:36 +0900 Subject: [PATCH 1/6] feat: close dialog and show toast for Export image Save to feature closes dialog and showed toast message after exporting successful. Export image feature better follow the same flow. --- packages/excalidraw/components/App.tsx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index d405b7213ca1..dc742dad0bb4 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -1777,12 +1777,19 @@ class App extends React.Component { this.setState({ errorMessage: error.message }); }); - if ( - this.state.exportEmbedScene && - fileHandle && - isImageFileHandle(fileHandle) - ) { - this.setState({ fileHandle }); + if (fileHandle && isImageFileHandle(fileHandle)) { + this.setState({ + fileHandle: this.state.exportEmbedScene ? fileHandle : null, + openDialog: null, + toast: { + message: fileHandle?.name + ? t("toast.fileSavedToFilename").replace( + "{filename}", + `"${fileHandle.name}"`, + ) + : t("toast.fileSaved"), + }, + }); } }; From 4dc975ceb50a9da30b21336d6cdab9e04f116f70 Mon Sep 17 00:00:00 2001 From: yongjoon_km Date: Mon, 13 May 2024 21:00:16 +0900 Subject: [PATCH 2/6] feat: close dialog and show toast for copy to clipboard --- packages/excalidraw/components/App.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index dc742dad0bb4..792a7a94c621 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -1790,6 +1790,13 @@ class App extends React.Component { : t("toast.fileSaved"), }, }); + } else if (type === "clipboard") { + this.setState({ + openDialog: null, + toast: { + message: t("toast.copyToClipboard"), + }, + }); } }; From 89c3508fd59fab84a202b029002b588f1555e69d Mon Sep 17 00:00:00 2001 From: yongjoon_km Date: Wed, 15 May 2024 13:57:02 +0900 Subject: [PATCH 3/6] feat: close dialog and show toast for copy to clipboard Change the toast duration from 5 seconds to 1.5 seconds. --- packages/excalidraw/components/App.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 792a7a94c621..843f57ec3570 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -1788,6 +1788,7 @@ class App extends React.Component { `"${fileHandle.name}"`, ) : t("toast.fileSaved"), + duration: 1500, }, }); } else if (type === "clipboard") { @@ -1795,6 +1796,7 @@ class App extends React.Component { openDialog: null, toast: { message: t("toast.copyToClipboard"), + duration: 1500, }, }); } From 0d564bcf05cccdbc2d0a8dd7bc63020d944fd072 Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Wed, 15 May 2024 11:47:24 +0530 Subject: [PATCH 4/6] combine into single if --- packages/excalidraw/components/App.tsx | 28 +++++++++++--------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 843f57ec3570..4d0c1d796b6f 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -1777,25 +1777,21 @@ class App extends React.Component { this.setState({ errorMessage: error.message }); }); - if (fileHandle && isImageFileHandle(fileHandle)) { + if (type === "clipboard" || (fileHandle && isImageFileHandle(fileHandle))) { this.setState({ - fileHandle: this.state.exportEmbedScene ? fileHandle : null, + fileHandle: + fileHandle && this.state.exportEmbedScene ? fileHandle : null, openDialog: null, toast: { - message: fileHandle?.name - ? t("toast.fileSavedToFilename").replace( - "{filename}", - `"${fileHandle.name}"`, - ) - : t("toast.fileSaved"), - duration: 1500, - }, - }); - } else if (type === "clipboard") { - this.setState({ - openDialog: null, - toast: { - message: t("toast.copyToClipboard"), + message: + type === "clipboard" + ? t("toast.copyToClipboard") + : fileHandle?.name + ? t("toast.fileSavedToFilename").replace( + "{filename}", + `"${fileHandle.name}"`, + ) + : t("toast.fileSaved"), duration: 1500, }, }); From 2351798a87845f4ce29a4d56ce8fb7fa01be30ae Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Wed, 15 May 2024 11:52:24 +0530 Subject: [PATCH 5/6] simplify --- packages/excalidraw/components/App.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 4d0c1d796b6f..7cc266362cc2 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -1777,10 +1777,14 @@ class App extends React.Component { this.setState({ errorMessage: error.message }); }); - if (type === "clipboard" || (fileHandle && isImageFileHandle(fileHandle))) { + if ( + type === "clipboard" || + (this.state.exportEmbedScene && + fileHandle && + isImageFileHandle(fileHandle)) + ) { this.setState({ - fileHandle: - fileHandle && this.state.exportEmbedScene ? fileHandle : null, + fileHandle: fileHandle ?? null, openDialog: null, toast: { message: From 18e95dd6dd7a2e9a05768a4eac2319e4ab76c748 Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Wed, 15 May 2024 11:58:00 +0530 Subject: [PATCH 6/6] fix --- packages/excalidraw/components/App.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 7cc266362cc2..236059abee66 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -1777,14 +1777,10 @@ class App extends React.Component { this.setState({ errorMessage: error.message }); }); - if ( - type === "clipboard" || - (this.state.exportEmbedScene && - fileHandle && - isImageFileHandle(fileHandle)) - ) { + if (type === "clipboard" || (fileHandle && isImageFileHandle(fileHandle))) { this.setState({ - fileHandle: fileHandle ?? null, + fileHandle: + this.state.exportEmbedScene && fileHandle ? fileHandle : null, openDialog: null, toast: { message: