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.js3
-rw-r--r--src/pages/options/reddit/reddit.js1
-rw-r--r--src/pages/options/tiktok/tiktok.html26
-rw-r--r--src/pages/options/tiktok/tiktok.js125
-rw-r--r--src/pages/popup/popup.js170
5 files changed, 169 insertions, 156 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 1aecd816..d5de169d 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -25,6 +25,7 @@ window.browser = window.browser || window.chrome;
 browser.runtime.onInstalled.addListener(async details => {
   if (details.reason == 'install') {
     await redditHelper.initDefaults();
+    await tiktokHelper.initDefaults();
     await wholeInit();
   }
 });
@@ -85,7 +86,7 @@ browser.webRequest.onBeforeRequest.addListener(
 
     if (imgurHelper.isImgur(url, initiator)) newUrl = imgurHelper.redirect(url, details.type);
 
-    if (tiktokHelper.isTiktok(url, initiator)) newUrl = tiktokHelper.redirect(url, details.type);
+    if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator);
 
     if (!newUrl) newUrl = pixivHelper.redirect(url, details.type, initiator);
 
diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js
index 9fb5589a..91160ecf 100644
--- a/src/pages/options/reddit/reddit.js
+++ b/src/pages/options/reddit/reddit.js
@@ -47,7 +47,6 @@ document.addEventListener("change", async () => {
 
 
 window.onblur = () => {
-    console.log('initting cookies')
     redditHelper.initLibredditCookies();
     redditHelper.initTedditCookies();
 }
diff --git a/src/pages/options/tiktok/tiktok.html b/src/pages/options/tiktok/tiktok.html
index 67fc2488..9aff1e47 100644
--- a/src/pages/options/tiktok/tiktok.html
+++ b/src/pages/options/tiktok/tiktok.html
@@ -69,8 +69,34 @@
         <option value="tor" data-localise="__MSG_tor__">Tor</option>
       </select>
     </div>
+    <div class="some-block option-block">
+      <h4 data-localise="__MSG_enableCustomSettings__">Enable Custom Settings (will use cookies)</h4>
+      <input id="enable-custom-settings" type="checkbox">
+    </div>
     <div id="proxiTok">
       <hr>
+      <div class="custom-settings">
+        <div class="some-block option-block">
+          <h2>General</h2>
+        </div>
+        <div class="some-block option-block">
+          <h4 data-localise="__MSG_theme__">Theme</h4>
+          <select class="theme">
+            <option value="default">Default</option>
+            <option value="card">Card</option>
+          </select>
+        </div>
+        <div class="some-block option-block">
+          <h2>Api</h2>
+        </div>
+        <div class="some-block option-block">
+          <h4 data-localise="__MSG_legacyMode__">Legacy mode</h4>
+          <select class="api-legacy">
+            <option value="on">On</option>
+            <option value="off">Off</option>
+          </select>
+        </div>
+      </div>
       <div class="normal">
                 <div class="some-block option-block">
                   <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
diff --git a/src/pages/options/tiktok/tiktok.js b/src/pages/options/tiktok/tiktok.js
index 35cc6685..299664db 100644
--- a/src/pages/options/tiktok/tiktok.js
+++ b/src/pages/options/tiktok/tiktok.js
@@ -1,64 +1,93 @@
 import tiktokHelper from "../../../assets/javascripts/helpers/tiktok.js";
 import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
-let disableTiktokElement = document.getElementById("disable-tiktok");
-disableTiktokElement.addEventListener("change",
-    event => tiktokHelper.setDisable(!event.target.checked)
-);
+let disable = document.getElementById("disable-tiktok");
+let protocol = document.getElementById("protocol")
 
-let protocolElement = document.getElementById("protocol")
-protocolElement.addEventListener("change",
-    event => {
-        let protocol = event.target.options[protocolElement.selectedIndex].value
-        tiktokHelper.setProtocol(protocol);
-        changeProtocolSettings(protocol);
-    }
-);
+let enableCustomSettings = document.getElementById("enable-custom-settings");
+let customSettingsDiv = document.getElementsByClassName("custom-settings")[0];
 
-function changeProtocolSettings(protocol) {
-    let normalDiv = document.getElementsByClassName("normal")[0];
-    let torDiv = document.getElementsByClassName("tor")[0];
-    if (protocol == 'normal') {
-        normalDiv.style.display = 'block';
-        torDiv.style.display = 'none';
-    }
-    else if (protocol == 'tor') {
-        normalDiv.style.display = 'none';
-        torDiv.style.display = 'block';
-    }
-}
+let theme = document.getElementById('proxiTok').getElementsByClassName('theme')[0];
+let api_legacy = document.getElementById('proxiTok').getElementsByClassName('api-legacy')[0];
+
+document.addEventListener("change", async () => {
+    await browser.storage.local.set({
+        disableTiktok: !disable.checked,
+        tiktokProtocol: protocol.value,
+
+        enableTiktokCustomSettings: enableCustomSettings.checked,
+
+        proxiTokTheme: theme.value,
+        proxiTokApiLegacy: api_legacy.value,
+
+    });
+    init();
+})
+
+window.onblur = tiktokHelper.initProxiTokCookies;
+
+function init() {
+    tiktokHelper.init().then(() => {
+        browser.storage.local.get(
+            [
+                "disableTiktok",
+                "tiktokProtocol",
+
+                "enableTiktokCustomSettings",
 
-tiktokHelper.init().then(() => {
-    disableTiktokElement.checked = !tiktokHelper.getDisable();
+                "proxiTokTheme",
+                "proxiTokApiLegacy",
+            ],
+            r => {
+                disable.checked = !r.disableTiktok;
+                protocol.value = r.tiktokProtocol;
+                let normalDiv = document.getElementsByClassName("normal")[0];
+                let torDiv = document.getElementsByClassName("tor")[0];
+                if (r.tiktokProtocol == 'normal') {
+                    normalDiv.style.display = 'block';
+                    torDiv.style.display = 'none';
+                }
+                else if (r.tiktokProtocol == 'tor') {
+                    normalDiv.style.display = 'none';
+                    torDiv.style.display = 'block';
+                }
 
-    let protocol = tiktokHelper.getProtocol();
-    protocolElement.value = protocol;
-    changeProtocolSettings(protocol);
+                enableCustomSettings.checked = r.enableTiktokCustomSettings;
+                if (r.enableTiktokCustomSettings)
+                    customSettingsDiv.style.display = 'block';
+                else
+                    customSettingsDiv.style.display = 'none';
 
-    browser.storage.local.get("proxiTokLatency").then(r => {
+                theme.value = r.proxiTokTheme;
+                api_legacy.value = r.proxiTokApiLegacy
+            }
+        )
+        browser.storage.local.get("proxiTokLatency").then(r => {
+            commonHelper.processDefaultCustomInstances(
+                'proxiTok',
+                'normal',
+                tiktokHelper,
+                document,
+                tiktokHelper.getProxiTokNormalRedirectsChecks,
+                tiktokHelper.setProxiTokNormalRedirectsChecks,
+                tiktokHelper.getProxiTokNormalCustomRedirects,
+                tiktokHelper.setProxiTokNormalCustomRedirects,
+                r.proxiTokLatency,
+            );
+        })
         commonHelper.processDefaultCustomInstances(
             'proxiTok',
-            'normal',
+            'tor',
             tiktokHelper,
             document,
-            tiktokHelper.getProxiTokNormalRedirectsChecks,
-            tiktokHelper.setProxiTokNormalRedirectsChecks,
-            tiktokHelper.getProxiTokNormalCustomRedirects,
-            tiktokHelper.setProxiTokNormalCustomRedirects,
-            r.proxiTokLatency,
-        );
+            tiktokHelper.getProxiTokTorRedirectsChecks,
+            tiktokHelper.setProxiTokTorRedirectsChecks,
+            tiktokHelper.getProxiTokTorCustomRedirects,
+            tiktokHelper.setProxiTokTorCustomRedirects
+        )
     })
-    commonHelper.processDefaultCustomInstances(
-        'proxiTok',
-        'tor',
-        tiktokHelper,
-        document,
-        tiktokHelper.getProxiTokTorRedirectsChecks,
-        tiktokHelper.setProxiTokTorRedirectsChecks,
-        tiktokHelper.getProxiTokTorCustomRedirects,
-        tiktokHelper.setProxiTokTorCustomRedirects
-    )
-})
+}
+init();
 
 let latencyElement = document.getElementById("latency");
 let latencyLabel = document.getElementById("latency-label");
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 53e8c103..60146900 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -39,117 +39,75 @@ let disableTiktokElement = document.getElementById("disable-tiktok");
 let disablePixivElement = document.getElementById("disable-pixiv");
 let disableSpotifyElement = document.getElementById("disable-spotify");
 
-async function wholeInit() {
-  await youtubeHelper.init();
-  await youtubeMusicHelper.init();
-  await twitterHelper.init();
-  await instagramHelper.init();
-  await mapsHelper.init();
-  await redditHelper.init();
-  await searchHelper.init();
-  await translateHelper.init();
-  await wikipediaHelper.init();
-  await imgurHelper.init();
-  await tiktokHelper.init();
-  await pixivHelper.init();
-  await spotifyHelper.init();
-  await sendTargetsHelper.init();
-  await peertubeHelper.init();
-  await lbryHelper.init();
-  await mediumHelper.init();
-};
-
 let copyRawElement = document.getElementById('copy_raw');
-wholeInit().then(() => {
-  disableTwitterElement.checked = !twitterHelper.getDisable();
-  disableYoutubeElement.checked = !youtubeHelper.getDisable();
-  disableYoutubeMusicElement.checked = !youtubeMusicHelper.getDisable();
-  disableInstagramElement.checked = !instagramHelper.getDisable();
-  disableMapsElement.checked = !mapsHelper.getDisable();
-  disableRedditElement.checked = !redditHelper.getDisableReddit();
-  disableSearchElement.checked = !searchHelper.getDisable();
-  disableElement.checked = !translateHelper.getDisable();
-  disableWikipediaElement.checked = !wikipediaHelper.getDisable();
-  disableImgurElement.checked = !imgurHelper.getDisable();
-  disableTiktokElement.checked = !tiktokHelper.getDisable();
-  disablePixivElement.checked = !pixivHelper.getDisable();
-  disableSpotifyElement.checked = !spotifyHelper.getDisable();
-  disableMediumElement.checked = !mediumHelper.getDisable();
-  disablePeertubeElement.checked = !peertubeHelper.getDisable();
-  disableLbryElement.checked = !lbryHelper.getDisable();
-
-  let changeInstanceElement = document.getElementById("change-instance")
-  changeInstanceElement.addEventListener("click", switchInstance);
-  copyRawElement.addEventListener("click", copyRaw);
+browser.storage.local.get(
+  [
+    "disableTwitter",
+    "disableYoutube",
+    "disableYoutubeMusic",
+    "disableInstagram",
+    "disableMaps",
+    "disableReddit",
+    "disableSearch",
+    "translateDisable",
+    "disableWikipedia",
+    "disableImgur",
+    "disableTiktok",
+    "disablePixiv",
+    "disableSpotifyTargets",
+    "disableMedium",
+    "disablePeertubeTargets",
+    "disableLbryTargets",
+    "disableSendTarget",
+  ],
+  r => {
+    disableTwitterElement.checked = !r.disableTwitter;
+    disableYoutubeElement.checked = !r.disableYoutube;
+    disableYoutubeMusicElement.checked = !r.disableYoutubeMusic;
+    disableInstagramElement.checked = !r.disableInstagram;
+    disableMapsElement.checked = !r.disableMaps;
+    disableRedditElement.checked = !r.disableReddit;
+    disableSearchElement.checked = !r.disableSearch;
+    disableElement.checked = !r.translateDisable;
+    disableWikipediaElement.checked = !r.disableWikipedia;
+    disableImgurElement.checked = !r.disableImgur;
+    disableTiktokElement.checked = !r.disableTiktok;
+    disablePixivElement.checked = !r.disablePixiv;
+    disableSpotifyElement.checked = !r.disableSpotifyTargets;
+    disableMediumElement.checked = !r.disableMedium;
+    disablePeertubeElement.checked = !r.disablePeertubeTargets;
+    disableLbryElement.checked = !r.disableLbryTargets;
+    disableSendTargetsElement.checked = r.disableSendTarget;
+  }
+)
+
+document.addEventListener("change", () => {
+  browser.storage.local.set({
+    disableTwitter: !disableTwitterElement.checked,
+    disableYoutube: !disableYoutubeElement.checked,
+    disableYoutubeMusic: !disableYoutubeMusicElement.checked,
+    disableInstagram: !disableInstagramElement.checked,
+    disableMaps: !disableMapsElement.checked,
+    disableReddit: !disableRedditElement.checked,
+    disableSearch: !disableSearchElement.checked,
+    translateDisable: !disableElement.checked,
+    disableWikipedia: !disableWikipediaElement.checked,
+    disableImgur: !disableImgurElement.checked,
+    disableTiktok: !disableTiktokElement.checked,
+    disablePixiv: !disablePixivElement.checked,
+    disableSpotifyTargets: !disableSpotifyElement.checked,
+    disableMedium: !disableMediumElement.checked,
+    disablePeertubeTargets: !disablePeertubeElement.checked,
+    disableLbryTargets: !disableLbryElement.checked,
+    disableSendTarget: !disableSendTargetsElement.checked,
+  });
 })
 
-disableTwitterElement.addEventListener("change",
-  event => twitterHelper.setDisable(!event.target.checked)
-);
-
-disableYoutubeElement.addEventListener("change",
-  event => youtubeHelper.setDisable(!event.target.checked)
-);
-
-disableYoutubeMusicElement.addEventListener("change",
-  event => youtubeMusicHelper.setDisable(!event.target.checked)
-);
-
-disableInstagramElement.addEventListener("change",
-  event => instagramHelper.setDisable(!event.target.checked)
-);
-
-disableMapsElement.addEventListener("change",
-  event => mapsHelper.setDisable(!event.target.checked)
-);
-
-disableRedditElement.addEventListener("change",
-  event => redditHelper.setDisableReddit(!event.target.checked)
-);
-
-disableSearchElement.addEventListener("change",
-  event => searchHelper.setDisable(!event.target.checked)
-);
-
-disableElement.addEventListener("change",
-  event => translateHelper.setDisable(!event.target.checked)
-);
-
-disableWikipediaElement.addEventListener("change",
-  event => wikipediaHelper.setDisable(!event.target.checked)
-);
-
-disableImgurElement.addEventListener("change",
-  event => imgurHelper.setDisable(!event.target.checked)
-);
-
-disableTiktokElement.addEventListener("change",
-  event => tiktokHelper.setDisable(!event.target.checked)
-);
-
-disablePixivElement.addEventListener("change",
-  event => pixivHelper.setDisable(!event.target.checked)
-);
-
-disableSpotifyElement.addEventListener("change",
-  event => spotifyHelper.setDisable(!event.target.checked)
-);
-
-disableMediumElement.addEventListener("change",
-  event => mediumHelper.setDisable(!event.target.checked)
-);
-
-disablePeertubeElement.addEventListener("change",
-  event => peertubeHelper.setDisable(!event.target.checked)
-);
 
-disableLbryElement.addEventListener("change",
-  event => lbryHelper.setDisable(!event.target.checked)
-);
+let changeInstanceElement = document.getElementById("change-instance")
+changeInstanceElement.addEventListener("click", switchInstance);
+copyRawElement.addEventListener("click", copyRaw);
 
-disableSendTargetsElement.addEventListener("change",
-  event => sendTargetsHelper.setDisable(!event.target.checked)
-);
 
 document.getElementById("more-options").addEventListener("click",
   () => browser.runtime.openOptionsPage()