diff options
Diffstat (limited to 'src/pages')
-rw-r--r-- | src/pages/background/background.js | 4 | ||||
-rw-r--r-- | src/pages/options/index.html | 79 | ||||
-rw-r--r-- | src/pages/options/index.pug | 1 | ||||
-rw-r--r-- | src/pages/options/widgets/general.js | 2 | ||||
-rw-r--r-- | src/pages/options/widgets/general.pug | 6 | ||||
-rw-r--r-- | src/pages/options/widgets/imdb.js | 42 | ||||
-rw-r--r-- | src/pages/options/widgets/imdb.pug | 26 | ||||
-rw-r--r-- | src/pages/popup/popup.html | 4 | ||||
-rw-r--r-- | src/pages/popup/popup.pug | 6 | ||||
-rw-r--r-- | src/pages/widgets/links.pug | 4 |
10 files changed, 174 insertions, 0 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 049c8258..e3e34f85 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -14,6 +14,7 @@ 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 libremdbHelper from "../../assets/javascripts/imdb.js"; import reutersHelper from "../../assets/javascripts/reuters.js"; import imgurHelper from "../../assets/javascripts/imgur.js"; import tiktokHelper from "../../assets/javascripts/tiktok.js"; @@ -45,6 +46,7 @@ browser.runtime.onInstalled.addListener( translateHelper.initDefaults(); mediumHelper.initDefaults(); quoraHelper.initDefaults(); + libremdbHelper.initDefaults(); reutersHelper.initDefaults(); redditHelper.initDefaults(); wikipediaHelper.initDefaults(); @@ -104,6 +106,7 @@ browser.webRequest.onBeforeRequest.addListener( 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 = libremdbHelper.redirect(url, details.type, initiator); if (!newUrl) newUrl = reutersHelper.redirect(url, details.type, initiator); if (!newUrl) newUrl = imgurHelper.redirect(url, details.type, initiator); if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator); @@ -182,6 +185,7 @@ async function redirectOfflineInstance(url, tabId) { 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 libremdbHelper.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 81e15321..0bb4ecde 100644 --- a/src/pages/options/index.html +++ b/src/pages/options/index.html @@ -31,6 +31,7 @@ </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/imdb.svg"><a href="#imdb" data-localise="__MSG_imdb__">IMDb</a></div> <div class="title"><img src="../../../assets/images/reuters.svg"><a href="#reuters" data-localise="__MSG_reuters__">Reuters</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> @@ -218,6 +219,12 @@ <input id="quora" type="checkbox"> </div> <div> + <div> <img src="../../../assets/images/imdb.svg"> + <x data-localise="__MSG_imdb__">IMDb</x> + </div> + <input id="imdb" type="checkbox"> + </div> + <div> <div> <img src="../../../assets/images/reuters.svg"> <x data-localise="__MSG_reuters__">Reuters</x> </div> @@ -1183,6 +1190,78 @@ </div> <script type="module" src="./widgets/quora.js"></script> </section> + <section class="option-block" id="imdb_page"> + <div class="some-block option-block"> + <h1 data-localise="__MSG_imdb__">IMDb</h1> + </div> + <hr> + <div class="some-block option-block"> + <h4 data-localise="__MSG_enable__">Enable</h4> + <input id="imdb-enable" type="checkbox"> + </div> + <div class="some-block option-block"> + <h4 data-localise="__MSG_protocol__">Protocol</h4> + <select id="imdb-protocol"> + <option value="normal" data-localise="__MSG_normal__">Normal</option> + <option value="tor" data-localise="__MSG_tor__">Tor</option> + </select> + </div> + <div id="libremdb"> + <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://libremdb.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-libremdb-label" for="latency-libremdb"> + <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> + <x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x> + </label> + <input class="button button-inline" id="latency-libremdb" 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://libremdb.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/imdb.js"></script> + </section> <section class="option-block" id="reuters_page"> <div class="some-block option-block"> <h1 data-localise="__MSG_reuters__">Reuters</h1> diff --git a/src/pages/options/index.pug b/src/pages/options/index.pug index 2cd24350..9198c0f3 100644 --- a/src/pages/options/index.pug +++ b/src/pages/options/index.pug @@ -23,6 +23,7 @@ html#elementToShowWithJavaScript(lang="en") include ./widgets/wikipedia.pug include ./widgets/medium.pug include ./widgets/quora.pug + include ./widgets/imdb.pug include ./widgets/reuters.pug include ./widgets/peertube.pug include ./widgets/lbry.pug diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js index 97854fc4..a4c5c9d2 100644 --- a/src/pages/options/widgets/general.js +++ b/src/pages/options/widgets/general.js @@ -15,6 +15,7 @@ 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 libremdbHelper from "../../../assets/javascripts/imdb.js"; import imgurHelper from "../../../assets/javascripts/imgur.js"; import tiktokHelper from "../../../assets/javascripts/tiktok.js"; import sendTargetsHelper from "../../../assets/javascripts/sendTargets.js"; @@ -132,6 +133,7 @@ resetSettings.addEventListener("click", await translateHelper.initDefaults(); await mediumHelper.initDefaults(); await quoraHelper.initDefaults(); + await libremdbHelper.initDefaults(); await reutersHelper.initDefaults(); await redditHelper.initDefaults(); await wikipediaHelper.initDefaults(); diff --git a/src/pages/options/widgets/general.pug b/src/pages/options/widgets/general.pug index b7e54902..c8e043b9 100644 --- a/src/pages/options/widgets/general.pug +++ b/src/pages/options/widgets/general.pug @@ -158,6 +158,12 @@ section#general_page.option-block div div + img(src="../../../assets/images/imdb.svg") + x(data-localise="__MSG_imdb__") IMDb + input#imdb(type="checkbox") + + div + div img(src="../../../assets/images/reuters.svg") x(data-localise="__MSG_reuters__") Reuters input#reuters(type="checkbox") diff --git a/src/pages/options/widgets/imdb.js b/src/pages/options/widgets/imdb.js new file mode 100644 index 00000000..f2c6cba5 --- /dev/null +++ b/src/pages/options/widgets/imdb.js @@ -0,0 +1,42 @@ +import utils from "../../../assets/javascripts/utils.js"; + +const enable = document.getElementById("imdb-enable"); +const protocol = document.getElementById("imdb-protocol") +const imdb = document.getElementById('imdb_page'); + +function changeProtocolSettings() { + const normalDiv = imdb.getElementsByClassName("normal")[0]; + const torDiv = imdb.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'; + } +} + +imdb.addEventListener("change", () => { + changeProtocolSettings(); + browser.storage.local.set({ + disableImdb: !enable.checked, + imdbProtocol: protocol.value, + }) +}) + +browser.storage.local.get( + [ + "disableImdb", + "imdbProtocol" + ], + r => { + enable.checked = !r.disableImdb; + protocol.value = r.imdbProtocol; + changeProtocolSettings(); + } +) + +utils.processDefaultCustomInstances('imdb', 'libremdb', 'normal', document); +utils.processDefaultCustomInstances('imdb', 'libremdb', 'tor', document); +utils.latency('imdb', 'libremdb', document, location) \ No newline at end of file diff --git a/src/pages/options/widgets/imdb.pug b/src/pages/options/widgets/imdb.pug new file mode 100644 index 00000000..07749144 --- /dev/null +++ b/src/pages/options/widgets/imdb.pug @@ -0,0 +1,26 @@ +section#imdb_page.option-block + .some-block.option-block + h1(data-localise="__MSG_imdb__") IMDb + hr + .some-block.option-block + h4(data-localise="__MSG_enable__") Enable + input#imdb-enable(type="checkbox") + + .some-block.option-block + h4(data-localise="__MSG_protocol__") Protocol + select#imdb-protocol + option(value="normal" data-localise="__MSG_normal__") Normal + option(value="tor" data-localise="__MSG_tor__") Tor + + #libremdb + hr + .normal + include ../../widgets/instances.pug + +instances('https://libremdb.com') + include ../../widgets/latency.pug + +latency('libremdb') + .tor + include ../../widgets/instances.pug + +instances('https://libremdb.onion') + + script(type="module" src="./widgets/imdb.js") \ No newline at end of file diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html index 8b5b80a5..91fd113b 100644 --- a/src/pages/popup/popup.html +++ b/src/pages/popup/popup.html @@ -52,6 +52,10 @@ <h4 data-localise="__MSG_quora__">Quora</h4></a> <input id="disable-quora" type="checkbox"> </div> + <div class="some-block" id="imdb"><a class="title" href="https://imdb.com"><img src="../../assets/images/imdb.svg"> + <h4 data-localise="__MSG_imdb__">IMDb</h4></a> + <input id="disable-imdb" type="checkbox"> + </div> <div class="some-block" id="reuters"><a class="title" href="https://reuters.com"><img src="../../assets/images/reuters.svg"> <h4 data-localise="__MSG_reuters__">Reuters</h4></a> <input id="disable-reuters" type="checkbox"> diff --git a/src/pages/popup/popup.pug b/src/pages/popup/popup.pug index e9af3900..47113a13 100644 --- a/src/pages/popup/popup.pug +++ b/src/pages/popup/popup.pug @@ -67,6 +67,12 @@ html(lang="en") img(src="../../assets/images/quora.png") h4(data-localise="__MSG_quora__") Quora input#disable-quora(type="checkbox") + + #imdb.some-block + a.title(href="https://imdb.com") + img(src="../../assets/images/imdb.svg") + h4(data-localise="__MSG_imdb__") IMDb + input#disable-imdb(type="checkbox") #reuters.some-block a.title(href="https://reuters.com") diff --git a/src/pages/widgets/links.pug b/src/pages/widgets/links.pug index 436b3b22..b2dca780 100644 --- a/src/pages/widgets/links.pug +++ b/src/pages/widgets/links.pug @@ -47,6 +47,10 @@ mixin links(service) a(href="#quora" data-localise="__MSG_quora__") Quora .title + img(src="../../../assets/images/imdb.svg") + a(href="#imdb" data-localise="__MSG_imdb__") IMDb + + .title img(src="../../../assets/images/reuters.svg") a(href="#reuters" data-localise="__MSG_reuters__") Reuters |