aboutsummaryrefslogtreecommitdiffstats
path: root/assets/javascript
diff options
context:
space:
mode:
authorSimonBrazell <simon@brazell.com.au>2020-07-12 11:26:48 +1000
committerSimonBrazell <simon@brazell.com.au>2020-07-12 20:25:31 +1000
commit745c5babcf9104924631185b2ea3f235c45d270a (patch)
tree457df4cd62a541e1b65a82eb1ca2f9b1f28fbd06 /assets/javascript
parentCloses #64, closes #38 - Fix whitelist & Twitter `/home` exception (diff)
downloadlibredirect-745c5babcf9104924631185b2ea3f235c45d270a.zip
Improve exceptions (whitelist), i18n (fr), etc.
- Closes #69 - Closes #70 - Fixes #71 - Closes #72 - added fr l10n - Fixes #73 - Implement additional Invidious params (#66)
Diffstat (limited to '')
-rw-r--r--assets/javascript/localise.js19
-rw-r--r--assets/javascript/persist-invidious-prefs.js (renamed from assets/persist-invidious-prefs.js)0
-rw-r--r--assets/javascript/remove-twitter-sw.js (renamed from assets/remove-twitter-sw.js)20
3 files changed, 32 insertions, 7 deletions
diff --git a/assets/javascript/localise.js b/assets/javascript/localise.js
new file mode 100644
index 00000000..e408025d
--- /dev/null
+++ b/assets/javascript/localise.js
@@ -0,0 +1,19 @@
+window.browser = window.browser || window.chrome;
+
+function localizeHtmlPage() {
+ // Localize using __MSG_***__ data tags
+ var data = document.querySelectorAll('[data-localize]');
+
+ for (var i in data) if (data.hasOwnProperty(i)) {
+ var obj = data[i];
+ var tag = obj.getAttribute('data-localize').toString();
+
+ var msg = tag.replace(/__MSG_(\w+)__/g, function (_match, v1) {
+ return v1 ? browser.i18n.getMessage(v1) : null;
+ });
+
+ if (msg && msg !== tag) obj.innerHTML = msg;
+ }
+}
+
+localizeHtmlPage(); \ No newline at end of file
diff --git a/assets/persist-invidious-prefs.js b/assets/javascript/persist-invidious-prefs.js
index 4c13a310..4c13a310 100644
--- a/assets/persist-invidious-prefs.js
+++ b/assets/javascript/persist-invidious-prefs.js
diff --git a/assets/remove-twitter-sw.js b/assets/javascript/remove-twitter-sw.js
index d1b30637..d9d3ce3e 100644
--- a/assets/remove-twitter-sw.js
+++ b/assets/javascript/remove-twitter-sw.js
@@ -5,17 +5,17 @@ const nitterDefault = 'https://nitter.net';
let disableNitter;
let nitterInstance;
let redirectBypassFlag;
-let whitelist;
+let exceptions;
window.browser = window.browser || window.chrome;
-function isNotWhitelisted(url) {
- return !whitelist.some(regex => (regex.test(url.href)));
+function isNotException(url) {
+ return !exceptions.some(regex => (regex.test(url.href)));
}
function shouldRedirect(url) {
return !redirectBypassFlag &&
- isNotWhitelisted(url) &&
+ isNotException(url) &&
!disableNitter &&
url.host !== nitterInstance &&
!url.pathname.includes('/home');
@@ -32,7 +32,13 @@ function redirectTwitter(url) {
}
browser.storage.sync.get(
- ['nitterInstance', 'disableNitter', 'removeTwitterSW', 'redirectBypassFlag'],
+ [
+ 'nitterInstance',
+ 'disableNitter',
+ 'removeTwitterSW',
+ 'redirectBypassFlag',
+ 'exceptions'
+ ],
(result) => {
redirectBypassFlag = result.redirectBypassFlag;
browser.storage.sync.set({
@@ -41,8 +47,8 @@ browser.storage.sync.get(
if (!result.removeTwitterSW) {
disableNitter = result.disableNitter;
nitterInstance = result.nitterInstance || nitterDefault;
- whitelist = result.whitelist ? result.whitelist.map(e => {
- return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'));
+ exceptions = result.exceptions ? result.exceptions.map(e => {
+ return new RegExp(e);
}) : [];
navigator.serviceWorker.getRegistrations().then(registrations => {
for (let registration of registrations) {