aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-10-08 17:48:24 +0100
committerHygna <hygna@proton.me>2022-10-08 17:48:24 +0100
commit6fdf65663053d2e9c951f6153f108be8d3744204 (patch)
tree214198ad36db2b945b05557630811e1f9489c878
parentFixed bugs present in the previous commit (diff)
downloadlibredirect-6fdf65663053d2e9c951f6153f108be8d3744204.zip
Added context menu to redirect
Closes https://github.com/libredirect/libredirect/issues/414
Diffstat (limited to '')
-rw-r--r--src/_locales/en/messages.json4
-rw-r--r--src/assets/javascripts/services.js1
-rw-r--r--src/config/config.json2
-rw-r--r--src/pages/background/background.js62
4 files changed, 39 insertions, 30 deletions
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index b8dccda3..3887856c 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -214,5 +214,9 @@
"toggleTab": {
"message": "Toggle redirects in this tab",
"description": "Used in context menus when right clicking on a page/tab"
+ },
+ "redirectLink": {
+ "message": "Attempt to redirect this hyperlink",
+ "description": "Used in context menus when right clicking on a hyperlink"
}
}
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 6614bf92..80a1ac45 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -407,7 +407,6 @@ function redirect(url, type, initiator, forceRedirection) {
}
function computeService(url, returnFrontend) {
- console.log(url)
return new Promise(resolve => {
fetch("/config/config.json")
.then(response => response.text())
diff --git a/src/config/config.json b/src/config/config.json
index 642d90ee..ff4a869f 100644
--- a/src/config/config.json
+++ b/src/config/config.json
@@ -414,7 +414,7 @@
},
"imageType": "svg",
"embeddable": false,
- "url": "https://search.joinpeertube.org"
+ "url": "https://joinpeertube.org"
},
"lbry": {
"frontends": {
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 54a80011..d252e580 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -21,28 +21,28 @@ function initDefaults() {
browser.runtime.onInstalled.addListener(details => {
if (details.previousVersion != browser.runtime.getManifest().version) {
- switch (details.reason) {
- case "install":
- initDefaults()
- break
- case "update":
- fetch("/instances/blacklist.json")
- .then(response => response.text())
- .then(async data => {
- browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => {
- switch (details.previousVersion) {
- case "2.2.0":
- case "2.2.1":
- await generalHelper.initDefaults()
- await servicesHelper.initDefaults()
- await servicesHelper.upgradeOptions()
- break
- default:
- await servicesHelper.processUpdate()
- }
+ switch (details.reason) {
+ case "install":
+ initDefaults()
+ break
+ case "update":
+ fetch("/instances/blacklist.json")
+ .then(response => response.text())
+ .then(async data => {
+ browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => {
+ switch (details.previousVersion) {
+ case "2.2.0":
+ case "2.2.1":
+ await generalHelper.initDefaults()
+ await servicesHelper.initDefaults()
+ await servicesHelper.upgradeOptions()
+ break
+ default:
+ await servicesHelper.processUpdate()
+ }
+ })
})
- })
- }
+ }
}
})
@@ -166,18 +166,21 @@ browser.contextMenus.create({
contexts: ["page", "tab"],
})
+browser.contextMenus.create({
+ id: "redirectLink",
+ title: browser.i18n.getMessage("redirectLink"),
+ contexts: ["link"],
+})
+
function handleToggleTab(tab) {
return new Promise(async resolve => {
- console.log(tabIdRedirects[tab.id])
switch (tabIdRedirects[tab.id]) {
case false:
- console.log("kj")
const newUrl = await servicesHelper.reverse(tab.url, true)
if (newUrl) browser.tabs.update(tab.id, { url: newUrl })
resolve()
return
case true:
- console.log("lsad")
browser.tabs.reload(tab.id)
resolve()
return
@@ -211,14 +214,10 @@ browser.contextMenus.onClicked.addListener((info, tab) => {
resolve()
return
} else {
- console.log("n")
const url = new URL(tab.url)
const service = await servicesHelper.computeService(url)
- console.log(service)
if (service) {
- console.log("h")
browser.storage.local.get("options", async r => {
- console.log(r.options[service])
if (r.options[service].enabled) tabIdRedirects[tab.id] = false
else tabIdRedirects[tab.id] = true
await handleToggleTab(tab)
@@ -232,6 +231,13 @@ browser.contextMenus.onClicked.addListener((info, tab) => {
return
}
}
+ case "redirectLink":
+ console.log(info.linkUrl)
+ const tmpUrl = new URL(info.linkUrl)
+ const newUrl = servicesHelper.redirect(tmpUrl, "main_frame", null, true)
+ if (newUrl) browser.tabs.create({ url: newUrl })
+ resolve()
+ return
}
})
})