about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-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/imdb.js42
-rw-r--r--src/pages/options/widgets/imdb.pug26
-rw-r--r--src/pages/popup/popup.html4
-rw-r--r--src/pages/popup/popup.pug6
-rw-r--r--src/pages/widgets/links.pug4
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>&nbsp;
+                            <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