restructured and uploading to personal Git
This commit is contained in:
parent
2e5e0f2d44
commit
27c70b4d2a
6 changed files with 0 additions and 174 deletions
|
@ -1,94 +0,0 @@
|
|||
async function Clicked() {
|
||||
const { token, url } = await browser.storage.local.get(['token', 'url']);
|
||||
console.log(`Token: ${token}, URL: ${url}`);
|
||||
/*
|
||||
let site_url = document.URL.endsWith('/') ?
|
||||
document.URL.slice(0, -1) :
|
||||
document.URL;
|
||||
*/
|
||||
// let mealie = "http://localhost:8080";
|
||||
|
||||
// Pull current site's URL
|
||||
let [tab] = await browser.tabs.query({active: true, currentWindow: true});
|
||||
let site_url = tab.url.endsWith('/') ?
|
||||
tab.url.slice(0, -1) :
|
||||
tab.url;
|
||||
|
||||
let mealie = url;
|
||||
// let group_slug = "" // Change this to your group slug. You can obtain this from your URL after logging-in to Mealie
|
||||
// let use_keywords= "&use_keywords=0" // Optional - use keywords from recipe - update to "" if you don't want that
|
||||
// let edity = "&edit=0" // Optional - keep in edit mode - update to "" if you don't want that
|
||||
|
||||
if (mealie.slice(-1) === "/") {
|
||||
mealie = mealie.slice(0, -1)
|
||||
}
|
||||
let dest = mealie + "/recipe/create/url?recipe_import_url=" + site_url;
|
||||
|
||||
// Send a message to the content script
|
||||
browser.tabs.query({active: true, currentWindow: true}, (tabs) => {
|
||||
console.log("Sending message to content script");
|
||||
browser.tabs.sendMessage(tabs[0].id, `Token: ${token}, URL: ${url}`).then(() => {
|
||||
console.log("Message sent to content script");
|
||||
}).catch((error) => {
|
||||
console.error("Error sending message to content script:", error);
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
// Open a new tab with the destination URL
|
||||
browser.tabs.create({ url: dest }).then(() => {
|
||||
console.log(`New tab opened with URL: ${dest}`);
|
||||
}).catch((error) => {
|
||||
console.error("Error opening new tab:", error);
|
||||
});
|
||||
*/
|
||||
|
||||
// Submit POST request
|
||||
const postUrl = `${mealie}/api/recipes/create/url`;
|
||||
const requestBody = {
|
||||
includeTags: true,
|
||||
url: site_url
|
||||
};
|
||||
|
||||
const response = await fetch(postUrl, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": `Bearer ${token}`
|
||||
},
|
||||
body: JSON.stringify(requestBody)
|
||||
});
|
||||
|
||||
if (response.ok) {
|
||||
const responseData = await response.json();
|
||||
console.log("POST request successful:", responseData);
|
||||
} else {
|
||||
const errorText = await response.text();
|
||||
console.error("POST request failed:", response.statusTextm, errorText);
|
||||
}
|
||||
}
|
||||
|
||||
// background.js
|
||||
|
||||
// Create a context menu item
|
||||
browser.contextMenus.create({
|
||||
id: "clickHere",
|
||||
title: "Add to Mealie",
|
||||
contexts: ["all"],
|
||||
});
|
||||
|
||||
// Add a listener for the context menu item
|
||||
browser.contextMenus.onClicked.addListener((info, tab) => {
|
||||
console.log("click 1");
|
||||
if (info.menuItemId === "clickHere") {
|
||||
console.log("click 2");
|
||||
Clicked();
|
||||
}
|
||||
});
|
||||
|
||||
// Add a listener for the keyboard shortcut
|
||||
browser.commands.onCommand.addListener((command) => {
|
||||
if (command === "activateClick") {
|
||||
Clicked();
|
||||
}
|
||||
});
|
|
@ -1,7 +0,0 @@
|
|||
// content.js
|
||||
|
||||
console.log("Content.js is loaded");
|
||||
|
||||
browser.runtime.onMessage.addListener((message) => {
|
||||
console.log(`Received message: ${message}`);
|
||||
});
|
BIN
icons/48.png
BIN
icons/48.png
Binary file not shown.
Before Width: | Height: | Size: 6.3 KiB |
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
"manifest_version": 2,
|
||||
"name": "Mealie",
|
||||
"version": "1.0",
|
||||
|
||||
"description": "Connects with a local Mealie instance.",
|
||||
|
||||
"icons": {
|
||||
"48": "icons/48.png"
|
||||
},
|
||||
|
||||
"background": {
|
||||
"scripts": ["background.js"]
|
||||
},
|
||||
"permissions": [
|
||||
"webRequest",
|
||||
"*://mealie.seans.pro/*",
|
||||
"contextMenus",
|
||||
"storage",
|
||||
"activeTab"
|
||||
],
|
||||
"commands": {
|
||||
"activateClick": {
|
||||
"suggested_key": {
|
||||
"default": "Ctrl+Alt+M"
|
||||
},
|
||||
"description": "Activates 'Clicked' function"
|
||||
}
|
||||
},
|
||||
"options_ui": {
|
||||
"page": "options.html",
|
||||
"open_in_tab": true
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["content.js"]
|
||||
}
|
||||
]
|
||||
}
|
17
options.html
17
options.html
|
@ -1,17 +0,0 @@
|
|||
<!-- options.html -->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Mealie Extension Options</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Extension Options</h1>
|
||||
<label for="token">Token:</label>
|
||||
<input type="text" id="token" name="token"><br>
|
||||
<label for="url">URL:</label>
|
||||
<input type="text" id="url" name="url"><br>
|
||||
<button id="save">Save</button>
|
||||
|
||||
<script src="options.js"></script>
|
||||
</body>
|
||||
</html>
|
16
options.js
16
options.js
|
@ -1,16 +0,0 @@
|
|||
// options.js
|
||||
|
||||
document.getElementById('save').addEventListener("click", async () => {
|
||||
const token = document.getElementById('token').value;
|
||||
const url = document.getElementById('url').value;
|
||||
|
||||
await browser.storage.local.set({ token, url });
|
||||
alert('Options saved!');
|
||||
});
|
||||
|
||||
// Load saved settings if they exist
|
||||
(async () => {
|
||||
const { token, url } = await browser.storage.local.get(['token', 'url']);
|
||||
if (token) document.getElementById('token').value = token;
|
||||
if (url) document.getElementById('url').value = url;
|
||||
})();
|
Loading…
Reference in a new issue