diff --git a/packages/bruno-app/src/providers/Hotkeys/index.js b/packages/bruno-app/src/providers/Hotkeys/index.js index 55347760..31a6a79b 100644 --- a/packages/bruno-app/src/providers/Hotkeys/index.js +++ b/packages/bruno-app/src/providers/Hotkeys/index.js @@ -10,6 +10,7 @@ import NewRequest from 'components/Sidebar/NewRequest'; import BrunoSupport from 'components/BrunoSupport'; import { sendRequest, saveRequest } from 'providers/ReduxStore/slices/collections/actions'; import { findCollectionByUid, findItemInCollection } from 'utils/collections'; +import { closeTabs } from 'providers/ReduxStore/slices/tabs'; export const HotkeysContext = React.createContext(); @@ -144,6 +145,23 @@ export const HotkeysProvider = (props) => { }; }, [setShowNewRequestModal]); + // close tab hotkey + useEffect(() => { + Mousetrap.bind(['command+w', 'ctrl+w'], (e) => { + dispatch( + closeTabs({ + tabUids: [activeTabUid] + }) + ); + + return false; // this stops the event bubbling + }); + + return () => { + Mousetrap.unbind(['command+w', 'ctrl+w']); + }; + }, [activeTabUid, tabs, collections, setShowNewRequestModal]); + return ( {showBrunoSupportModal && setShowBrunoSupportModal(false)} />}