From 53cfc0522795c6487c5f4e7a6cdac4f426151ef8 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 5 Mar 2023 17:29:09 +0300 Subject: Fixed random bugs --- src/pages/options/index.js | 18 +++++++++++++++++- src/pages/options/widgets/general.js | 8 ++++---- src/pages/options/widgets/services.pug | 3 --- 3 files changed, 21 insertions(+), 8 deletions(-) (limited to 'src/pages/options') 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 = ` + + + ` + document.getElementById(`${service}-redirectType`).value = options[divs[service].frontend.value].redirectType = options[service].redirectType + } else { + document.getElementById(`${service}-redirectType`).innerHTML = ` + + ` + 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 -- cgit 1.4.1