Enhance keydown handling in App.tsx

This commit is contained in:
2026-01-31 16:58:30 +01:00
parent 4bba163855
commit f7175fc722

View File

@@ -772,16 +772,31 @@ export default function App() {
const handleKeyDown = (event: KeyboardEvent) => {
const isSave =
(event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s";
if (!isSave) return;
event.preventDefault();
handleSaveVersion().catch((error) => {
console.error("Failed to save version", error);
});
if (isSave) {
event.preventDefault();
handleSaveVersion().catch((error) => {
console.error("Failed to save version", error);
});
return;
}
if (
event.key === "Tab" &&
!event.metaKey &&
!event.ctrlKey &&
!event.altKey &&
selectedTextId &&
!settingsOpen &&
!confirmState
) {
event.preventDefault();
setMarkdownPreview((value) => !value);
}
};
window.addEventListener("keydown", handleKeyDown);
return () => window.removeEventListener("keydown", handleKeyDown);
}, [handleSaveVersion]);
}, [confirmState, handleSaveVersion, selectedTextId, settingsOpen]);
return (
<div className={`app app--theme-${theme}${sidebarCollapsed ? " app--sidebar-collapsed" : ""}`}>