about summary refs log tree commit diff stats
path: root/src/pages/options
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2023-06-20 02:47:28 +0300
committerManeraKai <manerakai@protonmail.com>2023-06-20 02:47:28 +0300
commit39a19e56cc40669f631dd873e2c51f6440feb015 (patch)
tree788052065920fbc6943f4f55a285a813a91d8afe /src/pages/options
parentTranslated using Weblate (Portuguese) (diff)
downloadlibredirect-39a19e56cc40669f631dd873e2c51f6440feb015.zip
Re-added EmbedFrontend https://github.com/libredirect/browser_extension/issues/624
Diffstat (limited to 'src/pages/options')
-rw-r--r--src/pages/options/index.js15
-rw-r--r--src/pages/options/widgets/services.pug17
2 files changed, 25 insertions, 7 deletions
diff --git a/src/pages/options/index.js b/src/pages/options/index.js
index 002a8aa6..cf0fb032 100644
--- a/src/pages/options/index.js
+++ b/src/pages/options/index.js
@@ -33,7 +33,11 @@ async function changeFrontendsSettings(service) {
 		if (config.services[service].frontends[frontend].instanceList) {
 			const frontendDiv = document.getElementById(frontend)
 			if (typeof divs[service].frontend !== "undefined") {
-				if (frontend == divs[service].frontend.value) {
+				if (
+					frontend == divs[service].frontend.value
+					||
+					(!config.services[service].frontends[divs[service].frontend.value].embeddable && divs[service].embedFrontend && frontend == divs[service].embedFrontend.value)
+				) {
 					frontendDiv.style.display = ""
 					if (config.services[service].frontends[frontend].localhost === true) {
 						document.getElementById(`${service}-instance-div`).style.display = ""
@@ -52,19 +56,24 @@ async function changeFrontendsSettings(service) {
 	}
 	if (document.getElementById(`${service}-redirectType`)) {
 		const frontend = options[service].frontend
-		if (config.services[service].frontends[frontend].embeddable) {
+		if (config.services[service].frontends[frontend].embeddable || config.services[service].frontends[frontend].desktopApp) {
 			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[frontend].redirectType = options[service].redirectType
+			document.getElementById(`${service}-redirectType`).value = 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 })
 		}
+		if (config.services[service].frontends[frontend].desktopApp) {
+			document.getElementById(`${service}-embedFrontend-div`).style.display = ''
+		} else {
+			document.getElementById(`${service}-embedFrontend-div`).style.display = 'none'
+		}
 	}
 	const frontend_name_element = document.getElementById(`${service}_page`).getElementsByClassName("frontend_name")[0]
 	frontend_name_element.href = config.services[service].frontends[divs[service].frontend.value].url
diff --git a/src/pages/options/widgets/services.pug b/src/pages/options/widgets/services.pug
index 5d09b397..64830cc6 100644
--- a/src/pages/options/widgets/services.pug
+++ b/src/pages/options/widgets/services.pug
@@ -29,10 +29,19 @@ each val, service in services
                     option(value="localhost") localhost
                     option(value="public") public instances
 
-            if services[service].embeddable
-                div(class="some-block option-block")
-                    h4(data-localise="__MSG_redirectType__") Redirect Type
-                    select(id=service+"-redirectType")
+            div(class="some-block option-block")
+                h4(data-localise="__MSG_redirectType__") Redirect Type
+                select(id=service+"-redirectType")
+
+            
+            div(id=service+"-embedFrontend-div"  class="some-block option-block")
+                h4(data-localise="__MSG_embedFrontend__") Embed Frontend
+                select(id=service+"-embedFrontend")
+                    option(value="disabled") Disabled
+                    each val, frontend in services[service].frontends
+                        if services[service].frontends[frontend].embeddable && services[service].frontends[frontend].instanceList
+                            option(value=frontend)=services[service].frontends[frontend].name
+
 
             div(class="some-block option-block")
                 h4 Unsupported iframes handling