diff options
-rw-r--r-- | public/_locales/en/messages.json | 8 | ||||
-rw-r--r-- | public/options/options.html | 6 | ||||
-rw-r--r-- | src/options.ts | 26 |
3 files changed, 30 insertions, 10 deletions
diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json index 47d226bd..cd0570bb 100644 --- a/public/_locales/en/messages.json +++ b/public/_locales/en/messages.json @@ -402,10 +402,16 @@ "customServerAddressDescription": { "message": "The address SponsorBlock uses to make calls to the server.\nUnless you have your own server instance, this should not be changed." }, - "saveCustomServerAddress": { + "save": { "message": "Save" }, + "reset": { + "message": "Reset" + }, "customAddressError": { "message": "This address is not in the right form. Make sure you have http:// or https:// at the begining and no slashes or sub-folders at the end." + }, + "areYouSureReset": { + "message": "Are you sure you would like to reset this?" } } diff --git a/public/options/options.html b/public/options/options.html index d6a2062a..d8d32920 100644 --- a/public/options/options.html +++ b/public/options/options.html @@ -282,7 +282,11 @@ </label> <div class="option-button text-change-set inline"> - __MSG_saveCustomServerAddress__ + __MSG_save__ + </div> + + <div class="option-button text-change-reset inline"> + __MSG_reset__ </div> <br/> diff --git a/src/options.ts b/src/options.ts index 2400018f..00a71bb9 100644 --- a/src/options.ts +++ b/src/options.ts @@ -56,20 +56,20 @@ async function init() { break; case "text-change": let textChangeOption = optionsElements[i].getAttribute("sync-option"); - let textInput = <HTMLInputElement> optionsElements[i].querySelector(".option-text-box"); + let textChangeInput = <HTMLInputElement> optionsElements[i].querySelector(".option-text-box"); - let setButton = <HTMLElement> optionsElements[i].querySelector(".text-change-set"); + let textChangeSetButton = <HTMLElement> optionsElements[i].querySelector(".text-change-set"); - textInput.value = Config.config[textChangeOption]; + textChangeInput.value = Config.config[textChangeOption]; - setButton.addEventListener("click", () => { + textChangeSetButton.addEventListener("click", () => { // See if anything extra must be done switch (textChangeOption) { case "serverAddress": - let result = validateServerAddress(textInput.value); + let result = validateServerAddress(textChangeInput.value); if (result !== null) { - textInput.value = result; + textChangeInput.value = result; } else { return; } @@ -77,9 +77,19 @@ async function init() { break; } - Config.config[textChangeOption] = textInput.value; + Config.config[textChangeOption] = textChangeInput.value; }); - + + // Reset to the default if needed + let textChangeResetButton = <HTMLElement> optionsElements[i].querySelector(".text-change-reset"); + textChangeResetButton.addEventListener("click", () => { + if (!confirm(chrome.i18n.getMessage("areYouSureReset"))) return; + + Config.config[textChangeOption] = Config.defaults[textChangeOption]; + + textChangeInput.value = Config.config[textChangeOption]; + }); + break; case "private-text-change": let button = optionsElements[i].querySelector(".trigger-button"); |