diff --git a/src/frontend/src/modals/fileManagerModal/components/recentFilesComponent/index.tsx b/src/frontend/src/modals/fileManagerModal/components/recentFilesComponent/index.tsx index 03645ac32..5385d9608 100644 --- a/src/frontend/src/modals/fileManagerModal/components/recentFilesComponent/index.tsx +++ b/src/frontend/src/modals/fileManagerModal/components/recentFilesComponent/index.tsx @@ -79,12 +79,23 @@ export default function RecentFilesComponent({ } }; + // Reset key states when window loses focus + const handleBlur = () => { + setIsShiftPressed(false); + }; + document.addEventListener("keydown", handleKeyDown); document.addEventListener("keyup", handleKeyUp); + window.addEventListener("blur", handleBlur); + // Clean up event listeners when component unmounts return () => { document.removeEventListener("keydown", handleKeyDown); document.removeEventListener("keyup", handleKeyUp); + window.removeEventListener("blur", handleBlur); + + // Reset key state on unmount + setIsShiftPressed(false); }; }, []); diff --git a/src/frontend/src/pages/MainPage/pages/homePage/index.tsx b/src/frontend/src/pages/MainPage/pages/homePage/index.tsx index 3dacb523b..db1efaee1 100644 --- a/src/frontend/src/pages/MainPage/pages/homePage/index.tsx +++ b/src/frontend/src/pages/MainPage/pages/homePage/index.tsx @@ -119,12 +119,25 @@ const HomePage = ({ type }: { type: "flows" | "components" | "mcp" }) => { } }; + // Reset key states when window loses focus + const handleBlur = () => { + setIsShiftPressed(false); + setIsCtrlPressed(false); + }; + document.addEventListener("keydown", handleKeyDown); document.addEventListener("keyup", handleKeyUp); + window.addEventListener("blur", handleBlur); + // Clean up event listeners when component unmounts return () => { document.removeEventListener("keydown", handleKeyDown); document.removeEventListener("keyup", handleKeyUp); + window.removeEventListener("blur", handleBlur); + + // Reset key states on unmount + setIsShiftPressed(false); + setIsCtrlPressed(false); }; }, []); @@ -170,6 +183,14 @@ const HomePage = ({ type }: { type: "flows" | "components" | "mcp" }) => { ); }, [data.flows]); + // Reset key states when navigating away + useEffect(() => { + return () => { + setIsShiftPressed(false); + setIsCtrlPressed(false); + }; + }, [folderId]); + return (