diff options
Diffstat (limited to 'source/features/selection-in-new-tab.tsx')
-rw-r--r-- | source/features/selection-in-new-tab.tsx | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/source/features/selection-in-new-tab.tsx b/source/features/selection-in-new-tab.tsx index 6ef6c2c1..59da6402 100644 --- a/source/features/selection-in-new-tab.tsx +++ b/source/features/selection-in-new-tab.tsx @@ -3,18 +3,20 @@ import select from 'select-dom'; import features from '.'; import {isEditable} from '../helpers/dom-utils'; -function init(): void { - document.addEventListener('keypress', (event: KeyboardEvent) => { - const selected = select<HTMLAnchorElement>('.navigation-focus .js-navigation-open[href]'); - if (selected && event.key === 'O' && !isEditable(event.target)) { - void browser.runtime.sendMessage({ - openUrls: [selected.href] - }); +function openInNewTab({key, target}: KeyboardEvent): void { + const selected = select<HTMLAnchorElement>('.navigation-focus .js-navigation-open[href]'); + if (selected && key === 'O' && !isEditable(target)) { + void browser.runtime.sendMessage({ + openUrls: [selected.href] + }); - // Get the list element that contains the unread class and mark it as read. - selected.closest('.unread')?.classList.replace('unread', 'read'); - } - }); + // Get the list element that contains the unread class and mark it as read. + selected.closest('.unread')?.classList.replace('unread', 'read'); + } +} + +function init(): void { + document.addEventListener('keypress', openInNewTab); } void features.add({ |