summaryrefslogtreecommitdiff
path: root/internal/web/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/web/server.go')
-rw-r--r--internal/web/server.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/internal/web/server.go b/internal/web/server.go
index 34371b7..d7f0ebc 100644
--- a/internal/web/server.go
+++ b/internal/web/server.go
@@ -651,8 +651,13 @@ func settingsPost(s *server) http.HandlerFunc {
renderSettingsError(w, cfg, booksText, "saving config: "+err.Error())
return
}
- if p, err := config.BooksPath(); err == nil {
- _ = os.WriteFile(p, []byte(booksText), 0o644)
+ // Only write books.toml when the editor actually carried content, so a
+ // submit with an empty/absent books field never clobbers an existing
+ // override (the form always pre-fills the textarea).
+ if strings.TrimSpace(booksText) != "" {
+ if p, err := config.BooksPath(); err == nil {
+ _ = os.WriteFile(p, []byte(booksText), 0o644)
+ }
}
s.apply(cfg, newTbl)