diff --git a/background-script.js b/background-script.js index 93378fe..56b4f27 100644 --- a/background-script.js +++ b/background-script.js @@ -25,18 +25,47 @@ chrome.action.onClicked.addListener(async tab => { hiddenItemsList = JSON.parse(result.hiddenItemsList); hiddenItemsList = Object.values(hiddenItemsList); console.log(hiddenItemsList); + + removeItems(hiddenItemsList, tab); + + addButton(hiddenItemsList, tab); }); - try { - await chrome.scripting.insertCSS({ - target: { - tabId: tab.id, - }, - css: `.s-item a.s-item__link { border-style: solid; }` - }); - } catch (error) { - console.error('CSS insert failed! ' + error); - } + // try { + // await chrome.scripting.insertCSS({ + // target: { + // tabId: tab.id, + // }, + // css: `.s-item a.s-item__link { border-style: solid; }` + // }); + // } catch (error) { + // console.error('CSS insert failed! ' + error); + // } +}); + +// document.getElementsByClassName('ebayitemremover-extension_removeitem').forEach(element => { +// element.addEventListener('click', (elm) => { +// console.log(elm.getAttribute('ebayitemremover-extension_itemid') + ' clicked'); +// }); +// }) + +chrome.webNavigation.onCompleted.addListener(function() { + chrome.notifications.create({ + "type": "basic", + "iconUrl": "icons/ebay-48.png", + "title": 'eBay Item Remover', + "message": "eBay Item Remover is running - and you've just loaded an eBay page!" + }); +}, { + url: [{ + urlMatches : 'https://www.ebay.co.uk/' + }] +}); + +async function removeItems(hiddenItemsList, tab) { + console.log(hiddenItemsList); + + console.log(JSON.stringify(hiddenItemsList)); try { await chrome.scripting.executeScript({ @@ -60,7 +89,7 @@ chrome.action.onClicked.addListener(async tab => { console.log(itemID); console.log(element.closest('.s-item')); - parent.insertAdjacentHTML('beforeend', '') + parent.insertAdjacentHTML('beforeend', '') } }); @@ -70,17 +99,43 @@ chrome.action.onClicked.addListener(async tab => { } catch (error) { console.error('Get HREFs failed! ' + error); } -}); +} -chrome.webNavigation.onCompleted.addListener(function() { - chrome.notifications.create({ - "type": "basic", - "iconUrl": "icons/ebay-48.png", - "title": 'eBay Item Remover', - "message": "eBay Item Remover is running - and you've just loaded an eBay page!" - }); -}, { - url: [{ - urlMatches : 'https://www.ebay.co.uk/' - }] -}); \ No newline at end of file +async function addButton(hiddenItemsList, tab) { + try { + await chrome.scripting.executeScript({ + target: { + tabId: tab.id, + }, + args: [ hiddenItemsList ], + func: (hiddenItemsList) => { + Array.from(document.getElementsByClassName('ebayitemremover-extension_removeitem')).forEach(element => { + element.addEventListener('click', (event) => { + let parent = event.target.closest('.ebayitemremover-extension_removeitem'); + let itemID = parseInt(parent.getAttribute('ebayitemremover-extension_itemid')); + + console.log(itemID + ' clicked'); + + let sureRemove = confirm('Sure you want to remove this item?'); + + if(sureRemove) { + hiddenItemsList[hiddenItemsList.length] = itemID; + } else { + event.preventDefault(); + return; + } + + chrome.storage.sync.set( {'hiddenItemsList': JSON.stringify(hiddenItemsList)}, (parent) => { + parent.innerHTML = "REMOVED BY EBAY ITEM REMOVER"; + } ); + + event.preventDefault(); + }); + }) + } + } + ); + } catch (error) { + console.log("Error adding removal button! " + error); + } +} \ No newline at end of file diff --git a/manifest.json b/manifest.json index 35498af..84652c6 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "eBay Item Remove - DEVELOPMENT BUILD", - "version": "0.0.2", + "version": "0.0.3", "description": "Remove items you don't want to see from eBay",