diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js
index 5b3f13d4a..dee4231b8 100644
--- a/bookwyrm/static/js/bookwyrm.js
+++ b/bookwyrm/static/js/bookwyrm.js
@@ -48,6 +48,12 @@ let BookWyrm = new (class {
document
.querySelector("#barcode-scanner-modal")
.addEventListener("open", this.openBarcodeScanner.bind(this));
+
+ document
+ .querySelectorAll('form[name="register"]')
+ .forEach((form) =>
+ form.addEventListener("submit", (e) => this.setPreferredTimezone(e, form))
+ );
}
/**
@@ -785,4 +791,16 @@ let BookWyrm = new (class {
initBarcodes();
}
+
+ /**
+ * Set preferred timezone in register form.
+ *
+ * @param {Event} event - `submit` event fired by the register form.
+ * @return {undefined}
+ */
+ setPreferredTimezone(event, form) {
+ const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
+
+ form.querySelector('input[name="preferred_timezone"]').value = tz;
+ }
})();
diff --git a/bookwyrm/templates/snippets/register_form.html b/bookwyrm/templates/snippets/register_form.html
index 214e514c1..61e3b9c96 100644
--- a/bookwyrm/templates/snippets/register_form.html
+++ b/bookwyrm/templates/snippets/register_form.html
@@ -58,6 +58,8 @@
+
+