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-03-05 17:29:09 +0300
committerManeraKai <manerakai@protonmail.com>2023-03-05 17:29:09 +0300
commit53cfc0522795c6487c5f4e7a6cdac4f426151ef8 (patch)
tree7e98d8f05a358b5ba799465a02534c0d12f04a30 /src/pages/options/index.js
parentMerge branch 'master' of https://github.com/libredirect/libredirect (diff)
downloadlibredirect-53cfc0522795c6487c5f4e7a6cdac4f426151ef8.zip
Fixed random bugs
Diffstat (limited to 'src/pages/options/index.js')
-rw-r--r--src/pages/options/index.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/pages/options/index.js b/src/pages/options/index.js
index 1256c9b1..9fde7cd3 100644
--- a/src/pages/options/index.js
+++ b/src/pages/options/index.js
@@ -17,7 +17,8 @@ for (const a of document.getElementById("links").getElementsByTagName("a")) {
 config = await utils.getConfig()
 options = await utils.getOptions()
 
-function changeFrontendsSettings(service) {
+async function changeFrontendsSettings(service) {
+	options = await utils.getOptions()
 	const opacityDiv = document.getElementById(`${service}-opacity`)
 	if (document.getElementById(`${service}-enabled`).checked) {
 		opacityDiv.style.pointerEvents = 'auto'
@@ -40,6 +41,20 @@ function changeFrontendsSettings(service) {
 			}
 		}
 	}
+	if (config.services[service].frontends[divs[service].frontend.value].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[divs[service].frontend.value].redirectType = options[service].redirectType
+	} 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 })
+	}
 	const frontend_name_element = document.getElementById(`${service}_page`).getElementsByClassName("frontend_name")[0]
 	if (divs[service].frontend) {
 		frontend_name_element.href = config.services[service].frontends[divs[service].frontend.value].url
@@ -72,6 +87,7 @@ async function loadPage(path) {
 			if (typeof config.services[service].options[option] == "boolean") divs[service][option].checked = options[service][option]
 			else divs[service][option].value = options[service][option]
 
+
 			divs[service][option].addEventListener("change", async () => {
 				let options = await utils.getOptions()
 				if (typeof config.services[service].options[option] == "boolean")