diff --git a/src/components/EditorControls.js b/src/components/EditorControls.js index 54c3597..af9db66 100644 --- a/src/components/EditorControls.js +++ b/src/components/EditorControls.js @@ -15,6 +15,21 @@ export default function EditorControls({ code, setCode, language, setLanguage, t setRecentlySaved(false); }, [code, language]) + useEffect(() => { + const listener = (e) => { + if ((e.ctrlKey || e.metaKey)) { + if (e.key === 's' || e.key === 'S') { + e.preventDefault(); + save(); + } + } + } + + window.addEventListener('keydown', listener); + return () => window.removeEventListener('keydown', listener); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + function save() { if (!code || recentlySaved) { return; @@ -53,7 +68,6 @@ export default function EditorControls({ code, setCode, language, setLanguage, t
-