18 lines
489 B
TypeScript
18 lines
489 B
TypeScript
import browser from 'webextension-polyfill';
|
|
|
|
export function initializeMessaging() {
|
|
browser.runtime.onMessage.addListener((request: Queue.Message<unknown>) => {
|
|
if (request.action === 'queue open url') {
|
|
const message = request as Queue.Message<Queue.Item>;
|
|
window.location.href = message.data.url;
|
|
}
|
|
});
|
|
}
|
|
|
|
export async function sendMessage<T>(
|
|
action: Queue.MessageAction,
|
|
data?: T,
|
|
): Promise<void> {
|
|
await browser.runtime.sendMessage({action, data});
|
|
}
|