Allow tabs to be right-clicked and added to queue.
This commit is contained in:
parent
6ce6b9ba28
commit
fe9509cec0
|
@ -1,4 +1,4 @@
|
|||
import {browser} from 'webextension-polyfill-ts';
|
||||
import {browser, Menus} from 'webextension-polyfill-ts';
|
||||
import {
|
||||
error,
|
||||
getManifest,
|
||||
|
@ -86,24 +86,42 @@ function contextCreated() {
|
|||
}
|
||||
}
|
||||
|
||||
browser.contextMenus.create(
|
||||
const contextMenus: Menus.CreateCreatePropertiesType[] = [
|
||||
{
|
||||
id: 'queue-add-new-link',
|
||||
title: 'Add to Queue',
|
||||
contexts: ['link']
|
||||
},
|
||||
contextCreated
|
||||
);
|
||||
{
|
||||
id: 'queue-add-new-link-tab',
|
||||
title: 'Add to Queue',
|
||||
contexts: ['tab']
|
||||
}
|
||||
];
|
||||
|
||||
for (const menu of contextMenus) {
|
||||
browser.contextMenus.create(menu, contextCreated);
|
||||
}
|
||||
|
||||
browser.contextMenus.onClicked.addListener(async (info, _tab) => {
|
||||
if (info.menuItemId === 'queue-add-new-link') {
|
||||
if (info.menuItemId.toString().includes('queue-add-new-link')) {
|
||||
const settings = await getSettings();
|
||||
|
||||
let url: string;
|
||||
if (info.menuItemId === 'queue-add-new-link') {
|
||||
url = info.linkUrl!;
|
||||
} else if (info.menuItemId === 'queue-add-new-link-tab') {
|
||||
url = info.pageUrl!;
|
||||
} else {
|
||||
error(`Unknown menuItemId: ${info.menuItemId}`);
|
||||
return;
|
||||
}
|
||||
|
||||
settings.queue.push({
|
||||
added: new Date(),
|
||||
id: newQItemID(settings.queue),
|
||||
text: info.linkText!,
|
||||
url: info.linkUrl!
|
||||
text: info.linkText ?? url,
|
||||
url
|
||||
});
|
||||
|
||||
await saveSettings(settings);
|
||||
|
|
|
@ -42,7 +42,7 @@ export function PageMain(props: MainProps): QComponent {
|
|||
|
||||
<p>Adding links to your queue:</p>
|
||||
<ul>
|
||||
<li>Right-click any link and click "Add to Queue".</li>
|
||||
<li>Right-click any link or tab and click "Add to Queue".</li>
|
||||
</ul>
|
||||
|
||||
<p>Opening the next link from your queue:</p>
|
||||
|
|
Loading…
Reference in New Issue