diff options
Diffstat (limited to 'src/pages')
-rw-r--r-- | src/pages/background/background.js | 3 | ||||
-rw-r--r-- | src/pages/options/reddit/reddit.js | 1 | ||||
-rw-r--r-- | src/pages/options/tiktok/tiktok.html | 26 | ||||
-rw-r--r-- | src/pages/options/tiktok/tiktok.js | 125 | ||||
-rw-r--r-- | src/pages/popup/popup.js | 170 |
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() |