function saveImageFromUrl(info, tab) { const url = info.srcUrl; const data = new URLSearchParams({ url: url }); fetch("https://images.gregoryleeman.com/upload-url", { method: "POST", body: data, headers: { "Content-Type": "application/x-www-form-urlencoded" } }) .then(response => { if (!response.ok) { console.error("Server responded with a non-OK status."); return response.text().then(text => { console.error("Server response:", text); throw new Error("Server error"); }); } else { console.log("Image successfully uploaded."); } }) .catch(error => { console.error('Fetch error:', error.message); }); } function saveXFromUrl(info, tab) { const url = info.srcUrl; const data = new URLSearchParams({ url: url }); fetch("https://x.gregoryleeman.com/upload-url", { method: "POST", body: data, headers: { "Content-Type": "application/x-www-form-urlencoded" } }) .then(response => { if (!response.ok) { console.error("Server responded with a non-OK status."); return response.text().then(text => { console.error("Server response:", text); throw new Error("Server error"); }); } else { console.log("X successfully uploaded."); } }) .catch(error => { console.error('Fetch error:', error.message); }); } chrome.contextMenus.create({ id: "save-image", title: "Save Image", contexts: ["image"] }); // chrome.contextMenus.create({ // id: "save-x", // title: "Save X", // contexts: ["image"] // }); chrome.contextMenus.onClicked.addListener(function(info, tab) { saveImageFromUrl(info, tab); // if (info.menuItemId === "save-image") { // saveImageFromUrl(info, tab); // } else if (info.menuItemId === "save-x") { // saveXFromUrl(info, tab); // } });