Add keyboard shortcuts for save, undo, and redo in App.tsx

This commit is contained in:
2026-04-03 01:13:22 +02:00
parent fbde0094bf
commit 1ebc2f81d0

View File

@@ -1261,6 +1261,44 @@ export function App({ store, initialStatusMessage }: AppProps) {
return;
}
const hasPrimaryModifier = (event.metaKey || event.ctrlKey) && !event.altKey;
if (hasPrimaryModifier && event.code === "KeyS" && !event.shiftKey) {
event.preventDefault();
handleSaveDraft();
return;
}
if (hasPrimaryModifier && event.code === "KeyZ") {
event.preventDefault();
if (event.shiftKey) {
if (store.redo()) {
setStatusMessage("Redid the last action.");
} else {
setStatusMessage("Nothing to redo.");
}
} else if (store.undo()) {
setStatusMessage("Undid the last action.");
} else {
setStatusMessage("Nothing to undo.");
}
return;
}
if (hasPrimaryModifier && event.code === "KeyY") {
event.preventDefault();
if (store.redo()) {
setStatusMessage("Redid the last action.");
} else {
setStatusMessage("Nothing to redo.");
}
return;
}
if (event.key === "Escape" && addMenuPosition !== null) {
event.preventDefault();
setAddMenuPosition(null);