diff --git a/background.js b/background.js index 185147b..5e896a1 100644 --- a/background.js +++ b/background.js @@ -88,14 +88,14 @@ const redditDomains = [ "www.reddit.com", "np.reddit.com", "new.reddit.com", - "amp.reddit.com" + "amp.reddit.com", ]; const redditBypassPaths = /\/(gallery\/poll\/rpan\/settings\/topics)/; -const redditVersions = [ - "https://old.reddit.com", - "https://i.reddit.com" // Old Mobile view +const oldRedditViews = [ + "https://old.reddit.com", // desktop + "https://i.reddit.com" // mobile ]; -const redditDefault = redditVersions[0]; +const redditDefault = oldRedditViews[0]; const googleMapsRegex = /https?:\/\/(((www|maps)\.)?(google\.).*(\/maps)|maps\.(google\.).*)/; const mapCentreRegex = /@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/; const dataLatLngRegex = /(!3d|!4d)(-?[0-9]{1,10}.[0-9]{1,10})/g; @@ -117,12 +117,12 @@ let disableNitter; let disableInvidious; let disableBibliogram; let disableOsm; -let disableRedditVersion; +let disableOldReddit; let nitterInstance; let invidiousInstance; let bibliogramInstance; let osmInstance; -let redditVersion; +let oldRedditView; let alwaysProxy; let onlyEmbeddedVideo; let videoQuality; @@ -141,12 +141,12 @@ browser.storage.sync.get( "invidiousInstance", "bibliogramInstance", "osmInstance", - "redditVersion", + "oldRedditView", "disableNitter", "disableInvidious", "disableBibliogram", "disableOsm", - "disableRedditVersion", + "disableOldReddit", "alwaysProxy", "onlyEmbeddedVideo", "videoQuality", @@ -162,12 +162,12 @@ browser.storage.sync.get( disableInvidious = result.disableInvidious; disableBibliogram = result.disableBibliogram; disableOsm = result.disableOsm; - disableRedditVersion = result.disableRedditVersion; + disableOldReddit = result.disableOldReddit; nitterInstance = result.nitterInstance; invidiousInstance = result.invidiousInstance; bibliogramInstance = result.bibliogramInstance; osmInstance = result.osmInstance || osmDefault; - redditVersion = result.redditVersion || redditDefault; + oldRedditView = result.oldRedditView || redditDefault; alwaysProxy = result.alwaysProxy; onlyEmbeddedVideo = result.onlyEmbeddedVideo; videoQuality = result.videoQuality; @@ -197,8 +197,8 @@ browser.storage.onChanged.addListener((changes) => { if ("osmInstance" in changes) { osmInstance = changes.osmInstance.newValue || osmDefault; } - if ("redditVersion" in changes) { - redditVersion = changes.redditVersion.newValue || redditDefault; + if ("oldRedditView" in changes) { + oldRedditView = changes.oldRedditView.newValue || redditDefault; } if ("disableNitter" in changes) { disableNitter = changes.disableNitter.newValue; @@ -212,8 +212,8 @@ browser.storage.onChanged.addListener((changes) => { if ("disableOsm" in changes) { disableOsm = changes.disableOsm.newValue; } - if ("disableRedditVersion" in changes) { - disableRedditVersion = changes.disableRedditVersion.newValue; + if ("disableOldReddit" in changes) { + disableOldReddit = changes.disableOldReddit.newValue; } if ("alwaysProxy" in changes) { alwaysProxy = changes.alwaysProxy.newValue; @@ -498,23 +498,18 @@ function redirectGoogleMaps(url, initiator) { } function redirectReddit(url, initiator, type) { - if (disableRedditVersion || isException(url, initiator)) { + if (disableOldReddit || isException(url, initiator)) { return null; } - // Do not redirect old or mobile Reddit versions on normal Reddit links - if ( - initiator && - (initiator.origin === redditVersion || - redditVersions.includes(initiator.origin) || - redditVersions.includes(initiator.host)) - ) { + // Do not redirect when already on the selected view + if (initiator && initiator.origin === oldRedditView || url.origin === oldRedditView) { return null; } // Do not redirect anything other than main_frame if (type !== "main_frame" || url.pathname.match(redditBypassPaths)) { return null; } - return `${redditVersion}${url.pathname}${url.search}`; + return `${oldRedditView}${url.pathname}${url.search}`; } browser.webRequest.onBeforeRequest.addListener( @@ -543,7 +538,7 @@ browser.webRequest.onBeforeRequest.addListener( redirect = { redirectUrl: redirectGoogleMaps(url, initiator), }; - } else if (redditDomains.includes(url.host)) { + } else if (redditDomains.includes(url.host) || oldRedditViews.includes(url.origin)) { redirect = { redirectUrl: redirectReddit(url, initiator, details.type), } diff --git a/pages/options/options.html b/pages/options/options.html index 9664151..bf9d5cd 100644 --- a/pages/options/options.html +++ b/pages/options/options.html @@ -121,22 +121,22 @@
- +
@@ -184,10 +184,10 @@
-

Reddit Version

+

Old Reddit View (Desktop or Mobile)

diff --git a/pages/options/options.js b/pages/options/options.js index ff08fa4..6513358 100644 --- a/pages/options/options.js +++ b/pages/options/options.js @@ -45,28 +45,28 @@ const bibliogramInstances = [ "https://bibliogram.ggc-project.de", ]; const osmInstances = ["https://openstreetmap.org"]; -const redditVersions = [ - "https://old.reddit.com", - "https://i.reddit.com" +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: "reddit-version", instances: redditVersions }, + { 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 redditVersion = document.getElementById("reddit-version"); +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 disableRedditVersion = document.getElementById("disable-reddit-version"); +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"); @@ -110,12 +110,12 @@ browser.storage.sync.get( "invidiousInstance", "bibliogramInstance", "osmInstance", - "redditVersion", + "oldRedditView", "disableNitter", "disableInvidious", "disableBibliogram", "disableOsm", - "disableRedditVersion", + "disableOldReddit", "alwaysProxy", "onlyEmbeddedVideo", "videoQuality", @@ -136,12 +136,12 @@ browser.storage.sync.get( invidiousInstance.value = result.invidiousInstance || ""; bibliogramInstance.value = result.bibliogramInstance || ""; osmInstance.value = result.osmInstance || ""; - redditVersion.value = result.redditVersion || ""; + oldRedditView.value = result.oldRedditView || ""; disableNitter.checked = !result.disableNitter; disableInvidious.checked = !result.disableInvidious; disableBibliogram.checked = !result.disableBibliogram; disableOsm.checked = !result.disableOsm; - disableRedditVersion.checked = !result.disableRedditVersion; + disableOldReddit.checked = !result.disableOldReddit; alwaysProxy.checked = result.alwaysProxy; onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo; videoQuality.value = result.videoQuality || ""; @@ -284,14 +284,14 @@ let osmInstanceChange = debounce(() => { }, 500); osmInstance.addEventListener("input", osmInstanceChange); -let redditVersionChange = debounce(() => { - if (redditVersion.checkValidity()) { +let oldRedditViewChange = debounce(() => { + if (oldRedditView.checkValidity()) { browser.storage.sync.set({ - redditVersion: parseURL(redditVersion.value), + oldRedditView: parseURL(oldRedditView.value), }); } }, 500); -redditVersion.addEventListener("input", redditVersionChange); +oldRedditView.addEventListener("input", oldRedditViewChange); disableNitter.addEventListener("change", (event) => { browser.storage.sync.set({ disableNitter: !event.target.checked }); @@ -309,8 +309,8 @@ disableOsm.addEventListener("change", (event) => { browser.storage.sync.set({ disableOsm: !event.target.checked }); }); -disableRedditVersion.addEventListener("change", (event) => { - browser.storage.sync.set({ disableRedditVersion: !event.target.checked }); +disableOldReddit.addEventListener("change", (event) => { + browser.storage.sync.set({ disableOldReddit: !event.target.checked }); }); alwaysProxy.addEventListener("change", (event) => { diff --git a/pages/popup/popup.html b/pages/popup/popup.html index 871e2c6..faf0deb 100644 --- a/pages/popup/popup.html +++ b/pages/popup/popup.html @@ -117,22 +117,22 @@
-
-

- Reddit Version Redirects +

+ Old Reddit Redirects

  - +
+
diff --git a/pages/popup/popup.js b/pages/popup/popup.js index 4ea627c..3425370 100644 --- a/pages/popup/popup.js +++ b/pages/popup/popup.js @@ -4,7 +4,7 @@ let disableNitter = document.querySelector("#disable-nitter"); let disableInvidious = document.querySelector("#disable-invidious"); let disableBibliogram = document.querySelector("#disable-bibliogram"); let disableOsm = document.querySelector("#disable-osm"); -let disableRedditVersion = document.querySelector("#disable-reddit-version"); +let disableOldReddit = document.querySelector("#disable-old-reddit"); let version = document.querySelector("#version"); window.browser = window.browser || window.chrome; @@ -15,7 +15,7 @@ browser.storage.sync.get( "disableInvidious", "disableBibliogram", "disableOsm", - "disableRedditVersion", + "disableOldReddit", "theme", ], (result) => { @@ -24,7 +24,7 @@ browser.storage.sync.get( disableInvidious.checked = !result.disableInvidious; disableBibliogram.checked = !result.disableBibliogram; disableOsm.checked = !result.disableOsm; - disableRedditVersion.checked = !result.disableRedditVersion; + disableOldReddit.checked = !result.disableOldReddit; } ); @@ -46,8 +46,8 @@ disableOsm.addEventListener("change", (event) => { browser.storage.sync.set({ disableOsm: !event.target.checked }); }); -disableRedditVersion.addEventListener("change", (event) => { - browser.storage.sync.set({ disableRedditVersion: !event.target.checked }); +disableOldReddit.addEventListener("change", (event) => { + browser.storage.sync.set({ disableOldReddit: !event.target.checked }); }); document.querySelector("#more-options").addEventListener("click", () => {
-

- Reddit Version Redirects +

+ Old Reddit Redirects

  - +