From 39a19e56cc40669f631dd873e2c51f6440feb015 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Tue, 20 Jun 2023 02:47:28 +0300 Subject: Re-added EmbedFrontend https://github.com/libredirect/browser_extension/issues/624 --- src/pages/options/index.js | 15 ++++++++++++--- src/pages/options/widgets/services.pug | 17 +++++++++++++---- 2 files changed, 25 insertions(+), 7 deletions(-) (limited to 'src/pages/options') 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 = ` ` - 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 = '' 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 -- cgit 1.4.1