commit 0e44a6e2cc3225b1e1c219ffef353a7230114bee Author: Nilesh Date: Sat Aug 1 02:27:32 2020 +0530 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/background.js b/background.js new file mode 100644 index 0000000..ee4c7ab --- /dev/null +++ b/background.js @@ -0,0 +1,5 @@ +chrome.runtime.onInstalled.addListener(function() { + // chrome.storage.sync.set({color: '#3aa757'}, function() { + // console.log("The color is green."); + // }); + }); \ No newline at end of file diff --git a/contentscript.js b/contentscript.js new file mode 100644 index 0000000..6dbca23 --- /dev/null +++ b/contentscript.js @@ -0,0 +1,37 @@ +// document.body.style.border = "15px solid red"; + +/* TODO + - Pop-up should be dismissable + - Once dismissed, popup should not be shown. Use cookies or localStorage for this + - List of alternatives should be loaded from a user-specified external source. Can be modified via extension options. + - Pop-up should be formatted to look better +*/ + +BETTER_ALTERNATIVES = [ + [ /https?:\/\/(www.)?google.com\/chrome/ , "A better alternative is Mozilla."] +] + +function findBetter(url) { + var match = BETTER_ALTERNATIVES.find(pattern => url.match(pattern[0])); + if(match) + return match[1]; + else return null; +} + +function showBetter(alternative) { + if(!alternative) return; + let betterdiv = document.createElement("div"); + betterdiv.style.backgroundColor = "yellow"; + betterdiv.style.color = "red"; + betterdiv.style.position = "fixed"; + betterdiv.style.bottom = "10px"; + betterdiv.style.right = "10px"; + betterdiv.style.width = "400px"; + betterdiv.style.height = "200px"; + betterdiv.style.textAlign = "center"; + betterdiv.style.fontSize = "20px"; + betterdiv.innerHTML = alternative; + document.body.appendChild(betterdiv); +} + +showBetter(findBetter(document.location.href)); diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..c08188e --- /dev/null +++ b/manifest.json @@ -0,0 +1,17 @@ +{ + "name": "Better", + "version": "0.1", + "description": "Find better products & services than the one you're currently visiting", + "permissions": ["activeTab"], + "background": { + "scripts": ["background.js"], + "persistent": false + }, + "content_scripts": [ + { + "matches": ["https://*/*", "http://*/*"], + "js": ["contentscript.js"] + } + ], + "manifest_version": 2 + } \ No newline at end of file