aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-04-27 19:51:34 +0300
committerManeraKai <manerakai@protonmail.com>2022-04-27 19:51:34 +0300
commiteb1d01b0639665645167a2e35df9d2bc4ef72b8d (patch)
tree9844cab138885389a39d4b6f9ebc7322ec5bbd29 /src/pages
parentImproving code structure. Added libreddit settings #192 (diff)
downloadlibredirect-eb1d01b0639665645167a2e35df9d2bc4ef72b8d.zip
Added proxiTok settings #197
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.js168
5 files changed, 168 insertions, 155 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();
+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;
+ }
+)
- let changeInstanceElement = document.getElementById("change-instance")
- changeInstanceElement.addEventListener("click", switchInstance);
- copyRawElement.addEventListener("click", copyRaw);
+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()