diff --git a/img/Screen Shot 1.png b/images/Screen Shot 1.png
similarity index 100%
rename from img/Screen Shot 1.png
rename to images/Screen Shot 1.png
diff --git a/img/Screen Shot 2.png b/images/Screen Shot 2.png
similarity index 100%
rename from img/Screen Shot 2.png
rename to images/Screen Shot 2.png
diff --git a/img/icon128.png b/images/icon128.png
similarity index 100%
rename from img/icon128.png
rename to images/icon128.png
diff --git a/images/icon16.png b/images/icon16.png
new file mode 100644
index 0000000..1c510cb
Binary files /dev/null and b/images/icon16.png differ
diff --git a/images/icon32.png b/images/icon32.png
new file mode 100644
index 0000000..d001aab
Binary files /dev/null and b/images/icon32.png differ
diff --git a/img/icon48.png b/images/icon48.png
similarity index 100%
rename from img/icon48.png
rename to images/icon48.png
diff --git a/images/logo.png b/images/logo.png
new file mode 100644
index 0000000..db4030f
Binary files /dev/null and b/images/logo.png differ
diff --git a/img/small-tile.png b/images/small-tile.png
similarity index 100%
rename from img/small-tile.png
rename to images/small-tile.png
diff --git a/manifest.json b/manifest.json
index 1a142fd..d314080 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"name": "Privacy Redirect",
"description": "Redirects Twitter & Youtube requests to privacy friendly alternatives (Nitter & Invidious).",
- "version": "1.0.0",
+ "version": "1.0.2",
"manifest_version": 2,
"background": {
"scripts": [
@@ -9,10 +9,13 @@
]
},
"icons": {
- "48": "img/icon48.png",
- "128": "img/icon128.png"
+ "16": "images/icon16.png",
+ "32": "images/icon32.png",
+ "48": "images/icon48.png",
+ "128": "images/icon128.png"
},
"permissions": [
+ "storage",
"webRequest",
"webRequestBlocking",
"*://twitter.com/*",
@@ -23,5 +26,18 @@
"*://youtube-nocookie.com/*",
"*://www.youtube-nocookie.com/*",
"*://m.youtube.com/"
- ]
+ ],
+ "browser_action": {
+ "default_popup": "pages/popup/popup.html",
+ "default_icon": {
+ "16": "images/icon16.png",
+ "32": "images/icon32.png",
+ "48": "images/icon48.png",
+ "128": "images/icon128.png"
+ }
+ },
+ "options_ui": {
+ "page": "pages/options/options.html",
+ "open_in_tab": false
+ }
}
\ No newline at end of file
diff --git a/pages/options/options.html b/pages/options/options.html
new file mode 100644
index 0000000..f51f720
--- /dev/null
+++ b/pages/options/options.html
@@ -0,0 +1,27 @@
+
+
+
+
+ My Test Extension Options
+
+
+
+
+ Favorite color:
+
+ red
+ green
+ blue
+ yellow
+
+
+
+
+ I like colors.
+
+
+
+ Save
+
+
+
\ No newline at end of file
diff --git a/pages/popup/popup.css b/pages/popup/popup.css
new file mode 100644
index 0000000..eebab8e
--- /dev/null
+++ b/pages/popup/popup.css
@@ -0,0 +1,140 @@
+:root {
+ --text-main: #FFF;
+ --text-secondary: #000;
+ --dark-grey: #3C4043;
+ --white: #FFF;
+ --active: #FF5B56;
+ --space: 5px;
+}
+
+body {
+ color: var(--text-secondary);
+ margin: 0;
+ max-width: 400px;
+ min-width: 240px;
+ background-color: var(--dark-grey)
+}
+
+header {
+ background-color: var(--white);
+ color: var(--text-secondary);
+ display: flex;
+ padding: var(--space);
+}
+
+header h1 {
+ font-size: 2em;
+}
+
+header .logo-container {
+ margin: var(--space);
+}
+
+header .logo-container img {
+ width: 100%;
+}
+
+header small {
+ display: block;
+ font-size: .70em;
+ font-weight: bold;
+ margin: 1%;
+ width: 100%;
+ text-align: right;
+}
+
+h1 {
+ font-size: 14px;
+ margin: var(--space) auto
+}
+
+h2 {
+ clear: both;
+ font-size: 12px;
+ font-weight: normal;
+ margin: 0;
+}
+
+h3 {
+ font-size: 16px;
+}
+
+h1,
+h2 {
+ color: var(--text-main);
+}
+
+footer {
+ width: 100%;
+}
+
+footer a.button {
+ margin: var(--space);
+}
+
+/* Elements */
+input[type=checkbox] {
+ opacity: 0;
+}
+
+label {
+ background: grey;
+ border-radius: 25px;
+ color: var(--text-main);
+ cursor: pointer;
+ display: block;
+ float: right;
+ font-weight: bold;
+ height: 30px;
+ position: relative;
+ text-indent: -400px;
+ width: 50px;
+}
+
+label:after {
+ background: #fff;
+ border-radius: 90px;
+ content: '';
+ height: 20px;
+ left: 5px;
+ position: absolute;
+ top: 5px;
+ transition: 0.3s; /* Acts on transform below */
+ width: 20px;
+}
+input:checked+label {
+ background: var(--active);
+}
+/* position when active*/
+input:checked+label:after {
+ left: calc(100% - 5px);
+ transform: translateX(-100%);
+}
+
+.settings_block {
+ display: block;
+ padding: 5px 1em 20px 1em;
+ border-bottom: var(--dark-grey) solid 1px;
+}
+
+.settings_block h1 {
+ float: left;
+}
+
+.button {
+ border: var(--active) solid 1px;
+ color: var(--text-main);
+ display: block;
+ font-size: 12px;
+ font-weight: bold;
+ margin: var(--space) auto;
+ padding: 10px;
+ text-align: center;
+ text-decoration: none;
+}
+
+.button:hover {
+ background-color: var(--active);
+ color: #fff
+}
+
diff --git a/pages/popup/popup.html b/pages/popup/popup.html
new file mode 100644
index 0000000..0e28a99
--- /dev/null
+++ b/pages/popup/popup.html
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Version : 1.0.2
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/popup/popup.js b/pages/popup/popup.js
new file mode 100644
index 0000000..0dddb49
--- /dev/null
+++ b/pages/popup/popup.js
@@ -0,0 +1,7 @@
+document.querySelector('#options').addEventListener('click', function () {
+ if (chrome.runtime.openOptionsPage) {
+ chrome.runtime.openOptionsPage();
+ } else {
+ window.open(chrome.runtime.getURL('../options/options.html'));
+ }
+});
\ No newline at end of file