From ab44fd04ffa1055bd17a3da02017e8de3da88af2 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 15 May 2022 18:44:28 +0300 Subject: Complete on supporting Unify #234 --- src/pages/options/reddit/reddit.html | 59 ++++++++++++------------------------ src/pages/options/reddit/reddit.js | 58 +++++++++++++++++------------------ src/pages/options/reddit/reddit.pug | 16 ---------- 3 files changed, 47 insertions(+), 86 deletions(-) (limited to 'src/pages/options/reddit') diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html index e3fc40d9..876369f9 100644 --- a/src/pages/options/reddit/reddit.html +++ b/src/pages/options/reddit/reddit.html @@ -12,9 +12,9 @@
@@ -73,26 +73,7 @@ -
-

Bypass "Open in Reddit"

- -
-
-
-

Unify cookies across selected instances

-
-
-
- - -
-

diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js index 65ad284c..52399649 100644 --- a/src/pages/options/reddit/reddit.js +++ b/src/pages/options/reddit/reddit.js @@ -5,19 +5,17 @@ let libredditDivElement = document.getElementById("libreddit") let tedditDivElement = document.getElementById("teddit") let disableRedditElement = document.getElementById("disable-reddit"); -let redditFrontendElement = document.getElementById("reddit-frontend"); -let protocolElement = document.getElementById("protocol") -let bypassWatchOnRedditElement = document.getElementById("bypass-watch-on-reddit") +let frontend = document.getElementById("reddit-frontend"); +let protocol = document.getElementById("protocol") -document.addEventListener("change", async () => { - await browser.storage.local.set({ +document.addEventListener("change", () => { + browser.storage.local.set({ disableReddit: !disableRedditElement.checked, - bypassWatchOnReddit: bypassWatchOnRedditElement.checked, - redditProtocol: protocolElement.value, - redditFrontend: redditFrontendElement.value, + redditProtocol: protocol.value, + redditFrontend: frontend.value, }); - changeFrontendsSettings(redditFrontendElement.value); - changeProtocolSettings(protocolElement.value); + changeFrontendsSettings(); + changeProtocolSettings(); }) const libredditForm = libredditDivElement.getElementsByTagName('form')[0]; @@ -26,50 +24,49 @@ libredditForm.addEventListener('submit', async event => { event.preventDefault(); const url = new URL(libredditCookies.value); redditHelper.initLibredditCookies(url); -}) +}); + +const tedditForm = tedditDivElement.getElementsByTagName('form')[0]; +const tedditCookies = tedditForm.getElementsByTagName('input')[0]; +tedditForm.addEventListener('submit', async event => { + event.preventDefault(); + const url = new URL(tedditCookies.value); + redditHelper.initTedditCookies(url); +}); -function changeProtocolSettings(protocol) { +function changeProtocolSettings() { let normalLibredditDiv = libredditDivElement.getElementsByClassName("normal")[0]; let torLibredditDiv = libredditDivElement.getElementsByClassName("tor")[0]; let normalTedditDiv = tedditDivElement.getElementsByClassName("normal")[0]; let torTedditDiv = tedditDivElement.getElementsByClassName("tor")[0]; - if (protocol == 'normal') { + if (protocol.value == 'normal') { normalLibredditDiv.style.display = 'block'; normalTedditDiv.style.display = 'block'; torTedditDiv.style.display = 'none'; torLibredditDiv.style.display = 'none'; } - else if (protocol == 'tor') { + else if (protocol.value == 'tor') { normalLibredditDiv.style.display = 'none'; normalTedditDiv.style.display = 'none'; torTedditDiv.style.display = 'block'; torLibredditDiv.style.display = 'block'; } } -function changeFrontendsSettings(frontend) { - let frontendElement = document.getElementById("frontend"); - if (frontend == 'libreddit') { - frontendElement.innerHTML = 'Frontend'; +function changeFrontendsSettings() { + if (frontend.value == 'libreddit') { libredditDivElement.style.display = 'block'; tedditDivElement.style.display = 'none'; } - else if (frontend == 'teddit') { - frontendElement.innerHTML = 'Frontend'; + else if (frontend.value == 'teddit') { libredditDivElement.style.display = 'none'; tedditDivElement.style.display = 'block'; } - else if (frontend == 'old') { - frontendElement.innerHTML = `Frontend: This isn't a fully private frontend`; - libredditDivElement.style.display = 'none'; - tedditDivElement.style.display = 'none'; - } } browser.storage.local.get( [ "disableReddit", - "bypassWatchOnReddit", "redditProtocol", "redditFrontend", @@ -77,11 +74,10 @@ browser.storage.local.get( ], r => { disableRedditElement.checked = !r.disableReddit - bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit - protocolElement.value = r.redditProtocol - redditFrontendElement.value = r.redditFrontend - changeFrontendsSettings(r.redditFrontend); - changeProtocolSettings(r.redditProtocol); + protocol.value = r.redditProtocol + frontend.value = r.redditFrontend + changeFrontendsSettings(); + changeProtocolSettings(); } ) diff --git a/src/pages/options/reddit/reddit.pug b/src/pages/options/reddit/reddit.pug index 7262a7f4..ba23df83 100644 --- a/src/pages/options/reddit/reddit.pug +++ b/src/pages/options/reddit/reddit.pug @@ -24,24 +24,8 @@ body.option(dir="auto") option(value="normal" data-localise="__MSG_normal__") Normal option(value="tor" data-localise="__MSG_tor__") Tor - .some-block.option-block - h4(data-localise="__MSG_bypassReddit__") Bypass "Open in Reddit" - input#bypass-watch-on-reddit(type="checkbox") - #libreddit hr - .some-block.option-block - h4 Unify cookies across selected instances - form - .some-block.option-block - input(type="url" placeholder="https://libreddit.com") - button.add(type="submit") - svg(xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor") - rect(fill="none" height="24" width="24") - path(d="M18,2H9C7.9,2,7,2.9,7,4v12c0,1.1,0.9,2,2,2h9c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2z M18,16H9V4h9V16z M3,15v-2h2v2H3z M3,9.5h2v2H3V9.5z M10,20h2v2h-2V20z M3,18.5v-2h2v2H3z M5,22c-1.1,0-2-0.9-2-2h2V22z M8.5,22h-2v-2h2V22z M13.5,22L13.5,22l0-2h2 v0C15.5,21.1,14.6,22,13.5,22z M5,6L5,6l0,2H3v0C3,6.9,3.9,6,5,6z") - - hr - .normal include ../../widgets/instances.pug +instances('https://libreddit.com') -- cgit 1.4.1