aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-06-11 14:14:14 +0300
committerManeraKai <manerakai@protonmail.com>2022-06-11 14:14:14 +0300
commitbab3f02a3680c9f29e3dee40033c97c87750081b (patch)
treef03d25758345fee58d846591bbf4b565df0abbd6 /src/pages
parentremoved bypassing root path on medium, imgur (diff)
downloadlibredirect-bab3f02a3680c9f29e3dee40033c97c87750081b.zip
Added quetre #230
Diffstat (limited to '')
-rw-r--r--src/pages/background/background.js4
-rw-r--r--src/pages/options/index.html79
-rw-r--r--src/pages/options/index.pug1
-rw-r--r--src/pages/options/widgets/general.js2
-rw-r--r--src/pages/options/widgets/general.pug6
-rw-r--r--src/pages/options/widgets/quora.js42
-rw-r--r--src/pages/options/widgets/quora.pug26
-rw-r--r--src/pages/popup/popup.html4
-rw-r--r--src/pages/popup/popup.js4
-rw-r--r--src/pages/popup/popup.pug6
-rw-r--r--src/pages/widgets/links.pug4
11 files changed, 178 insertions, 0 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index a1ac27db..07e7512e 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -18,6 +18,7 @@ import tiktokHelper from "../../assets/javascripts/tiktok.js";
import sendTargetsHelper from "../../assets/javascripts/sendTargets.js";
import peertubeHelper from "../../assets/javascripts/peertube.js";
import lbryHelper from "../../assets/javascripts/lbry.js";
+import quoraHelper from "../../assets/javascripts/quora.js";
window.browser = window.browser || window.chrome;
@@ -41,6 +42,7 @@ browser.runtime.onInstalled.addListener(
searchHelper.initDefaults();
translateHelper.initDefaults();
mediumHelper.initDefaults();
+ quoraHelper.initDefaults();
redditHelper.initDefaults();
wikipediaHelper.initDefaults();
imgurHelper.initDefaults();
@@ -98,6 +100,7 @@ browser.webRequest.onBeforeRequest.addListener(
if (!newUrl) newUrl = mapsHelper.redirect(url, initiator);
if (!newUrl) newUrl = redditHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = mediumHelper.redirect(url, details.type, initiator);
+ if (!newUrl) newUrl = quoraHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = imgurHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = sendTargetsHelper.redirect(url, details.type, initiator);
@@ -174,6 +177,7 @@ async function redirectOfflineInstance(url, tabId) {
if (!newUrl) newUrl = await searchHelper.switchInstance(url);
if (!newUrl) newUrl = await translateHelper.switchInstance(url);
if (!newUrl) newUrl = await mediumHelper.switchInstance(url);
+ if (!newUrl) newUrl = await quoraHelper.switchInstance(url);
if (!newUrl) newUrl = await tiktokHelper.switchInstance(url);
if (!newUrl) newUrl = await imgurHelper.switchInstance(url);
if (!newUrl) newUrl = await wikipediaHelper.switchInstance(url);
diff --git a/src/pages/options/index.html b/src/pages/options/index.html
index 8d19b3a4..dd09950b 100644
--- a/src/pages/options/index.html
+++ b/src/pages/options/index.html
@@ -30,6 +30,7 @@
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="#medium" data-localise="__MSG_medium__">Medium</a>
</div>
+ <div class="title"><img src="../../../assets/images/quora.png"><a href="#quora" data-localise="__MSG_quora__">Quora</a></div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="#peertube" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="#lbry" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
@@ -210,6 +211,12 @@
<input id="medium" type="checkbox">
</div>
<div>
+ <div> <img src="../../../assets/images/quora.png">
+ <x data-localise="__MSG_quora__">Quora</x>
+ </div>
+ <input id="quora" type="checkbox">
+ </div>
+ <div>
<div> <img src="../../../assets/images/peertube-icon.svg">
<x data-localise="__MSG_peertube__">PeerTube</x>
</div>
@@ -1097,6 +1104,78 @@
</div>
<script type="module" src="./widgets/medium.js"></script>
</section>
+ <section class="option-block" id="quora_page">
+ <div class="some-block option-block">
+ <h1 data-localise="__MSG_quora__">Quora</h1>
+ </div>
+ <hr>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_enable__">Enable</h4>
+ <input id="quora-enable" type="checkbox">
+ </div>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_protocol__">Protocol</h4>
+ <select id="quora-protocol">
+ <option value="normal" data-localise="__MSG_normal__">Normal</option>
+ <option value="tor" data-localise="__MSG_tor__">Tor</option>
+ </select>
+ </div>
+ <div id="quetre">
+ <hr>
+ <div class="normal">
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
+ </div>
+ <div class="checklist"></div>
+ <hr>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
+ </div>
+ <form class="custom-instance-form">
+ <div class="some-block option-block">
+ <input class="custom-instance" placeholder="https://quetre.com" type="url">
+ <button class="add add-instance" type="submit">
+ <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
+ <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
+ </svg>
+ </button>
+ </div>
+ </form>
+ <div class="checklist custom-checklist"></div>
+ <div class="buttons buttons-inline">
+ <label class="button button-inline" id="latency-quetre-label" for="latency-quetre">
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+ <path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
+ </svg>&nbsp;
+ <x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
+ </label>
+ <input class="button button-inline" id="latency-quetre" style="display:none;">
+ </div>
+ </div>
+ <div class="tor">
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
+ </div>
+ <div class="checklist"></div>
+ <hr>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
+ </div>
+ <form class="custom-instance-form">
+ <div class="some-block option-block">
+ <input class="custom-instance" placeholder="https://quetre.onion" type="url">
+ <button class="add add-instance" type="submit">
+ <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
+ <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
+ </svg>
+ </button>
+ </div>
+ </form>
+ <div class="checklist custom-checklist"></div>
+ </div>
+ </div>
+ <script type="module" src="./widgets/quora.js"></script>
+ </section>
<section class="option-block" id="peertube_page">
<div class="some-block option-block">
<h1 data-localise="__MSG_peertube__">PeerTube</h1>
diff --git a/src/pages/options/index.pug b/src/pages/options/index.pug
index 6488aced..339b5cbc 100644
--- a/src/pages/options/index.pug
+++ b/src/pages/options/index.pug
@@ -22,6 +22,7 @@ html#elementToShowWithJavaScript(lang="en")
include ./widgets/imgur.pug
include ./widgets/wikipedia.pug
include ./widgets/medium.pug
+ include ./widgets/quora.pug
include ./widgets/peertube.pug
include ./widgets/lbry.pug
include ./widgets/search.pug
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index 6fe01b25..25f668ab 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -14,6 +14,7 @@ import translateHelper from "../../../assets/javascripts/translate/translate.js"
import mapsHelper from "../../../assets/javascripts/maps.js";
import wikipediaHelper from "../../../assets/javascripts/wikipedia.js";
import mediumHelper from "../../../assets/javascripts/medium.js";
+import quoraHelper from "../../../assets/javascripts/quora.js";
import imgurHelper from "../../../assets/javascripts/imgur.js";
import tiktokHelper from "../../../assets/javascripts/tiktok.js";
import sendTargetsHelper from "../../../assets/javascripts/sendTargets.js";
@@ -130,6 +131,7 @@ resetSettings.addEventListener("click",
await searchHelper.initDefaults();
await translateHelper.initDefaults();
await mediumHelper.initDefaults();
+ await quoraHelper.initDefaults();
await redditHelper.initDefaults();
await wikipediaHelper.initDefaults();
await imgurHelper.initDefaults();
diff --git a/src/pages/options/widgets/general.pug b/src/pages/options/widgets/general.pug
index ac9f6639..4123a7f6 100644
--- a/src/pages/options/widgets/general.pug
+++ b/src/pages/options/widgets/general.pug
@@ -152,6 +152,12 @@ section#general_page.option-block
div
div
+ img(src="../../../assets/images/quora.png")
+ x(data-localise="__MSG_quora__") Quora
+ input#quora(type="checkbox")
+
+ div
+ div
img(src="../../../assets/images/peertube-icon.svg")
x(data-localise="__MSG_peertube__") PeerTube
input#peertube(type="checkbox")
diff --git a/src/pages/options/widgets/quora.js b/src/pages/options/widgets/quora.js
new file mode 100644
index 00000000..34e84cf1
--- /dev/null
+++ b/src/pages/options/widgets/quora.js
@@ -0,0 +1,42 @@
+import utils from "../../../assets/javascripts/utils.js";
+
+const enable = document.getElementById("quora-enable");
+const protocol = document.getElementById("quora-protocol")
+const quora = document.getElementById('quora_page');
+
+function changeProtocolSettings() {
+ const normalDiv = document.getElementsByClassName("normal")[0];
+ const torDiv = document.getElementsByClassName("tor")[0];
+ if (protocol.value == 'normal') {
+ normalDiv.style.display = 'block';
+ torDiv.style.display = 'none';
+ }
+ else if (protocol.value == 'tor') {
+ normalDiv.style.display = 'none';
+ torDiv.style.display = 'block';
+ }
+}
+
+quora.addEventListener("change", () => {
+ changeProtocolSettings();
+ browser.storage.local.set({
+ disableQuora: !enable.checked,
+ quoraProtocol: protocol.value,
+ })
+})
+
+browser.storage.local.get(
+ [
+ "disableQuora",
+ "quoraProtocol"
+ ],
+ r => {
+ enable.checked = !r.disableQuora;
+ protocol.value = r.quoraProtocol;
+ changeProtocolSettings();
+ }
+)
+
+utils.processDefaultCustomInstances('quora', 'quetre', 'normal', document);
+utils.processDefaultCustomInstances('quora', 'quetre', 'tor', document);
+utils.latency('quora', 'quetre', document, location) \ No newline at end of file
diff --git a/src/pages/options/widgets/quora.pug b/src/pages/options/widgets/quora.pug
new file mode 100644
index 00000000..8f5fe639
--- /dev/null
+++ b/src/pages/options/widgets/quora.pug
@@ -0,0 +1,26 @@
+section#quora_page.option-block
+ .some-block.option-block
+ h1(data-localise="__MSG_quora__") Quora
+ hr
+ .some-block.option-block
+ h4(data-localise="__MSG_enable__") Enable
+ input#quora-enable(type="checkbox")
+
+ .some-block.option-block
+ h4(data-localise="__MSG_protocol__") Protocol
+ select#quora-protocol
+ option(value="normal" data-localise="__MSG_normal__") Normal
+ option(value="tor" data-localise="__MSG_tor__") Tor
+
+ #quetre
+ hr
+ .normal
+ include ../../widgets/instances.pug
+ +instances('https://quetre.com')
+ include ../../widgets/latency.pug
+ +latency('quetre')
+ .tor
+ include ../../widgets/instances.pug
+ +instances('https://quetre.onion')
+
+ script(type="module" src="./widgets/quora.js") \ No newline at end of file
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html
index 5b00b084..8555dcac 100644
--- a/src/pages/popup/popup.html
+++ b/src/pages/popup/popup.html
@@ -48,6 +48,10 @@
<h4 data-localise="__MSG_medium__">Medium</h4></a>
<input id="disable-medium" type="checkbox">
</div>
+ <div class="some-block" id="quora"><a class="title" href="https://quora.com"><img src="../../assets/images/quora.png">
+ <h4 data-localise="__MSG_quora__">Quora</h4></a>
+ <input id="disable-quora" type="checkbox">
+ </div>
<div class="some-block" id="peertube"><a class="title" href="https://search.joinpeertube.org"><img src="../../assets/images/peertube-icon.svg">
<h4 data-localise="__MSG_peertube__">PeerTube</h4></a>
<input id="disable-peertube" type="checkbox">
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 17eeb2ca..a25ca6b9 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -44,6 +44,7 @@ let disableSearchElement = document.getElementById("disable-search");
let disableElement = document.getElementById("disable-simplyTranslate");
let disableWikipediaElement = document.getElementById("disable-wikipedia");
let disableMediumElement = document.getElementById("disable-medium");
+let disableQuoraElement = document.getElementById("disable-quora");
let disablePeertubeElement = document.getElementById("disable-peertube");
let disableLbryElement = document.getElementById("disable-lbry");
let disableSendTargetsElement = document.getElementById("disable-sendTargets");
@@ -64,6 +65,7 @@ browser.storage.local.get(
"disableImgur",
"disableTiktok",
"disableMedium",
+ "disableQuora",
"disablePeertubeTargets",
"disableLbryTargets",
"disableSendTarget",
@@ -83,6 +85,7 @@ browser.storage.local.get(
disableImgurElement.checked = !r.disableImgur;
disableTiktokElement.checked = !r.disableTiktok;
disableMediumElement.checked = !r.disableMedium;
+ disableQuoraElement.checked = !r.disableQuora;
disablePeertubeElement.checked = !r.disablePeertubeTargets;
disableLbryElement.checked = !r.disableLbryTargets;
disableSendTargetsElement.checked = !r.disableSendTarget;
@@ -109,6 +112,7 @@ document.addEventListener("change", () => {
disableImgur: !disableImgurElement.checked,
disableTiktok: !disableTiktokElement.checked,
disableMedium: !disableMediumElement.checked,
+ disableQuora: !disableQuoraElement.checked,
disablePeertubeTargets: !disablePeertubeElement.checked,
disableLbryTargets: !disableLbryElement.checked,
disableSendTarget: !disableSendTargetsElement.checked,
diff --git a/src/pages/popup/popup.pug b/src/pages/popup/popup.pug
index a2c8de93..02d9165e 100644
--- a/src/pages/popup/popup.pug
+++ b/src/pages/popup/popup.pug
@@ -62,6 +62,12 @@ html(lang="en")
h4(data-localise="__MSG_medium__") Medium
input#disable-medium(type="checkbox")
+ #quora.some-block
+ a.title(href="https://quora.com")
+ img(src="../../assets/images/quora.png")
+ h4(data-localise="__MSG_quora__") Quora
+ input#disable-quora(type="checkbox")
+
#peertube.some-block
a.title(href="https://search.joinpeertube.org")
img(src="../../assets/images/peertube-icon.svg")
diff --git a/src/pages/widgets/links.pug b/src/pages/widgets/links.pug
index 7a04a991..256dd9ba 100644
--- a/src/pages/widgets/links.pug
+++ b/src/pages/widgets/links.pug
@@ -42,6 +42,10 @@ mixin links(service)
+medium
a(href="#medium" data-localise="__MSG_medium__") Medium
+ .title
+ img(src="../../../assets/images/quora.png")
+ a(href="#quora" data-localise="__MSG_quora__") Quora
+
.title
img(src="../../../assets/images/peertube-icon.svg")
a(href="#peertube" data-localise="__MSG_peertube__") PeerTube