feat: undo and redo in edit menu
This commit is contained in:
parent
ac9ac3d454
commit
9f07754ab7
1 changed files with 5 additions and 3 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
import { useContext } from "react";
|
import { useContext } from "react";
|
||||||
|
|
||||||
import { CanvasContext } from "@/context/Canvas";
|
import { CanvasContext } from "@/context/Canvas";
|
||||||
|
import { HistoryContext } from "@/context/History";
|
||||||
import { SelectionContext } from "@/context/Selection";
|
import { SelectionContext } from "@/context/Selection";
|
||||||
import { ToolContext } from "@/context/Tool";
|
import { ToolContext } from "@/context/Tool";
|
||||||
|
|
||||||
|
|
@ -10,6 +11,7 @@ import { MenubarContent, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShor
|
||||||
|
|
||||||
function EditMenu() {
|
function EditMenu() {
|
||||||
const { blocks, setBlocks } = useContext(CanvasContext);
|
const { blocks, setBlocks } = useContext(CanvasContext);
|
||||||
|
const { undo, redo, isUndoAvailable, isRedoAvailable } = useContext(HistoryContext);
|
||||||
const { selectionCoords, setSelectionCoords, setSelectionLayerBlocks } = useContext(SelectionContext);
|
const { selectionCoords, setSelectionCoords, setSelectionLayerBlocks } = useContext(SelectionContext);
|
||||||
const { setTool } = useContext(ToolContext);
|
const { setTool } = useContext(ToolContext);
|
||||||
|
|
||||||
|
|
@ -21,11 +23,11 @@ function EditMenu() {
|
||||||
<MenubarMenu>
|
<MenubarMenu>
|
||||||
<MenubarTrigger>Edit</MenubarTrigger>
|
<MenubarTrigger>Edit</MenubarTrigger>
|
||||||
<MenubarContent>
|
<MenubarContent>
|
||||||
<MenubarItem>
|
<MenubarItem onClick={undo} disabled={!isUndoAvailable}>
|
||||||
Undo
|
Undo
|
||||||
<MenubarShortcut>Ctrl Z</MenubarShortcut>
|
<MenubarShortcut>Ctrl Z</MenubarShortcut>
|
||||||
</MenubarItem>
|
</MenubarItem>
|
||||||
<MenubarItem>
|
<MenubarItem onClick={redo} disabled={!isRedoAvailable}>
|
||||||
Redo
|
Redo
|
||||||
<MenubarShortcut>Ctrl Y</MenubarShortcut>
|
<MenubarShortcut>Ctrl Y</MenubarShortcut>
|
||||||
</MenubarItem>
|
</MenubarItem>
|
||||||
|
|
@ -35,7 +37,7 @@ function EditMenu() {
|
||||||
Copy
|
Copy
|
||||||
<MenubarShortcut>Ctrl C</MenubarShortcut>
|
<MenubarShortcut>Ctrl C</MenubarShortcut>
|
||||||
</MenubarItem>
|
</MenubarItem>
|
||||||
<MenubarItem onClick={() => clipboard.paste(setSelectionLayerBlocks, setSelectionCoords, setTool)}>
|
<MenubarItem onClick={() => clipboard.paste(null, setSelectionLayerBlocks, setSelectionCoords, setTool)}>
|
||||||
Paste
|
Paste
|
||||||
<MenubarShortcut>Ctrl V</MenubarShortcut>
|
<MenubarShortcut>Ctrl V</MenubarShortcut>
|
||||||
</MenubarItem>
|
</MenubarItem>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue