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 handleKeyDown = (event: KeyboardEvent) => {
const isSave = const isSave =
(event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s"; (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s";
if (!isSave) return; if (isSave) {
event.preventDefault(); event.preventDefault();
handleSaveVersion().catch((error) => { handleSaveVersion().catch((error) => {
console.error("Failed to save version", 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); window.addEventListener("keydown", handleKeyDown);
return () => window.removeEventListener("keydown", handleKeyDown); return () => window.removeEventListener("keydown", handleKeyDown);
}, [handleSaveVersion]); }, [confirmState, handleSaveVersion, selectedTextId, settingsOpen]);
return ( return (
<div className={`app app--theme-${theme}${sidebarCollapsed ? " app--sidebar-collapsed" : ""}`}> <div className={`app app--theme-${theme}${sidebarCollapsed ? " app--sidebar-collapsed" : ""}`}>