From 4ad662f3f58657454ae0ef97f82423578e2f4841 Mon Sep 17 00:00:00 2001 From: Prajwal pandey Date: Fri, 2 Jun 2023 21:14:33 +0530 Subject: [PATCH 1/2] added a ream statement to run the code in localhost --- packages/core/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/core/README.md b/packages/core/README.md index f0aa2b8ab..30576629a 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -248,3 +248,7 @@ Craft.js is released under the [MIT license](https://github.com/prevwong/craft.j + + +# To start the project in local machine +cmd -> yarn run-p dev dev:site \ No newline at end of file From 795f10369127606d2ff02ed4b90470ea9537f8f2 Mon Sep 17 00:00:00 2001 From: Prajwal pandey Date: Fri, 16 Jun 2023 13:13:33 +0530 Subject: [PATCH 2/2] implemented undo redo using keystrokes --- .../components/editor/Viewport/Header.tsx | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/examples/landing/components/editor/Viewport/Header.tsx b/examples/landing/components/editor/Viewport/Header.tsx index 640e6b5ea..f47b9da63 100644 --- a/examples/landing/components/editor/Viewport/Header.tsx +++ b/examples/landing/components/editor/Viewport/Header.tsx @@ -8,6 +8,7 @@ import Checkmark from '../../../public/icons/check.svg'; import Customize from '../../../public/icons/customize.svg'; import RedoSvg from '../../../public/icons/toolbox/redo.svg'; import UndoSvg from '../../../public/icons/toolbox/undo.svg'; +import { useEffect } from 'react'; const HeaderDiv = styled.div` width: 100%; @@ -57,6 +58,29 @@ export const Header = () => { canUndo: query.history.canUndo(), canRedo: query.history.canRedo(), })); + // ketstroke undo redo + useEffect(() => { + const handleKeyDown = (event: any) => { + if (event.ctrlKey || event.metaKey) { + if (event.key.toLowerCase() === 'z') { + event.preventDefault(); + if (event.shiftKey) { + if (canRedo) { + actions.history.redo(); + } + } else if (canUndo) { + actions.history.undo(); + } + } + } + }; + + window.addEventListener('keydown', handleKeyDown); + + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }, [canUndo, canRedo, actions]); return (