aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/background/background.js74
-rw-r--r--src/pages/popup/popup.js28
2 files changed, 63 insertions, 39 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 4a48a15f..867f3271 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -137,28 +137,28 @@ browser.webRequest.onResponseStarted.addListener(
const url = new URL(details.url);
let newUrl;
- newUrl = youtubeHelper.changeInstance(url);
- if (!newUrl) newUrl = twitterHelper.changeInstance(url);
+ newUrl = youtubeHelper.switchInstance(url);
+ if (!newUrl) newUrl = twitterHelper.switchInstance(url);
- if (!newUrl) newUrl = instagramHelper.changeInstance(url);
+ if (!newUrl) newUrl = instagramHelper.switchInstance(url);
- if (!newUrl) newUrl = redditHelper.changeInstance(url);
+ if (!newUrl) newUrl = redditHelper.switchInstance(url);
- if (!newUrl) newUrl = searchHelper.changeInstance(url);
+ if (!newUrl) newUrl = searchHelper.switchInstance(url);
- if (!newUrl) newUrl = translateHelper.changeInstance(url);
+ if (!newUrl) newUrl = translateHelper.switchInstance(url);
- if (!newUrl) newUrl = mediumHelper.changeInstance(url);
+ if (!newUrl) newUrl = mediumHelper.switchInstance(url);
- if (!newUrl) newUrl = imgurHelper.changeInstance(url);
+ if (!newUrl) newUrl = imgurHelper.switchInstance(url);
- if (!newUrl) newUrl = wikipediaHelper.changeInstance(url);
+ if (!newUrl) newUrl = wikipediaHelper.switchInstance(url);
- if (!newUrl) newUrl = peertubeHelper.changeInstance(url);
+ if (!newUrl) newUrl = peertubeHelper.switchInstance(url);
- if (!newUrl) newUrl = lbryHelper.changeInstance(url);
+ if (!newUrl) newUrl = lbryHelper.switchInstance(url);
- // if (!newUrl) newUrl = spotifyHelper.changeInstance(url);
+ // if (!newUrl) newUrl = spotifyHelper.switchInstance(url);
if (newUrl) browser.tabs.update(details.tabId, { url: `/pages/errors/instance_offline.html?url=${encodeURIComponent(newUrl)}` });
@@ -181,34 +181,34 @@ browser.tabs.onUpdated.addListener(
});
function changeWholeInstance(url) {
- let newUrl = youtubeHelper.changeInstance(url);
+ let newUrl = youtubeHelper.switchInstance(url);
- if (!newUrl) newUrl = twitterHelper.changeInstance(url);
+ if (!newUrl) newUrl = twitterHelper.switchInstance(url);
- if (!newUrl) newUrl = instagramHelper.changeInstance(url);
+ if (!newUrl) newUrl = instagramHelper.switchInstance(url);
- if (!newUrl) newUrl = redditHelper.changeInstance(url);
+ if (!newUrl) newUrl = redditHelper.switchInstance(url);
- if (!newUrl) newUrl = searchHelper.changeInstance(url);
+ if (!newUrl) newUrl = searchHelper.switchInstance(url);
- if (!newUrl) newUrl = translateHelper.changeInstance(url);
+ if (!newUrl) newUrl = translateHelper.switchInstance(url);
- if (!newUrl) newUrl = mediumHelper.changeInstance(url);
+ if (!newUrl) newUrl = mediumHelper.switchInstance(url);
- if (!newUrl) newUrl = sendTargetsHelper.changeInstance(url);
+ if (!newUrl) newUrl = sendTargetsHelper.switchInstance(url);
- if (!newUrl) newUrl = peertubeHelper.changeInstance(url);
+ if (!newUrl) newUrl = peertubeHelper.switchInstance(url);
- if (!newUrl) newUrl = imgurHelper.changeInstance(url);
+ if (!newUrl) newUrl = imgurHelper.switchInstance(url);
- if (!newUrl) newUrl = wikipediaHelper.changeInstance(url);
+ if (!newUrl) newUrl = wikipediaHelper.switchInstance(url);
return newUrl;
}
browser.commands.onCommand.addListener(
command => {
- if (command === 'changeInstance')
+ if (command === 'switchInstance')
chrome.tabs.query(
{ active: true, currentWindow: true },
tabs => {
@@ -220,4 +220,28 @@ browser.commands.onCommand.addListener(
}
);
}
-) \ No newline at end of file
+)
+
+browser.menus.create({
+ id: "settings",
+ title: "Settings",
+ contexts: ["browser_action"]
+});
+
+browser.menus.create({
+ id: "switchInstance",
+ title: "Switch Instance",
+ contexts: ["browser_action"]
+});
+
+browser.menus.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()
+}); \ No newline at end of file
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 4d7d302d..6c9b942c 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -78,7 +78,7 @@ wholeInit().then(() => {
disableLbryElement.checked = !lbryHelper.getDisable();
let changeInstanceElement = document.getElementById("change-instance")
- changeInstanceElement.addEventListener("click", changeInstance);
+ changeInstanceElement.addEventListener("click", switchInstance);
})
disableTwitterElement.addEventListener("change",
@@ -154,7 +154,7 @@ document.getElementById("more-options").addEventListener("click",
);
-function changeInstance() {
+function switchInstance() {
browser.tabs.query({ active: true, currentWindow: true }, function (tabs) {
let currTab = tabs[0];
if (currTab) {
@@ -164,29 +164,29 @@ function changeInstance() {
catch (_) { return false; }
let newUrl;
- newUrl = youtubeHelper.changeInstance(tabUrl);
+ newUrl = youtubeHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = twitterHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = twitterHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = instagramHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = instagramHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = redditHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = redditHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = searchHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = searchHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = translateHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = translateHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = mediumHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = mediumHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = sendTargetsHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = sendTargetsHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = peertubeHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = peertubeHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = lbryHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = lbryHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = imgurHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = imgurHelper.switchInstance(tabUrl);
- if (!newUrl) newUrl = wikipediaHelper.changeInstance(tabUrl);
+ if (!newUrl) newUrl = wikipediaHelper.switchInstance(tabUrl);
if (newUrl) {
browser.tabs.update({ url: newUrl });