summaryrefslogtreecommitdiffstats
path: root/pages/options
diff options
context:
space:
mode:
authorSimon Brazell <simon@brazell.com.au>2020-11-05 08:21:35 +1100
committerGitHub <noreply@github.com>2020-11-05 08:21:35 +1100
commitbbd648a2e41dd2a0323676545e38ab1f6871bebb (patch)
treebf88def64b35beaec301f1c3b88b00e1331df35f /pages/options
parentd6e0d23c3696e78af43b3882ad557a4ebb69c2ee (diff)
parent27f538e50b487c896cf8b424d642cf7ba156545a (diff)
downloadprivacy-redirect-bbd648a2e41dd2a0323676545e38ab1f6871bebb.tar.gz
privacy-redirect-bbd648a2e41dd2a0323676545e38ab1f6871bebb.tar.bz2
privacy-redirect-bbd648a2e41dd2a0323676545e38ab1f6871bebb.zip
Merge pull request #102 from nitrohorse/add-old-reddit-support
feat(): Add support for redirecting to the old Reddit desktop or mobile design
Diffstat (limited to 'pages/options')
-rw-r--r--pages/options/options.html32
-rw-r--r--pages/options/options.js24
2 files changed, 56 insertions, 0 deletions
diff --git a/pages/options/options.html b/pages/options/options.html
index 3bddd40..a821524 100644
--- a/pages/options/options.html
+++ b/pages/options/options.html
@@ -121,6 +121,28 @@
</table>
</section>
<section class="settings-block">
+ <table class="option" aria-label="Toggle old Reddit redirects">
+ <tbody>
+ <tr>
+ <td>
+ <h1 data-localise="__MSG_disableOldReddit__">
+ Old Reddit Redirects
+ </h1>
+ </td>
+ <td>
+ <input
+ aria-hidden="true"
+ id="disable-old-reddit"
+ type="checkbox"
+ checked
+ />&nbsp;
+ <label for="disable-old-reddit" class="checkbox-label"> </label>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+ <section class="settings-block">
<h1 data-localise="__MSG_nitterInstance__">Nitter Instance</h1>
<div class="autocomplete">
<input
@@ -162,6 +184,16 @@
</div>
</section>
<section class="settings-block">
+ <h1 data-localise="__MSG_oldRedditView__">Old Reddit View (Desktop or Mobile)</h1>
+ <div class="autocomplete">
+ <input
+ id="old-reddit-view"
+ type="url"
+ placeholder="https://old.reddit.com"
+ />
+ </div>
+ </section>
+ <section class="settings-block">
<h1 data-localise="__MSG_theme__">Theme</h1>
<select id="theme">
<option value="">System</option>
diff --git a/pages/options/options.js b/pages/options/options.js
index e6bb983..2c3d5df 100644
--- a/pages/options/options.js
+++ b/pages/options/options.js
@@ -45,21 +45,28 @@ const bibliogramInstances = [
"https://bibliogram.ggc-project.de",
];
const osmInstances = ["https://openstreetmap.org"];
+const oldRedditViews = [
+ "https://old.reddit.com", // desktop
+ "https://i.reddit.com" // mobile
+];
const autocompletes = [
{ id: "nitter-instance", instances: nitterInstances },
{ id: "invidious-instance", instances: invidiousInstances },
{ id: "bibliogram-instance", instances: bibliogramInstances },
{ id: "osm-instance", instances: osmInstances },
+ { id: "old-reddit-view", instances: oldRedditViews },
];
let nitterInstance = document.getElementById("nitter-instance");
let invidiousInstance = document.getElementById("invidious-instance");
let bibliogramInstance = document.getElementById("bibliogram-instance");
let osmInstance = document.getElementById("osm-instance");
+let oldRedditView = document.getElementById("old-reddit-view");
let disableNitter = document.getElementById("disable-nitter");
let disableInvidious = document.getElementById("disable-invidious");
let disableBibliogram = document.getElementById("disable-bibliogram");
let disableOsm = document.getElementById("disable-osm");
+let disableOldReddit = document.getElementById("disable-old-reddit");
let alwaysProxy = document.getElementById("always-proxy");
let onlyEmbeddedVideo = document.getElementById("only-embed");
let videoQuality = document.getElementById("video-quality");
@@ -104,10 +111,12 @@ browser.storage.sync.get(
"invidiousInstance",
"bibliogramInstance",
"osmInstance",
+ "oldRedditView",
"disableNitter",
"disableInvidious",
"disableBibliogram",
"disableOsm",
+ "disableOldReddit",
"alwaysProxy",
"onlyEmbeddedVideo",
"videoQuality",
@@ -129,10 +138,12 @@ browser.storage.sync.get(
invidiousInstance.value = result.invidiousInstance || "";
bibliogramInstance.value = result.bibliogramInstance || "";
osmInstance.value = result.osmInstance || "";
+ oldRedditView.value = result.oldRedditView || "";
disableNitter.checked = !result.disableNitter;
disableInvidious.checked = !result.disableInvidious;
disableBibliogram.checked = !result.disableBibliogram;
disableOsm.checked = !result.disableOsm;
+ disableOldReddit.checked = !result.disableOldReddit;
alwaysProxy.checked = result.alwaysProxy;
onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo;
videoQuality.value = result.videoQuality || "";
@@ -276,6 +287,15 @@ let osmInstanceChange = debounce(() => {
}, 500);
osmInstance.addEventListener("input", osmInstanceChange);
+let oldRedditViewChange = debounce(() => {
+ if (oldRedditView.checkValidity()) {
+ browser.storage.sync.set({
+ oldRedditView: parseURL(oldRedditView.value),
+ });
+ }
+}, 500);
+oldRedditView.addEventListener("input", oldRedditViewChange);
+
disableNitter.addEventListener("change", (event) => {
browser.storage.sync.set({ disableNitter: !event.target.checked });
});
@@ -292,6 +312,10 @@ disableOsm.addEventListener("change", (event) => {
browser.storage.sync.set({ disableOsm: !event.target.checked });
});
+disableOldReddit.addEventListener("change", (event) => {
+ browser.storage.sync.set({ disableOldReddit: !event.target.checked });
+});
+
alwaysProxy.addEventListener("change", (event) => {
browser.storage.sync.set({ alwaysProxy: event.target.checked });
});