Add chrome extension

This commit is contained in:
Myx
2024-11-15 02:42:25 +01:00
parent 8792699c7c
commit 1b58440d4d
19 changed files with 409 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
chrome.runtime.onInstalled.addListener(() => {
chrome.contextMenus.create({
id: "generateQRCodeFromText",
title: "Generate QR code from selected text",
contexts: ["selection"]
});
chrome.contextMenus.create({
id: "generateQRCodeFromLink",
title: "Generate QR code from link",
contexts: ["link"]
});
chrome.contextMenus.create({
id: "generateQRCodeFromImage",
title: "Generate QR code from image",
contexts: ["image"]
});
chrome.contextMenus.create({
id: "generateEAN13Barcode",
title: "Generate EAN-13 Barcode",
contexts: ["selection"],
enabled: false
});
chrome.contextMenus.create({
id: "generateEAN8Barcode",
title: "Generate EAN-8 Barcode",
contexts: ["selection"],
enabled: false
});
});
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
console.log(message)
if (message.type === "updateContextMenu") {
chrome.contextMenus.update("generateEAN13Barcode", { enabled: message.isEAN13 });
chrome.contextMenus.update("generateEAN8Barcode", { enabled: message.isEAN8 });
}
});
chrome.contextMenus.onClicked.addListener((info, tab) => {
let content = "";
let type = "";
let document = "";
if (info.menuItemId === "generateQRCodeFromText" && info.selectionText) {
content = info.selectionText;
document = "qr";
} else if (info.menuItemId === "generateQRCodeFromLink" && info.linkUrl) {
content = info.linkUrl;
document = "qr";
} else if (info.menuItemId === "generateQRCodeFromImage" && info.srcUrl) {
content = info.srcUrl;
document = "qr";
} else if (info.menuItemId === "generateEAN13Barcode" && info.selectionText) {
content = info.selectionText;
type = "ean13";
document = "barcode";
} else if (info.menuItemId === "generateEAN8Barcode" && info.selectionText) {
content = info.selectionText;
type = "ean8";
document = "barcode";
}
if (content) {
chrome.tabs.create({
url: chrome.runtime.getURL(`pages/${document}-page/${document}.html?content=${encodeURIComponent(content)}${type ? `&type=${type}` : ''}`)
});
}
});