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)