diff --git a/src/index.tsx b/src/index.tsx index 1cf1baa3..b1909f56 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -26,7 +26,7 @@ type ExcalidrawTextElement = ExcalidrawElement & { const LOCAL_STORAGE_KEY = "excalidraw"; const LOCAL_STORAGE_KEY_STATE = "excalidraw-state"; -let elements = Array.of(); +const elements = Array.of(); // https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript/47593316#47593316 const LCG = (seed: number) => () => @@ -582,13 +582,13 @@ function restore() { const savedState = localStorage.getItem(LOCAL_STORAGE_KEY_STATE); if (savedElements) { - elements = JSON.parse(savedElements); + elements.splice(0, elements.length, ...JSON.parse(savedElements)); elements.forEach((element: ExcalidrawElement) => generateDraw(element)); } return savedState ? JSON.parse(savedState) : null; } catch (e) { - elements = []; + elements.splice(0, elements.length); return null; } } @@ -783,7 +783,7 @@ class App extends React.Component<{}, AppState> { private clearCanvas = () => { if (window.confirm("This will clear the whole canvas. Are you sure?")) { - elements = []; + elements.splice(0, elements.length); this.setState({ viewBackgroundColor: "#ffffff", scrollX: 0,