diff options
Diffstat (limited to 'src/pages')
27 files changed, 134 insertions, 690 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index d112e000..d8f0bb3f 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -16,6 +16,7 @@ import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js"; import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; import peertubeHelper from "../../assets/javascripts/helpers/peertube.js"; import lbryHelper from "../../assets/javascripts/helpers/lbry.js"; +import utils from "../../assets/javascripts/helpers/utils.js"; window.browser = window.browser || window.chrome; @@ -55,21 +56,9 @@ browser.runtime.onInstalled.addListener( ) async function wholeInit() { - await youtubeHelper.init(); - await youtubeMusicHelper.init(); - await twitterHelper.init(); - await instagramHelper.init(); await mapsHelper.init(); - await searchHelper.init(); - await translateHelper.init(); - await mediumHelper.init(); - await redditHelper.init(); - await wikipediaHelper.init(); - await imgurHelper.init(); - await tiktokHelper.init(); await sendTargetsHelper.init(); await peertubeHelper.init(); - await lbryHelper.init(); await generalHelper.init(); } @@ -97,22 +86,21 @@ browser.webRequest.onBeforeRequest.addListener( else if (details.initiator) initiator = new URL(details.initiator); - let newUrl = youtubeHelper.redirect(url, details, initiator) - if (youtubeMusicHelper.isYoutubeMusic(url, initiator)) newUrl = youtubeMusicHelper.redirect(url, details.type) - - if (!newUrl) newUrl = twitterHelper.redirect(url, initiator); - if (!newUrl) newUrl = instagramHelper.redirect(url, details.type, initiator); + let newUrl = await youtubeHelper.redirect(url, details, initiator) + if (!newUrl) newUrl = await youtubeMusicHelper.redirect(url, details.type) + if (!newUrl) newUrl = await twitterHelper.redirect(url, initiator); + if (!newUrl) newUrl = await instagramHelper.redirect(url, details.type, initiator); if (!newUrl) newUrl = await mapsHelper.redirect(url, initiator); - if (!newUrl) newUrl = redditHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = mediumHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = imgurHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = sendTargetsHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = peertubeHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = lbryHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = translateHelper.redirect(url); - if (!newUrl) newUrl = searchHelper.redirect(url) - if (!newUrl) newUrl = wikipediaHelper.redirect(url); + if (!newUrl) newUrl = await redditHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = await mediumHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = await imgurHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = await tiktokHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = await sendTargetsHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = await peertubeHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = await lbryHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = await translateHelper.redirect(url); + if (!newUrl) newUrl = await searchHelper.redirect(url) + if (!newUrl) newUrl = await wikipediaHelper.redirect(url); if ( details.frameAncestors && details.frameAncestors.length > 0 && @@ -229,35 +217,13 @@ browser.tabs.onUpdated.addListener( } ); -async function changeWholeInstance(url) { - await wholeInit(); - let newUrl = youtubeHelper.switchInstance(url); - if (!newUrl) newUrl = twitterHelper.switchInstance(url); - if (!newUrl) newUrl = instagramHelper.switchInstance(url); - if (!newUrl) newUrl = redditHelper.switchInstance(url); - if (!newUrl) newUrl = searchHelper.switchInstance(url); - if (!newUrl) newUrl = translateHelper.switchInstance(url); - if (!newUrl) newUrl = mediumHelper.switchInstance(url); - if (!newUrl) newUrl = sendTargetsHelper.switchInstance(url); - if (!newUrl) newUrl = peertubeHelper.switchInstance(url); - if (!newUrl) newUrl = imgurHelper.switchInstance(url); - if (!newUrl) newUrl = wikipediaHelper.switchInstance(url); - return newUrl; -} + browser.commands.onCommand.addListener( command => { - if (command === 'switchInstance') - browser.tabs.query( - { active: true, currentWindow: true }, - tabs => { - let url; - try { url = new URL(tabs[0].url); } - catch (_) { return } - let newUrl = changeWholeInstance(url); - if (newUrl) browser.tabs.update({ url: newUrl }); - } - ); + if (command === 'switchInstance') utils.switchInstance(); + else if (command == 'copyRaw') utils.copyRaw(); + else if (command == 'unify') utils.unify(); } ) @@ -273,16 +239,24 @@ browser.contextMenus.create({ contexts: ["browser_action"] }); +browser.contextMenus.create({ + id: "copyRaw", + title: "Copy Raw", + contexts: ["browser_action"] +}); + +browser.contextMenus.create({ + id: "unify", + title: "Unify", + contexts: ["browser_action"] +}); + + browser.contextMenus.onClicked.addListener( - (info, tab) => { - if (info.menuItemId == 'switchInstance') { - let url; - try { url = new URL(tab.url); } - catch (_) { return } - let newUrl = changeWholeInstance(url); - if (newUrl) browser.tabs.update({ url: newUrl }); - } - else if (info.menuItemId == 'settings') - browser.runtime.openOptionsPage() + (info) => { + if (info.menuItemId == 'switchInstance') utils.switchInstance(); + else if (info.menuItemId == 'settings') browser.runtime.openOptionsPage() + else if (info.menuItemId == 'copyRaw') utils.copyRaw(); + else if (info.menuItemId == 'unify') utils.unify(); } ); diff --git a/src/pages/background/incognito.js b/src/pages/background/incognito.js index 6e02347e..16eccf74 100644 --- a/src/pages/background/incognito.js +++ b/src/pages/background/incognito.js @@ -20,21 +20,10 @@ import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js window.browser = window.browser || window.chrome; async function wholeInit() { - await youtubeHelper.init(); await youtubeMusicHelper.init(); - await twitterHelper.init(); - await instagramHelper.init(); await mapsHelper.init(); - await searchHelper.init(); - await translateHelper.init(); - await mediumHelper.init(); - await redditHelper.init(); - await wikipediaHelper.init(); - await imgurHelper.init(); - await tiktokHelper.init(); await sendTargetsHelper.init(); await peertubeHelper.init(); - await lbryHelper.init(); await generalHelper.init(); } await wholeInit(); diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js index bcf7a521..c8a600ce 100644 --- a/src/pages/options/general/general.js +++ b/src/pages/options/general/general.js @@ -1,7 +1,7 @@ "use strict"; window.browser = window.browser || window.chrome; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; import generalHelper from "../../../assets/javascripts/helpers/general.js"; @@ -10,7 +10,7 @@ let updateInstancesElement = document.getElementById("update-instances"); updateInstancesElement.addEventListener("click", () => { let oldHtml = updateInstancesElement.innerHTML updateInstancesElement.innerHTML = '...'; - if (commonHelper.updateInstances()) { + if (utils.updateInstances()) { updateInstancesElement.innerHTML = 'Done!'; new Promise(resolve => setTimeout(resolve, 1500)).then( // sleep 1500ms () => updateInstancesElement.innerHTML = oldHtml diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js index 597d015b..0b1343c8 100644 --- a/src/pages/options/imgur/imgur.js +++ b/src/pages/options/imgur/imgur.js @@ -1,5 +1,5 @@ import imgurHelper from "../../../assets/javascripts/helpers/imgur.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disableImgurElement = document.getElementById("disable-imgur"); let protocolElement = document.getElementById("protocol") @@ -45,26 +45,8 @@ browser.storage.local.get( } ); -commonHelper.processDefaultCustomInstances('imgur', 'rimgo', 'normal', document); -commonHelper.processDefaultCustomInstances('imgur', 'rimgo', 'tor', document); -commonHelper.processDefaultCustomInstances('imgur', 'rimgo', 'i2p', document); +utils.processDefaultCustomInstances('imgur', 'rimgo', 'normal', document); +utils.processDefaultCustomInstances('imgur', 'rimgo', 'tor', document); +utils.processDefaultCustomInstances('imgur', 'rimgo', 'i2p', document); - -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await imgurHelper.init(); - let redirects = imgurHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.rimgo.normal).then(r => { - browser.storage.local.set({ rimgoLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('imgur', 'rimgo', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow) - }); - } -); +utils.latency('imgur', 'rimgo', document, location) \ No newline at end of file diff --git a/src/pages/options/init.js b/src/pages/options/init.js index 78ea11f3..b9ff4950 100644 --- a/src/pages/options/init.js +++ b/src/pages/options/init.js @@ -1,5 +1,5 @@ window.browser = window.browser || window.chrome; -import commonHelper from "../../assets/javascripts/helpers/common.js"; +import utils from "../../assets/javascripts/helpers/utils.js"; function changeTheme() { browser.storage.local.get( @@ -34,4 +34,4 @@ browser.storage.onChanged.addListener(changeTheme) window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", changeTheme) -if (commonHelper.isRtl()) document.getElementsByTagName("body")[0].classList.add("rtl"); \ No newline at end of file +if (utils.isRtl()) document.getElementsByTagName("body")[0].classList.add("rtl"); \ No newline at end of file diff --git a/src/pages/options/instagram/instagram.js b/src/pages/options/instagram/instagram.js index 39d11426..955aafc3 100644 --- a/src/pages/options/instagram/instagram.js +++ b/src/pages/options/instagram/instagram.js @@ -1,5 +1,5 @@ import instagramHelper from "../../../assets/javascripts/helpers/instagram.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; const disable = document.getElementById("disable-bibliogram"); const protocol = document.getElementById("protocol"); @@ -36,24 +36,7 @@ browser.storage.local.get( changeProtocolSettings(); }) -commonHelper.processDefaultCustomInstances('instagram', 'bibliogram', 'normal', document); -commonHelper.processDefaultCustomInstances('instagram', 'bibliogram', 'tor', document); +utils.processDefaultCustomInstances('instagram', 'bibliogram', 'normal', document); +utils.processDefaultCustomInstances('instagram', 'bibliogram', 'tor', document); -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await instagramHelper.init(); - let redirects = instagramHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.bibliogram.normal).then(r => { - browser.storage.local.set({ bibliogramLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('instagram', 'bibliogram', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.latency('instagram', 'bibliogram', document, location) \ No newline at end of file diff --git a/src/pages/options/lbry/lbry.js b/src/pages/options/lbry/lbry.js index fcac7bd8..92cc21a5 100644 --- a/src/pages/options/lbry/lbry.js +++ b/src/pages/options/lbry/lbry.js @@ -1,5 +1,5 @@ import lbryHelper from "../../../assets/javascripts/helpers/lbry.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disable = document.getElementById("disable-lbry"); let protocol = document.getElementById("protocol") @@ -37,24 +37,7 @@ browser.storage.local.get( } ) -commonHelper.processDefaultCustomInstances('lbryTargets', 'librarian', 'normal', document); -commonHelper.processDefaultCustomInstances('lbryTargets', 'librarian', 'tor', document); +utils.processDefaultCustomInstances('lbryTargets', 'librarian', 'normal', document); +utils.processDefaultCustomInstances('lbryTargets', 'librarian', 'tor', document); -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await lbryHelper.init(); - let redirects = lbryHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.librarian.normal).then(r => { - browser.storage.local.set({ librarianLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('lbry', 'librarian', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.latency('lbryTargets', 'librarian', document, location) \ No newline at end of file diff --git a/src/pages/options/maps/maps.js b/src/pages/options/maps/maps.js index 7e18def3..6db8c03e 100644 --- a/src/pages/options/maps/maps.js +++ b/src/pages/options/maps/maps.js @@ -1,5 +1,5 @@ import mapsHelper from "../../../assets/javascripts/helpers/maps.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; const disable = document.getElementById("disable-osm"); const frontend = document.getElementById("maps-frontend"); @@ -29,23 +29,4 @@ browser.storage.local.get( changeFrontendsSettings(); } ) -commonHelper.processDefaultCustomInstances('maps', 'facil', 'normal', document); - -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await mapsHelper.init(); - let redirects = mapsHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.facil.normal).then(r => { - browser.storage.local.set({ facilLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('maps', 'facil', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.processDefaultCustomInstances('maps', 'facil', 'normal', document); \ No newline at end of file diff --git a/src/pages/options/medium/medium.js b/src/pages/options/medium/medium.js index 786f8f17..9f00878d 100644 --- a/src/pages/options/medium/medium.js +++ b/src/pages/options/medium/medium.js @@ -1,5 +1,5 @@ import mediumHelper from "../../../assets/javascripts/helpers/medium.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disable = document.getElementById("disable-medium"); let protocol = document.getElementById("protocol") @@ -15,8 +15,8 @@ browser.storage.local.get( changeProtocolSettings(); } ) -commonHelper.processDefaultCustomInstances('medium', 'scribe', 'normal', document); -commonHelper.processDefaultCustomInstances('medium', 'scribe', 'tor', document); +utils.processDefaultCustomInstances('medium', 'scribe', 'normal', document); +utils.processDefaultCustomInstances('medium', 'scribe', 'tor', document); document.addEventListener("change", async () => { await browser.storage.local.set({ @@ -39,21 +39,4 @@ function changeProtocolSettings() { } } -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await mediumHelper.init(); - let redirects = mediumHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.scribe.normal).then(r => { - browser.storage.local.set({ scribeLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('medium', 'scribe', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.latency('medium', 'scribe', document, location) \ No newline at end of file diff --git a/src/pages/options/peertube/peertube.js b/src/pages/options/peertube/peertube.js index 818e3fec..0bf16cc7 100644 --- a/src/pages/options/peertube/peertube.js +++ b/src/pages/options/peertube/peertube.js @@ -1,5 +1,5 @@ import peertubeHelper from "../../../assets/javascripts/helpers/peertube.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disable = document.getElementById("disable-peertube"); let protocol = document.getElementById("protocol") @@ -14,8 +14,8 @@ browser.storage.local.get( changeProtocolSettings(); } ) -commonHelper.processDefaultCustomInstances('peertube', 'simpleertube', 'normal', document); -commonHelper.processDefaultCustomInstances('peertube', 'simpleertube', 'tor', document); +utils.processDefaultCustomInstances('peertube', 'simpleertube', 'normal', document); +utils.processDefaultCustomInstances('peertube', 'simpleertube', 'tor', document); document.addEventListener("change", async () => { await browser.storage.local.set({ @@ -37,22 +37,4 @@ function changeProtocolSettings() { torDiv.style.display = 'block'; } } - -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await peertubeHelper.init(); - let redirects = peertubeHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.simpleertube.normal).then(r => { - browser.storage.local.set({ simpleertubeLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('peertube', 'simpleertube', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.latency('peertube', 'simpleertube', document, location) \ No newline at end of file diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js index 52399649..3661f73f 100644 --- a/src/pages/options/reddit/reddit.js +++ b/src/pages/options/reddit/reddit.js @@ -1,5 +1,5 @@ import redditHelper from "../../../assets/javascripts/helpers/reddit.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let libredditDivElement = document.getElementById("libreddit") let tedditDivElement = document.getElementById("teddit") @@ -81,46 +81,10 @@ browser.storage.local.get( } ) -commonHelper.processDefaultCustomInstances('reddit', 'libreddit', 'normal', document); -commonHelper.processDefaultCustomInstances('reddit', 'libreddit', 'tor', document); -commonHelper.processDefaultCustomInstances('reddit', 'teddit', 'normal', document); -commonHelper.processDefaultCustomInstances('reddit', 'teddit', 'tor', document); +utils.processDefaultCustomInstances('reddit', 'libreddit', 'normal', document); +utils.processDefaultCustomInstances('reddit', 'libreddit', 'tor', document); +utils.processDefaultCustomInstances('reddit', 'teddit', 'normal', document); +utils.processDefaultCustomInstances('reddit', 'teddit', 'tor', document); - -let latencyLibredditElement = document.getElementById("latency-libreddit"); -let latencyLibredditLabel = document.getElementById("latency-libreddit-label"); -latencyLibredditElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyLibredditElement.addEventListener("click", reloadWindow); - await redditHelper.init(); - let redirects = redditHelper.getRedirects(); - const oldHtml = latencyLibredditLabel.innerHTML; - latencyLibredditLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLibredditLabel, redirects.libreddit.normal).then(r => { - browser.storage.local.set({ libredditLatency: r }); - latencyLibredditLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('reddit', 'libreddit', 'normal', document); - latencyLibredditElement.removeEventListener("click", reloadWindow); - }); - } -); - -let latencyTedditElement = document.getElementById("latency-teddit"); -let latencyTedditLabel = document.getElementById("latency-teddit-label"); -latencyTedditElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyTedditElement.addEventListener("click", reloadWindow); - await redditHelper.init(); - let redirects = redditHelper.getRedirects(); - const oldHtml = latencyTedditLabel.innerHTML; - latencyTedditLabel.innerHTML = '...'; - commonHelper.testLatency(latencyTedditLabel, redirects.teddit.normal).then(r => { - browser.storage.local.set({ tedditLatency: r }); - latencyTedditLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('reddit', 'teddit', 'normal', document); - latencyTedditElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.latency('reddit', 'libreddit', document, location, true) +utils.latency('reddit', 'teddit', document, location, true) \ No newline at end of file diff --git a/src/pages/options/search/search.js b/src/pages/options/search/search.js index 47f27c0a..fb928055 100644 --- a/src/pages/options/search/search.js +++ b/src/pages/options/search/search.js @@ -1,5 +1,5 @@ import searchHelper from "../../../assets/javascripts/helpers/search.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let searxDiv = document.getElementById("searx"); let searxngDiv = document.getElementById("searxng"); @@ -127,69 +127,16 @@ function changeProtocolSettings() { } } -commonHelper.processDefaultCustomInstances('search', 'searx', 'normal', document); -commonHelper.processDefaultCustomInstances('search', 'searx', 'tor', document); -commonHelper.processDefaultCustomInstances('search', 'searx', 'i2p', document); -commonHelper.processDefaultCustomInstances('search', 'searxng', 'normal', document); -commonHelper.processDefaultCustomInstances('search', 'searxng', 'tor', document); -commonHelper.processDefaultCustomInstances('search', 'searxng', 'i2p', document); -commonHelper.processDefaultCustomInstances('search', 'whoogle', 'normal', document); -commonHelper.processDefaultCustomInstances('search', 'whoogle', 'tor', document); -commonHelper.processDefaultCustomInstances('search', 'whoogle', 'i2p', document); - -let latencySearxElement = document.getElementById("latency-searx"); -let latencySearxLabel = document.getElementById("latency-searx-label"); -latencySearxElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencySearxElement.addEventListener("click", reloadWindow); - await searchHelper.init(); - let redirects = searchHelper.getRedirects(); - const oldHtml = latencySearxLabel.innerHTML; - latencySearxLabel.innerHTML = '...'; - commonHelper.testLatency(latencySearxLabel, redirects.searx.normal).then(r => { - browser.storage.local.set({ searxLatency: r }); - latencySearxLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('search', 'searx', 'normal', document); - latencySearxElement.removeEventListener("click", reloadWindow); - }); - } -); - -let latencySearxngElement = document.getElementById("latency-searxng"); -let latencySearxngLabel = document.getElementById("latency-searxng-label"); -latencySearxngElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencySearxngElement.addEventListener("click", reloadWindow); - await searchHelper.init(); - let redirects = searchHelper.getRedirects(); - const oldHtml = latencySearxngLabel.innerHTML; - latencySearxngLabel.innerHTML = '...'; - commonHelper.testLatency(latencySearxngLabel, redirects.searxng.normal).then(r => { - browser.storage.local.set({ searxngLatency: r }); - latencySearxngLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('search', 'searxng', 'normal', document); - latencySearxngElement.removeEventListener("click", reloadWindow); - }); - } -); - -let latencyWhoogleElement = document.getElementById("latency-whoogle"); -let latencyWhoogleLabel = document.getElementById("latency-whoogle-label"); -latencyWhoogleElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyWhoogleElement.addEventListener("click", reloadWindow); - await searchHelper.init(); - let redirects = searchHelper.getRedirects(); - const oldHtml = latencyWhoogleLabel.innerHTML; - latencyWhoogleLabel.innerHTML = '...'; - commonHelper.testLatency(latencyWhoogleLabel, redirects.whoogle.normal).then(r => { - browser.storage.local.set({ whoogleLatency: r }); - latencyWhoogleLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('search', 'whoogle', 'normal', document); - latencyWhoogleElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.processDefaultCustomInstances('search', 'searx', 'normal', document); +utils.processDefaultCustomInstances('search', 'searx', 'tor', document); +utils.processDefaultCustomInstances('search', 'searx', 'i2p', document); +utils.processDefaultCustomInstances('search', 'searxng', 'normal', document); +utils.processDefaultCustomInstances('search', 'searxng', 'tor', document); +utils.processDefaultCustomInstances('search', 'searxng', 'i2p', document); +utils.processDefaultCustomInstances('search', 'whoogle', 'normal', document); +utils.processDefaultCustomInstances('search', 'whoogle', 'tor', document); +utils.processDefaultCustomInstances('search', 'whoogle', 'i2p', document); + +utils.latency('search', 'searx', document, location, true) +utils.latency('search', 'searxng', document, location, true) +utils.latency('search', 'whoogle', document, location, true) diff --git a/src/pages/options/sendTargets/sendTargets.js b/src/pages/options/sendTargets/sendTargets.js index 057ae864..0cb1da09 100644 --- a/src/pages/options/sendTargets/sendTargets.js +++ b/src/pages/options/sendTargets/sendTargets.js @@ -1,5 +1,5 @@ import sendTargetsHelper from "../../../assets/javascripts/helpers/sendTargets.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disable = document.getElementById("disable-sendTargets"); let protocol = document.getElementById("protocol") @@ -37,24 +37,7 @@ function changeProtocolSettings() { } } -commonHelper.processDefaultCustomInstances('sendTargets', 'send', 'normal', document); -commonHelper.processDefaultCustomInstances('sendTargets', 'send', 'tor', document); +utils.processDefaultCustomInstances('sendTargets', 'send', 'normal', document); +utils.processDefaultCustomInstances('sendTargets', 'send', 'tor', document); -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await sendTargetsHelper.init(); - let redirects = sendTargetsHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.send.normal).then(r => { - browser.storage.local.set({ sendLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('sendTargets', 'send', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow) - }); - } -); \ No newline at end of file +utils.latency('sendTargets', 'send', document, location) \ No newline at end of file diff --git a/src/pages/options/tiktok/tiktok.js b/src/pages/options/tiktok/tiktok.js index 8055fc95..5a57b46c 100644 --- a/src/pages/options/tiktok/tiktok.js +++ b/src/pages/options/tiktok/tiktok.js @@ -1,5 +1,5 @@ import tiktokHelper from "../../../assets/javascripts/helpers/tiktok.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disable = document.getElementById("disable-tiktok"); let protocol = document.getElementById("protocol") @@ -49,24 +49,7 @@ function changeProtocolSettings() { } } -commonHelper.processDefaultCustomInstances('tiktok', 'proxiTok', 'normal', document); -commonHelper.processDefaultCustomInstances('tiktok', 'proxiTok', 'tor', document); +utils.processDefaultCustomInstances('tiktok', 'proxiTok', 'normal', document); +utils.processDefaultCustomInstances('tiktok', 'proxiTok', 'tor', document); -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await tiktokHelper.init(); - let redirects = tiktokHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.proxiTok.normal).then(r => { - browser.storage.local.set({ proxiTokLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('tiktok', 'proxiTok', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow) - }); - } -); \ No newline at end of file +utils.latency('tiktok', 'proxiTok', document, location) \ No newline at end of file diff --git a/src/pages/options/translate/translate.js b/src/pages/options/translate/translate.js index 55a2d74f..998ebc32 100644 --- a/src/pages/options/translate/translate.js +++ b/src/pages/options/translate/translate.js @@ -1,5 +1,5 @@ import translateHelper from "../../../assets/javascripts/helpers/translate/translate.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disable = document.getElementById("disable-simplyTranslate"); let simplyTranslateDiv = document.getElementById("simplyTranslate"); @@ -66,45 +66,10 @@ document.addEventListener("change", () => { }) -commonHelper.processDefaultCustomInstances('translate', 'simplyTranslate', 'normal', document) -commonHelper.processDefaultCustomInstances('translate', 'simplyTranslate', 'tor', document); -commonHelper.processDefaultCustomInstances('translate', 'lingva', 'normal', document); -commonHelper.processDefaultCustomInstances('translate', 'lingva', 'tor', document); +utils.processDefaultCustomInstances('translate', 'simplyTranslate', 'normal', document) +utils.processDefaultCustomInstances('translate', 'simplyTranslate', 'tor', document); +utils.processDefaultCustomInstances('translate', 'lingva', 'normal', document); +utils.processDefaultCustomInstances('translate', 'lingva', 'tor', document); -let latencySimplyTranslateElement = document.getElementById("latency-simplyTranslate"); -let latencySimplyTranslateLabel = document.getElementById("latency-simplyTranslate-label"); -latencySimplyTranslateElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencySimplyTranslateElement.addEventListener("click", reloadWindow); - await translateHelper.init(); - let redirects = translateHelper.getRedirects(); - const oldHtml = latencySimplyTranslateLabel.innerHTML; - latencySimplyTranslateLabel.innerHTML = '...'; - commonHelper.testLatency(latencySimplyTranslateLabel, redirects.simplyTranslate.normal).then(r => { - browser.storage.local.set({ simplyTranslateLatency: r }); - latencySimplyTranslateLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('translate', 'simplyTranslate', 'normal', document) - latencySimplyTranslateElement.removeEventListener("click", reloadWindow); - }); - } -); - -let latencyLingvaElement = document.getElementById("latency-lingva"); -let latencyLingvaLabel = document.getElementById("latency-lingva-label"); -latencyLingvaElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyLingvaElement.addEventListener("click", reloadWindow); - await translateHelper.init(); - let redirects = translateHelper.getRedirects(); - const oldHtml = latencyLingvaLabel.innerHTML; - latencyLingvaLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLingvaLabel, redirects.lingva.normal).then(r => { - browser.storage.local.set({ lingvaLatency: r }); - latencyLingvaLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('translate', 'lingva', 'normal', document); - latencyLingvaElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file +utils.latency('translate', 'simplyTranslate', document, location, true) +utils.latency('translate', 'lingva', document, location, true) \ No newline at end of file diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html index 2bd204aa..95e0a0bf 100644 --- a/src/pages/options/twitter/twitter.html +++ b/src/pages/options/twitter/twitter.html @@ -117,27 +117,6 @@ </form> <div class="checklist custom-checklist"></div> </div> - <div class="i2p"> - <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://nitter.i2p" 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> </section> <script type="module" src="../init.js"></script> diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js index c23007f9..72c3d926 100644 --- a/src/pages/options/twitter/twitter.js +++ b/src/pages/options/twitter/twitter.js @@ -1,5 +1,5 @@ import twitterHelper from "../../../assets/javascripts/helpers/twitter.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disable = document.getElementById("disable-nitter"); let protocol = document.getElementById("protocol"); @@ -47,24 +47,7 @@ function changeProtocolSettings() { } } -commonHelper.processDefaultCustomInstances('twitter', 'nitter', 'normal', document); -commonHelper.processDefaultCustomInstances('twitter', 'nitter', 'tor', document) +utils.processDefaultCustomInstances('twitter', 'nitter', 'normal', document); +utils.processDefaultCustomInstances('twitter', 'nitter', 'tor', document) -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await twitterHelper.init(); - let redirects = twitterHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.nitter.normal).then(r => { - browser.storage.local.set({ nitterLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('twitter', 'nitter', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow) - }); - } -); \ No newline at end of file +utils.latency('twitter', 'nitter', document, location) \ No newline at end of file diff --git a/src/pages/options/twitter/twitter.pug b/src/pages/options/twitter/twitter.pug index af7b7f19..517a2727 100644 --- a/src/pages/options/twitter/twitter.pug +++ b/src/pages/options/twitter/twitter.pug @@ -28,9 +28,6 @@ body.option(dir="auto") .tor include ../../widgets/instances.pug +instances('https://nitter.onion') - .i2p - include ../../widgets/instances.pug - +instances('https://nitter.i2p') script(type="module" src="../init.js") diff --git a/src/pages/options/wikipedia/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js index 8d9af92a..c421c18a 100644 --- a/src/pages/options/wikipedia/wikipedia.js +++ b/src/pages/options/wikipedia/wikipedia.js @@ -1,5 +1,5 @@ import wikipediaHelper from "../../../assets/javascripts/helpers/wikipedia.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disableWikipediaElement = document.getElementById("disable-wikipedia"); let protocolElement = document.getElementById("protocol"); @@ -44,27 +44,10 @@ function changeProtocolSettings(protocol) { i2pDiv.style.display = 'block'; } } -commonHelper.processDefaultCustomInstances('wikipedia' ,'wikiless', 'normal', document); -commonHelper.processDefaultCustomInstances('wikipedia' ,'wikiless', 'tor', document); -commonHelper.processDefaultCustomInstances('wikipedia' ,'wikiless', 'i2p', document); +utils.processDefaultCustomInstances('wikipedia', 'wikiless', 'normal', document); +utils.processDefaultCustomInstances('wikipedia', 'wikiless', 'tor', document); +utils.processDefaultCustomInstances('wikipedia', 'wikiless', 'i2p', document); window.onblur = wikipediaHelper.initWikilessCookies; -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await wikipediaHelper.init(); - let redirects = wikipediaHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.wikiless.normal).then(r => { - browser.storage.local.set({ wikilessLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('wikipedia' ,'wikiless', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow) - }); - } -); \ No newline at end of file +utils.latency('wikipedia', 'wikiless', document, location) \ No newline at end of file diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index 6dfb9f7f..20d13bd3 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -256,7 +256,4 @@ </section> <script type="module" src="../init.js"></script> <script type="module" src="./youtube.js"></script> - <script type="module" src="./invidious.js"></script> - <script type="module" src="./piped.js"></script> - <script type="module" src="./pipedMaterial.js"></script> </body> \ No newline at end of file diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js index ce42abdc..4f987849 100644 --- a/src/pages/options/youtube/youtube.js +++ b/src/pages/options/youtube/youtube.js @@ -1,5 +1,5 @@ import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disableYoutube = document.getElementById("disable-invidious"); let youtubeFrontend = document.getElementById("youtube-frontend"); @@ -149,67 +149,13 @@ invidiousForm.addEventListener('submit', async event => { // youtubeHelper.applyPipedLocalStorage(url); // }); -commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'normal', document); -commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'tor', document); -commonHelper.processDefaultCustomInstances('youtube', 'pipedMaterial', 'normal', document); -commonHelper.processDefaultCustomInstances('youtube', 'pipedMaterial', 'tor', document); -commonHelper.processDefaultCustomInstances('youtube', 'piped', 'normal', document); -commonHelper.processDefaultCustomInstances('youtube', 'piped', 'tor', document); - - -let latencyInvidiousElement = document.getElementById("latency-invidious"); -let latencyInvidiousLabel = document.getElementById("latency-invidious-label"); -latencyInvidiousElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyInvidiousElement.addEventListener("click", reloadWindow); - await youtubeHelper.init(); - let redirects = youtubeHelper.getRedirects(); - const oldHtml = latencyInvidiousLabel.innerHTML; - latencyInvidiousLabel.innerHTML = '...'; - commonHelper.testLatency(latencyInvidiousLabel, redirects.invidious.normal).then(r => { - browser.storage.local.set({ invidiousLatency: r }); - latencyInvidiousLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'normal', document); - latencyInvidiousElement.removeEventListener("click", reloadWindow); - }); - } -); +utils.processDefaultCustomInstances('youtube', 'invidious', 'normal', document); +utils.processDefaultCustomInstances('youtube', 'invidious', 'tor', document); +utils.processDefaultCustomInstances('youtube', 'pipedMaterial', 'normal', document); +utils.processDefaultCustomInstances('youtube', 'pipedMaterial', 'tor', document); +utils.processDefaultCustomInstances('youtube', 'piped', 'normal', document); +utils.processDefaultCustomInstances('youtube', 'piped', 'tor', document); -let latencyPipedMaterialElement = document.getElementById("latency-pipedMaterial"); -let latencyPipedMaterialLabel = document.getElementById("latency-pipedMaterial-label"); -latencyPipedMaterialElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyPipedMaterialElement.addEventListener("click", reloadWindow); - await youtubeHelper.init(); - let redirects = youtubeHelper.getRedirects(); - const oldHtml = latencyPipedMaterialLabel.innerHTML; - latencyPipedMaterialLabel.innerHTML = '...'; - commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => { - browser.storage.local.set({ pipedMaterialLatency: r }); - latencyPipedMaterialLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('youtube', 'pipedMaterial', 'normal', document); - latencyPipedMaterialElement.removeEventListener("click", reloadWindow); - }); - } -); - -let latencyPipedElement = document.getElementById("latency-piped"); -let latencyPipedLabel = document.getElementById("latency-piped-label"); -latencyPipedElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyPipedElement.addEventListener("click", reloadWindow); - await youtubeHelper.init(); - let redirects = youtubeHelper.getRedirects(); - const oldHtml = latencyPipedLabel.innerHTML; - latencyPipedLabel.innerHTML = '...'; - commonHelper.testLatency(latencyPipedLabel, redirects.piped.normal).then(r => { - browser.storage.local.set({ pipedLatency: r }); - latencyPipedLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('youtube', 'piped', 'normal', document); - latencyPipedElement.removeEventListener("click", reloadWindow); - }); - } -); +utils.latency('youtube', 'invidious', document, location, true) +utils.latency('youtube', 'piped', document, location, true) +utils.latency('youtube', 'pipedMaterial', document, location, true) diff --git a/src/pages/options/youtube/youtube.pug b/src/pages/options/youtube/youtube.pug index 45c7f173..39235b0c 100644 --- a/src/pages/options/youtube/youtube.pug +++ b/src/pages/options/youtube/youtube.pug @@ -78,6 +78,3 @@ body.option(dir="auto") script(type="module" src="../init.js") script(type="module" src="./youtube.js") - script(type="module" src="./invidious.js") - script(type="module" src="./piped.js") - script(type="module" src="./pipedMaterial.js") diff --git a/src/pages/options/youtubeMusic/youtubeMusic.js b/src/pages/options/youtubeMusic/youtubeMusic.js index 518c651d..167630eb 100644 --- a/src/pages/options/youtubeMusic/youtubeMusic.js +++ b/src/pages/options/youtubeMusic/youtubeMusic.js @@ -1,5 +1,5 @@ import youtubeMusicHelper from "../../../assets/javascripts/helpers/youtubeMusic.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; +import utils from "../../../assets/javascripts/helpers/utils.js"; let disableYoutubeMusicElement = document.getElementById("disable-beatbump"); @@ -18,23 +18,6 @@ document.addEventListener("change", async () => { }) }) -commonHelper.processDefaultCustomInstances('youtubeMusic', 'beatbump', 'normal', document); +utils.processDefaultCustomInstances('youtubeMusic', 'beatbump', 'normal', document); -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await youtubeMusicHelper.init(); - let redirects = youtubeMusicHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.beatbump.normal).then(r => { - browser.storage.local.set({ beatbumpLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('youtubeMusic', 'beatbump', 'normal', document); - latencyElement.removeEventListener("click", reloadWindow) - }); - } -); \ No newline at end of file +utils.latency('youtubeMusic', 'beatbump', document, location) \ No newline at end of file diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html index b4086ffd..b815bc1d 100644 --- a/src/pages/popup/popup.html +++ b/src/pages/popup/popup.html @@ -70,7 +70,7 @@ <h4>Translate</h4></a> <input id="disable-simplyTranslate" type="checkbox"> </div> - <div class="some-block" id="maps"><a class="title" href="https://maps.com"> + <div class="some-block" id="maps"><a class="title" href="https://www.openstreetmap.org"> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> <path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path> </svg> @@ -84,7 +84,7 @@ <h4>Send Files</h4></a> <input id="disable-sendTargets" type="checkbox"> </div> - <div class="some-block"><a class="title button" id="change-instance"> + <div class="some-block"><a class="title button" id="change_instance"> <svg xmlns="http://www.w3.org/2000/svg" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor"> <path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"></path> </svg> @@ -107,5 +107,6 @@ <h4>Unify Settings</h4></a></div> <script type="module" src="../options/init.js"></script> <script type="module" src="./popup.js"></script> + <script src="../../assets/javascripts/localise.js"></script> </body> </html> \ No newline at end of file diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index c6399aeb..e465a7e0 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -1,22 +1,7 @@ "use strict"; window.browser = window.browser || window.chrome; -import commonHelper from "../../assets/javascripts/helpers/common.js"; -import youtubeHelper from "../../assets/javascripts/helpers/youtube/youtube.js"; -import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js"; -import twitterHelper from "../../assets/javascripts/helpers/twitter.js"; -import instagramHelper from "../../assets/javascripts/helpers/instagram.js"; -import mapsHelper from "../../assets/javascripts/helpers/maps.js"; -import redditHelper from "../../assets/javascripts/helpers/reddit.js"; -import searchHelper from "../../assets/javascripts/helpers/search.js"; -import translateHelper from "../../assets/javascripts/helpers/translate/translate.js"; -import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; -import mediumHelper from "../../assets/javascripts/helpers/medium.js"; -import imgurHelper from "../../assets/javascripts/helpers/imgur.js"; -import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js"; -import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; -import peertubeHelper from "../../assets/javascripts/helpers/peertube.js"; -import lbryHelper from "../../assets/javascripts/helpers/lbry.js"; +import utils from "../../assets/javascripts/helpers/utils.js"; import generalHelper from "../../assets/javascripts/helpers/general.js"; let disableTwitterElement = document.getElementById("disable-nitter"); @@ -35,9 +20,6 @@ let disableSendTargetsElement = document.getElementById("disable-sendTargets"); let disableImgurElement = document.getElementById("disable-imgur"); let disableTiktokElement = document.getElementById("disable-tiktok"); -let copyRawElement = document.getElementById('copy_raw'); -let unifyElement = document.getElementById('unify'); - browser.storage.local.get( [ "disableTwitter", @@ -95,109 +77,13 @@ document.addEventListener("change", () => { }); }) -let changeInstanceElement = document.getElementById("change-instance") -changeInstanceElement.addEventListener("click", switchInstance); -copyRawElement.addEventListener("click", copyRaw); +document.getElementById("change_instance").addEventListener("click", utils.switchInstance); +document.getElementById('copy_raw').addEventListener("click", utils.copyRaw); document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage()); -unifyElement.addEventListener("click", unify) - -function unify() { - browser.tabs.query( - { active: true, currentWindow: true }, - async tabs => { - let currTab = tabs[0] - if (currTab) { - let url = new URL(currTab.url); - - let result = await youtubeHelper.initInvidiousCookies(url); - if (!result) result = await youtubeHelper.initPipedLocalStorage(url, currTab.id); - if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(url, currTab.id); - - if (!result) result = await twitterHelper.initNitterCookies(url); - - if (!result) result = await redditHelper.initLibredditCookies(url); - if (!result) result = await redditHelper.initTedditCookies(url); - - if (!result) result = await searchHelper.initSearxCookies(url); - if (!result) result = await searchHelper.initSearxngCookies(url); - - if (!result) result = await tiktokHelper.initProxiTokCookies(url); - - if (!result) result = await wikipediaHelper.initWikilessCookies(url); - - if (!result) result = await translateHelper.initSimplyTranslateCookies(url); - if (!result) result = await translateHelper.initLingvaLocalStorage(url); +document.getElementById('unify').addEventListener("click", unify); - if (result) { - const textElement = unifyElement.getElementsByTagName('h4')[0] - const oldHtml = textElement.innerHTML; - textElement.innerHTML = 'Unified'; - setTimeout(() => textElement.innerHTML = oldHtml, 1000); - } - } - } - ) -} - -function switchInstance() { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - let currTab = tabs[0]; - if (currTab) { - let url = new URL(currTab.url); - let newUrl; - - // newUrl = youtubeHelper.switchInstance(url); - // if (!newUrl) newUrl = twitterHelper.switchInstance(url); - // if (!newUrl) newUrl = instagramHelper.switchInstance(url); - if (!newUrl) newUrl = await redditHelper.switchInstance(url); - // if (!newUrl) newUrl = searchHelper.switchInstance(url); - // if (!newUrl) newUrl = translateHelper.switchInstance(url); - // if (!newUrl) newUrl = mediumHelper.switchInstance(url); - // if (!newUrl) newUrl = sendTargetsHelper.switchInstance(url); - // if (!newUrl) newUrl = peertubeHelper.switchInstance(url); - // if (!newUrl) newUrl = lbryHelper.switchInstance(url); - // if (!newUrl) newUrl = imgurHelper.switchInstance(url); - // if (!newUrl) newUrl = wikipediaHelper.switchInstance(url); - - if (newUrl) { - browser.tabs.update({ url: newUrl }); - return true; - } - } - }) - return false; -} - -function copyRaw() { - browser.tabs.query( - { active: true, currentWindow: true }, tabs => { - let currTab = tabs[0]; - if (currTab) { - let url = new URL(currTab.url); - let newUrl; - newUrl = youtubeHelper.reverse(url); - - if (!newUrl) newUrl = twitterHelper.reverse(url); - if (!newUrl) newUrl = instagramHelper.reverse(url); - if (!newUrl) newUrl = tiktokHelper.reverse(url); - if (!newUrl) newUrl = imgurHelper.reverse(url); - - if (newUrl) { - navigator.clipboard.writeText(newUrl); - const textElement = copyRawElement.getElementsByTagName('h4')[0] - const oldHtml = textElement.innerHTML; - textElement.innerHTML = 'Copied'; - setTimeout(() => textElement.innerHTML = oldHtml, 1000); - } - } - } - ) -} - -let popupFrontends; generalHelper.init().then(() => { - popupFrontends = generalHelper.getPopupFrontends(); - + let popupFrontends = generalHelper.getPopupFrontends(); for (const frontend of generalHelper.allPopupFrontends) if (!popupFrontends.includes(frontend)) document.getElementById(frontend).classList.add("hide") diff --git a/src/pages/popup/popup.pug b/src/pages/popup/popup.pug index 31354a4b..97f6d045 100644 --- a/src/pages/popup/popup.pug +++ b/src/pages/popup/popup.pug @@ -87,7 +87,7 @@ html(lang="en") input#disable-simplyTranslate(type="checkbox") #maps.some-block - a.title(href="https://maps.com") + a.title(href="https://www.openstreetmap.org") +maps h4 Maps input#disable-osm(type="checkbox") @@ -99,7 +99,7 @@ html(lang="en") input#disable-sendTargets(type="checkbox") .some-block - a#change-instance.title.button + a#change_instance.title.button +change_instance h4 Change Instance @@ -120,4 +120,4 @@ html(lang="en") script(type="module" src="../options/init.js") script(type="module" src="./popup.js") - //- script(src="../../assets/javascripts/localise.js") \ No newline at end of file + script(src="../../assets/javascripts/localise.js") \ No newline at end of file diff --git a/src/pages/popup/style.css b/src/pages/popup/style.css index 6cd91b92..4cc56145 100644 --- a/src/pages/popup/style.css +++ b/src/pages/popup/style.css @@ -9,11 +9,4 @@ html, body { .hide { display: none !important; -} - -.button { - margin: auto; - width: 50%; - border: 3px rgb(180, 201, 180); - padding: 10px; - } \ No newline at end of file +} \ No newline at end of file |