about summary refs log tree commit diff stats
path: root/src/pages/options/index.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2023-06-20 11:20:32 +0300
committerManeraKai <manerakai@protonmail.com>2023-06-20 11:20:32 +0300
commit3d883f52ab03f0fa2d0d650aa3a3789fb326c6ad (patch)
tree6f15831a88a30f9a7b654fe002cbe362c0efa36e /src/pages/options/index.js
parentRe-added EmbedFrontend https://github.com/libredirect/browser_extension/issue... (diff)
downloadlibredirect-3d883f52ab03f0fa2d0d650aa3a3789fb326c6ad.zip
Added Indestructables https://codeberg.org/LibRedirect/browser_extension/issues/91 . Fixed bugs in embedFrontend https://github.com/libredirect/browser_extension/issues/624
Diffstat (limited to 'src/pages/options/index.js')
-rw-r--r--src/pages/options/index.js17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/pages/options/index.js b/src/pages/options/index.js
index cf0fb032..2cf525ee 100644
--- a/src/pages/options/index.js
+++ b/src/pages/options/index.js
@@ -56,20 +56,31 @@ async function changeFrontendsSettings(service) {
 	}
 	if (document.getElementById(`${service}-redirectType`)) {
 		const frontend = options[service].frontend
-		if (config.services[service].frontends[frontend].embeddable || config.services[service].frontends[frontend].desktopApp) {
+		if (config.services[service].frontends[frontend].embeddable) {
 			document.getElementById(`${service}-redirectType`).innerHTML = `
 			<option value="both" data-localise="__MSG_both__">both</options>
 			<option value="sub_frame" data-localise="__MSG_onlyEmbedded__">Only Embedded</option>
 			<option value="main_frame" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option>
 			`
-			document.getElementById(`${service}-redirectType`).value = options[service].redirectType
+		}
+		else if (config.services[service].frontends[frontend].desktopApp && Object.values(config.services[service].frontends).some(frontend => frontend.embeddable)) {
+			document.getElementById(`${service}-redirectType`).innerHTML = `
+			<option value="both" data-localise="__MSG_both__">both</options>
+			<option value="main_frame" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option>
+			`
+			if (options[service].redirectType == "sub_frame") {
+				options[service].redirectType = "main_frame"
+				browser.storage.local.set({ options })
+			}
 		} else {
 			document.getElementById(`${service}-redirectType`).innerHTML =
 				'<option value="main_frame" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option>'
 			options[service].redirectType = "main_frame"
+
 			browser.storage.local.set({ options })
 		}
-		if (config.services[service].frontends[frontend].desktopApp) {
+		document.getElementById(`${service}-redirectType`).value = options[service].redirectType
+		if (config.services[service].frontends[frontend].desktopApp && options[service].redirectType != "main_frame") {
 			document.getElementById(`${service}-embedFrontend-div`).style.display = ''
 		} else {
 			document.getElementById(`${service}-embedFrontend-div`).style.display = 'none'