diff --git a/deezer-tooter/background-script.js b/deezer-tooter/background-script.js new file mode 100644 index 0000000..cf281b6 --- /dev/null +++ b/deezer-tooter/background-script.js @@ -0,0 +1,34 @@ +// function onError(error) { +// console.error(`Error in background script: ${error}`); +// } + +// function handleMessage(request, sender, sendResponse){ +// console.log("In background : " + request.command) + +// browser.tabs.query({ +// currentWindow: true, +// active: true +// }).then(sendMessageToTabs) +// .then(() => sendResponse({title: "No title yet"}) +// ) +// .catch(onError); + +// } + +// function sendMessageToTabs (tabs){ +// for(let tab of tabs){ +// browser.tabs.sendMessage( +// tab.id, +// {content: "get-title"} +// ).then(response => { +// console.log("Message from content script : " + response) +// }).catch(onError) +// } +// } + +// browser.runtime.onMessage.addListener(handleMessage); + + +// // "background": { +// // "scripts": ["background-script.js"] +// // }, \ No newline at end of file diff --git a/deezer-tooter/browserAction/index.html b/deezer-tooter/browserAction/index.html index 125d948..10c0eda 100644 --- a/deezer-tooter/browserAction/index.html +++ b/deezer-tooter/browserAction/index.html @@ -5,10 +5,11 @@ - + - +
+

- Gemini diff --git a/deezer-tooter/browserAction/script.js b/deezer-tooter/browserAction/script.js index 770fa5b..b96fd14 100644 --- a/deezer-tooter/browserAction/script.js +++ b/deezer-tooter/browserAction/script.js @@ -1,9 +1,6 @@ - -function tootButtonHandler() { - // TODO : add content script to get the pages' HTML elements - tootContent = "Now playing awesome stuff !" - url = "http://localhost:5000/toot?content=" - console.log(tootContent) +function tootInfo(message) { + tootContent = message.artist + " - " + message.title + url = "http://localhost:5000/toot?content=" + tootContent fetch(url) .then(function (response) { return response; @@ -16,5 +13,24 @@ function tootButtonHandler() { }) } +function handleResponse() { + document.getElementById("artist").innerText = message.artist + document.getElementById("title").innerText = message.title +} + +function handleError(error) { + console.log(`Error: ${error}`); +} + +function getCurrentInfo () { + var gettingActiveTab = browser.tabs.query({active: true, currentWindow: true}) + gettingActiveTab.then((tabs) => { + browser.tabs.sendMessage(tabs[0].id, {command: "get-info"}) + .then(handleResponse, handleError); + }) +} + button = document.getElementById('toot-button') -button.onclick = tootButtonHandler \ No newline at end of file +browser.browserAction.onClicked.addListener(getCurrentInfo) +button.onclick = tootInfo +browser.tabs.executeScript(null, { file: "/content_script.js" }); \ No newline at end of file diff --git a/deezer-tooter/content_script.js b/deezer-tooter/content_script.js index e69de29..8098157 100644 --- a/deezer-tooter/content_script.js +++ b/deezer-tooter/content_script.js @@ -0,0 +1,8 @@ +browser.runtime.onMessage.addListener((data, sender, sendResponse) => { + console.log("Content script : " + data.command) + deezerTitle = document.getElementsByClassName('track-link')[0].innerHTML + deezerArtist = document.getElementsByClassName('track-link')[1].innerHTML + sendResponse({title: deezerTitle, artist: deezerArtist}) +}); + +console.log("Content script loaded") \ No newline at end of file diff --git a/deezer-tooter/icons/icon.png b/deezer-tooter/icons/icon.png index 063cfa8..fb2675f 100644 Binary files a/deezer-tooter/icons/icon.png and b/deezer-tooter/icons/icon.png differ diff --git a/deezer-tooter/manifest.json b/deezer-tooter/manifest.json index 8733124..3ce9752 100644 --- a/deezer-tooter/manifest.json +++ b/deezer-tooter/manifest.json @@ -8,12 +8,8 @@ }, "content_scripts": [ { - "matches": [ - "*://*.mozilla.org/*" - ], - "js": [ - "content_script.js" - ] + "matches": [""], + "js": ["content_script.js"] } ], "browser_action": { @@ -23,7 +19,7 @@ "default_popup": "browserAction/index.html", "default_title": "Deezer Tooter" }, - "options_ui": { - "page": "options/index.html" - } + "permissions" : [ + "activeTab" + ] } \ No newline at end of file