aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--public/_locales/en/messages.json8
-rw-r--r--public/options/options.html6
-rw-r--r--src/options.ts26
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");