diff --git a/internal/template/templates/views/settings.html b/internal/template/templates/views/settings.html
index c584e02a..c3c6fceb 100644
--- a/internal/template/templates/views/settings.html
+++ b/internal/template/templates/views/settings.html
@@ -115,14 +115,14 @@
-
-
-
-
+
+
+
+
diff --git a/internal/ui/form/settings.go b/internal/ui/form/settings.go
index 1b9e48dd..34f3a281 100644
--- a/internal/ui/form/settings.go
+++ b/internal/ui/form/settings.go
@@ -16,7 +16,7 @@ import (
// MarkReadBehavior list all possible behaviors for automatically marking an entry as read
type MarkReadBehavior string
-var (
+const (
NoAutoMarkAsRead MarkReadBehavior = "no-auto"
MarkAsReadOnView MarkReadBehavior = "on-view"
MarkAsReadOnViewButWaitForPlayerCompletion MarkReadBehavior = "on-view-but-wait-for-player-completion"
diff --git a/internal/ui/settings_show.go b/internal/ui/settings_show.go
index eae72a7f..6f2b92af 100644
--- a/internal/ui/settings_show.go
+++ b/internal/ui/settings_show.go
@@ -63,8 +63,7 @@ func (h *handler) showSettingsPage(w http.ResponseWriter, r *http.Request) {
sess := session.New(h.store, request.SessionID(r))
view := view.New(h.tpl, r, sess)
view.Set("form", settingsForm)
- // In order to keep the continuity between form and model, I pass adhoc constants to the view
- view.Set("const", map[string]interface{}{
+ view.Set("readBehaviors", map[string]any{
"NoAutoMarkAsRead": form.NoAutoMarkAsRead,
"MarkAsReadOnView": form.MarkAsReadOnView,
"MarkAsReadOnViewButWaitForPlayerCompletion": form.MarkAsReadOnViewButWaitForPlayerCompletion,
diff --git a/internal/ui/settings_update.go b/internal/ui/settings_update.go
index 5610a9a9..b10e9ab2 100644
--- a/internal/ui/settings_update.go
+++ b/internal/ui/settings_update.go
@@ -43,6 +43,12 @@ func (h *handler) updateSettings(w http.ResponseWriter, r *http.Request) {
sess := session.New(h.store, request.SessionID(r))
view := view.New(h.tpl, r, sess)
view.Set("form", settingsForm)
+ view.Set("readBehaviors", map[string]any{
+ "NoAutoMarkAsRead": form.NoAutoMarkAsRead,
+ "MarkAsReadOnView": form.MarkAsReadOnView,
+ "MarkAsReadOnViewButWaitForPlayerCompletion": form.MarkAsReadOnViewButWaitForPlayerCompletion,
+ "MarkAsReadOnlyOnPlayerCompletion": form.MarkAsReadOnlyOnPlayerCompletion,
+ })
view.Set("themes", model.Themes())
view.Set("languages", locale.AvailableLanguages)
view.Set("timezones", timezones)