diff --git a/public/css/style.scss b/public/css/style.scss
index 1592648bf..fe3767072 100644
--- a/public/css/style.scss
+++ b/public/css/style.scss
@@ -1803,6 +1803,15 @@ key {
column-gap: 2rem;
align-items: center;
+ .button.danger {
+ background: #d00;
+ color: #eee;
+ &:hover {
+ background: var(--main-color);
+ color: var(--bg-color);
+ }
+ }
+
&.customTheme {
grid-template-columns: 1fr 1fr 1fr 1fr;
justify-items: stretch;
diff --git a/public/index.html b/public/index.html
index 1e3b8b544..b28115ced 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2331,6 +2331,29 @@
+
+ danger section
+
+
+
+
+
reset settings
+
+ Resets settings to the default (but doesn't touch your tags).
+ Warning: you can't undo this action!
+
+
+
+
diff --git a/public/js/settings.js b/public/js/settings.js
index 1d1700f4a..7a92033ed 100644
--- a/public/js/settings.js
+++ b/public/js/settings.js
@@ -786,6 +786,13 @@ $(".pageSettings #loadCustomColorsFromPreset").click((e) => {
}, 250);
});
+$("#resetSettingsButton").click((e) => {
+ if (confirm("Press OK to confirm.")) {
+ resetConfig();
+ location.reload();
+ }
+});
+
$(".pageSettings .sectionGroupTitle").click((e) => {
let group = $(e.currentTarget).attr("group");
$(`.pageSettings .settingsGroup.${group}`)
diff --git a/public/js/userconfig.js b/public/js/userconfig.js
index 56941c1cd..7e4dc395b 100644
--- a/public/js/userconfig.js
+++ b/public/js/userconfig.js
@@ -104,6 +104,14 @@ async function saveConfigToDB() {
}
}
+function resetConfig() {
+ config = {
+ ...defaultConfig
+ };
+ applyConfig();
+ saveConfigToCookie();
+}
+
function saveActiveTagsToCookie() {
let tags = [];