From 09c9a673373aec8f4ae72426c4c646d8b583266d Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Thu, 10 Mar 2022 11:38:03 +0300 Subject: Refining Send support #67 --- src/assets/javascripts/helpers/general.js | 2 +- src/assets/javascripts/helpers/pixiv.js | 2 +- src/assets/javascripts/helpers/sendTargets.js | 30 +++++++++++++++++++++++++++ src/pages/options/general/general.html | 1 + src/pages/popup/popup.html | 11 ++++++++++ src/pages/popup/popup.js | 10 +++++++++ 6 files changed, 54 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/assets/javascripts/helpers/general.js b/src/assets/javascripts/helpers/general.js index 1d99dfdd..cc094bd7 100644 --- a/src/assets/javascripts/helpers/general.js +++ b/src/assets/javascripts/helpers/general.js @@ -84,7 +84,6 @@ async function init() { "translate", "maps", "wikipedia", - "medium", ]; autoRedirect = r.autoRedirect ?? false; @@ -118,6 +117,7 @@ let allPopupFrontends = [ "maps", "wikipedia", "medium", + "sendTargets" ]; diff --git a/src/assets/javascripts/helpers/pixiv.js b/src/assets/javascripts/helpers/pixiv.js index 2fedb455..236afa87 100644 --- a/src/assets/javascripts/helpers/pixiv.js +++ b/src/assets/javascripts/helpers/pixiv.js @@ -135,7 +135,7 @@ async function init() { "pixivProtocol" ], r => { - disable = r.disablePixiv ?? false; + disable = r.disablePixiv ?? true; protocol = r.pixivProtocol ?? "normal"; diff --git a/src/assets/javascripts/helpers/sendTargets.js b/src/assets/javascripts/helpers/sendTargets.js index 3108257a..f5690d52 100644 --- a/src/assets/javascripts/helpers/sendTargets.js +++ b/src/assets/javascripts/helpers/sendTargets.js @@ -105,6 +105,34 @@ function setProtocol(val) { console.log("sendTargetsProtocol: ", val) } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let sendList = [ + ...redirects.send.normal, + ...redirects.send.tor, + ...sendNormalCustomRedirects, + ...sendTorCustomRedirects, + ]; + + if (!sendList.includes(protocolHost)) return; + + if (url.pathname != '/') return; + + let instancesList; + if (protocol == 'normal') instancesList = [...sendNormalRedirectsChecks, ...sendNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects]; + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return `${randomInstance}${url.pathname}${url.search}`; +} + function redirect(url, type, initiator) { if (disable) return null; @@ -183,6 +211,8 @@ export default { getSendNormalCustomRedirects, setSendNormalCustomRedirects, + changeInstance, + redirect, init, }; diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index d3b82af4..8535ca55 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -207,6 +207,7 @@
Maps
Wikipedia
Medium
+
Send Files

diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html index a58a01ee..e5c04048 100644 --- a/src/pages/popup/popup.html +++ b/src/pages/popup/popup.html @@ -134,6 +134,17 @@ +
+
+ + + +

Send Files

+
+ +
+
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index e8ff1f3a..d03809ec 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -15,6 +15,7 @@ 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 pixivHelper from "../../assets/javascripts/helpers/pixiv.js"; +import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; import generalHelper from "../../assets/javascripts/helpers/general.js"; let disableTwitterElement = document.getElementById("disable-nitter"); @@ -27,6 +28,7 @@ let disableSearchElement = document.getElementById("disable-search"); let disableElement = document.getElementById("disable-simplyTranslate"); let disableWikipediaElement = document.getElementById("disable-wikipedia"); let disableMediumElement = document.getElementById("disable-medium"); +let disableSendTargetsElement = document.getElementById("disable-sendTargets"); let disableImgurElement = document.getElementById("disable-imgur"); let disableTiktokElement = document.getElementById("disable-tiktok"); let disablePixivElement = document.getElementById("disable-pixiv"); @@ -44,6 +46,7 @@ async function wholeInit() { await imgurHelper.init() await tiktokHelper.init() await pixivHelper.init() + await sendTargetsHelper.init() await mediumHelper.init() }; @@ -115,10 +118,15 @@ disableMediumElement.addEventListener("change", event => mediumHelper.setDisable(!event.target.checked) ); +disableSendTargetsElement.addEventListener("change", + event => sendTargetsHelper.setDisable(!event.target.checked) +); + document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage() ); + function changeInstance() { browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { let currTab = tabs[0]; @@ -143,6 +151,8 @@ function changeInstance() { if (!newUrl) newUrl = mediumHelper.changeInstance(tabUrl); + if (!newUrl) newUrl = sendTargetsHelper.changeInstance(tabUrl); + if (!newUrl) newUrl = imgurHelper.changeInstance(tabUrl); if (!newUrl) newUrl = wikipediaHelper.changeInstance(tabUrl) -- cgit 1.4.1