The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/client/sidebar/hooks/useShortcutOpenMenu.ts

21 lines
595 B

import type { RefObject } from 'react';
import { useEffect } from 'react';
import tinykeys from 'tinykeys';
// used to open the menu option by keyboard
export const useShortcutOpenMenu = (ref: RefObject<Element>): void => {
useEffect(() => {
const unsubscribe = tinykeys(ref.current as HTMLElement, {
Alt: (event) => {
if (!(event.target as HTMLElement).className.includes('rcx-sidebar-item')) {
return;
}
event.preventDefault();
(event.target as HTMLElement).querySelector('button')?.click();
},
});
return (): void => {
unsubscribe();
};
}, [ref]);
};