From 5ab0ce5a33d3315c19d8314fb0e05a5afdb97fcf Mon Sep 17 00:00:00 2001 From: Arun Date: Tue, 9 Feb 2021 15:49:04 +0530 Subject: [PATCH] feat: Add the ability to clear library (#2997) * Add the ability to clear libraries * Update 'libraries' to 'library' * Update en.json --- src/components/LayerUI.tsx | 18 +++++++++++++++++- src/locales/en.json | 4 +++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/components/LayerUI.tsx b/src/components/LayerUI.tsx index de95a889..cf9933d3 100644 --- a/src/components/LayerUI.tsx +++ b/src/components/LayerUI.tsx @@ -27,7 +27,7 @@ import { ExportCB, ExportDialog } from "./ExportDialog"; import { FixedSideContainer } from "./FixedSideContainer"; import { GitHubCorner } from "./GitHubCorner"; import { HintViewer } from "./HintViewer"; -import { exportFile, load, shield } from "./icons"; +import { exportFile, load, shield, trash } from "./icons"; import { Island } from "./Island"; import "./LayerUI.scss"; import { LibraryUnit } from "./LibraryUnit"; @@ -100,6 +100,7 @@ const LibraryMenuItems = ({ onInsertShape, pendingElements, setAppState, + setLibraryItems, }: { library: LibraryItems; pendingElements: LibraryItem; @@ -107,6 +108,7 @@ const LibraryMenuItems = ({ onInsertShape: (elements: LibraryItem) => void; onAddToLibrary: (elements: LibraryItem) => void; setAppState: React.Component["setState"]; + setLibraryItems: (library: LibraryItems) => void; }) => { const isMobile = useIsMobile(); const numCells = library.length + (pendingElements.length > 0 ? 1 : 0); @@ -150,6 +152,19 @@ const LibraryMenuItems = ({ }); }} /> + { + if (window.confirm(t("alerts.resetLibrary"))) { + Library.resetLibrary(); + setLibraryItems([]); + } + }} + /> {t("labels.libraries")} @@ -281,6 +296,7 @@ const LibraryMenu = ({ onInsertShape={onInsertShape} pendingElements={pendingElements} setAppState={setAppState} + setLibraryItems={setLibraryItems} /> )} diff --git a/src/locales/en.json b/src/locales/en.json index 48bb0233..719f50d1 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -117,6 +117,7 @@ "edit": "Edit", "undo": "Undo", "redo": "Redo", + "resetLibrary": "Reset library", "createNewRoom": "Create new room", "fullScreen": "Full screen", "darkMode": "Dark mode", @@ -139,7 +140,8 @@ "errorLoadingLibrary": "There was an error loading the third party library.", "confirmAddLibrary": "This will add {{numShapes}} shape(s) to your library. Are you sure?", "imageDoesNotContainScene": "Importing images isn't supported at the moment.\n\nDid you want to import a scene? This image does not seem to contain any scene data. Have you enabled this during export?", - "cannotRestoreFromImage": "Scene couldn't be restored from this image file" + "cannotRestoreFromImage": "Scene couldn't be restored from this image file", + "resetLibrary": "This will clear your library. Are you sure?" }, "toolBar": { "selection": "Selection",