diff options
author | ManeraKai <manerakai@protonmail.com> | 2023-03-05 17:29:09 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2023-03-05 17:29:09 +0300 |
commit | 53cfc0522795c6487c5f4e7a6cdac4f426151ef8 (patch) | |
tree | 7e98d8f05a358b5ba799465a02534c0d12f04a30 /src/pages/options | |
parent | Merge branch 'master' of https://github.com/libredirect/libredirect (diff) | |
download | libredirect-53cfc0522795c6487c5f4e7a6cdac4f426151ef8.zip |
Fixed random bugs
Diffstat (limited to 'src/pages/options')
-rw-r--r-- | src/pages/options/index.js | 18 | ||||
-rw-r--r-- | src/pages/options/widgets/general.js | 8 | ||||
-rw-r--r-- | src/pages/options/widgets/services.pug | 3 |
3 files changed, 21 insertions, 8 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") diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js index b676046b..484edc05 100644 --- a/src/pages/options/widgets/general.js +++ b/src/pages/options/widgets/general.js @@ -17,7 +17,6 @@ async function setOption(option, type, event) { } let exportSettingsElement = document.getElementById("export-settings") - async function exportSettings() { const options = await utils.getOptions() options.version = browser.runtime.getManifest().version @@ -43,6 +42,7 @@ importSettingsElement.addEventListener("change", () => { "theme" in data && data.version == browser.runtime.getManifest().version ) { + browser.storage.local.clear(async () => { browser.storage.local.set({ options: data }, () => { location.reload() @@ -71,7 +71,8 @@ resetSettings.addEventListener("click", async () => { location.reload() }) -document.getElementById('fetch-instances').addEventListener('change', event => { +let fetchInstancesElement = document.getElementById('fetch-instances') +fetchInstancesElement.addEventListener('change', event => { setOption('fetchInstances', 'select', event) location.reload() }) @@ -100,9 +101,9 @@ for (const service in config.services) { }) } - let options = await utils.getOptions() themeElement.value = options.theme +fetchInstancesElement.value = options.fetchInstances for (const service in config.services) document.getElementById(service).checked = options.popupServices.includes(service) instanceTypeElement.addEventListener("change", event => { @@ -166,7 +167,6 @@ document.getElementById("custom-exceptions-instance-form").addEventListener("sub if (val) { options = await utils.getOptions() options.exceptions = exceptionsCustomInstances - console.log(options.exceptions) browser.storage.local.set({ options }, () => nameCustomInstanceInput.value = "" ) diff --git a/src/pages/options/widgets/services.pug b/src/pages/options/widgets/services.pug index e375c052..98fd25bb 100644 --- a/src/pages/options/widgets/services.pug +++ b/src/pages/options/widgets/services.pug @@ -30,9 +30,6 @@ each val, service in services div(class="some-block option-block") h4(data-localise="__MSG_redirectType__") Redirect Type select(id=service+"-redirectType") - option(value="both" data-localise="__MSG_both__") both - option(value="sub_frame" data-localise="__MSG_onlyEmbedded__") Only Embedded - option(value="main_frame" data-localise="__MSG_onlyNotEmbedded__") Only Not Embedded div(class="some-block option-block") h4 Unsupported paths handling |