aboutsummaryrefslogtreecommitdiffstats
path: root/internal/web/handlers_layout.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/web/handlers_layout.go')
-rw-r--r--internal/web/handlers_layout.go35
1 files changed, 16 insertions, 19 deletions
diff --git a/internal/web/handlers_layout.go b/internal/web/handlers_layout.go
index b22c1b5..1046a19 100644
--- a/internal/web/handlers_layout.go
+++ b/internal/web/handlers_layout.go
@@ -25,15 +25,15 @@ func (s *Server) layoutURL(r *http.Request) string {
// layoutData is everything layout.html needs; it is rebuilt after a failed form too.
func (s *Server) layoutData(r *http.Request) (map[string]any, error) {
blog := currentBlog(r)
- mods, err := s.st.ListModules(r.Context(), blog.ID)
+ mods, err := blogStore(r).ListModules(r.Context())
if err != nil {
return nil, err
}
- menu, err := s.st.ListMenu(r.Context(), blog.ID)
+ menu, err := blogStore(r).ListMenu(r.Context())
if err != nil {
return nil, err
}
- pages, err := s.st.ListPages(r.Context(), blog.ID)
+ pages, err := blogStore(r).ListPages(r.Context())
if err != nil {
return nil, err
}
@@ -63,7 +63,7 @@ func (s *Server) handleLayout(w http.ResponseWriter, r *http.Request) {
func (s *Server) handleLayoutWidths(w http.ResponseWriter, r *http.Request) {
blog := currentBlog(r)
theme := LayoutFromForm(ParseTheme(blog.ThemeJSON), r.Form)
- if err := s.st.UpdateBlogTheme(r.Context(), blog.ID, theme.JSON()); err != nil {
+ if err := blogStore(r).UpdateTheme(r.Context(), theme.JSON()); err != nil {
s.serverError(w, err)
return
}
@@ -81,7 +81,7 @@ func (s *Server) handleAreaToggle(w http.ResponseWriter, r *http.Request) {
theme := ParseTheme(blog.ThemeJSON)
on := !theme.AreaOn(area)
theme.SetAreaOn(area, on)
- if err := s.st.UpdateBlogTheme(r.Context(), blog.ID, theme.JSON()); err != nil {
+ if err := blogStore(r).UpdateTheme(r.Context(), theme.JSON()); err != nil {
s.serverError(w, err)
return
}
@@ -93,14 +93,13 @@ func (s *Server) handleAreaToggle(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) handleModuleAdd(w http.ResponseWriter, r *http.Request) {
- blog := currentBlog(r)
area, kind := r.PathValue("area"), r.FormValue("kind")
if !allowedKind(area, kind) {
s.plainError(w, http.StatusBadRequest, "That module cannot go in that area.")
return
}
if singleModuleAreas[area] {
- mods, err := s.st.ListModules(r.Context(), blog.ID)
+ mods, err := blogStore(r).ListModules(r.Context())
if err != nil {
s.serverError(w, err)
return
@@ -112,7 +111,7 @@ func (s *Server) handleModuleAdd(w http.ResponseWriter, r *http.Request) {
}
}
}
- m := &store.Module{BlogID: blog.ID, Area: area, Kind: kind, Count: 5}
+ m := &store.Module{Area: area, Kind: kind, Count: 5}
switch kind { // sensible headings so the module reads well before it is edited
case "archive":
m.Title = "Archive"
@@ -121,7 +120,7 @@ func (s *Server) handleModuleAdd(w http.ResponseWriter, r *http.Request) {
case "sitemap":
m.Title = "Pages"
}
- m, err := s.st.CreateModule(r.Context(), m)
+ m, err := blogStore(r).CreateModule(r.Context(), m)
if err != nil {
s.serverError(w, err)
return
@@ -143,7 +142,7 @@ func anchorFor(area string) string {
func (s *Server) loadModule(w http.ResponseWriter, r *http.Request) *store.Module {
id, _ := strconv.ParseInt(r.PathValue("id"), 10, 64)
- m, err := s.st.ModuleByID(r.Context(), currentBlog(r).ID, id)
+ m, err := blogStore(r).ModuleByID(r.Context(), id)
if err != nil {
if errors.Is(err, store.ErrNotFound) {
http.NotFound(w, r)
@@ -196,7 +195,7 @@ func (s *Server) handleModuleSave(w http.ResponseWriter, r *http.Request) {
fail("Content is too long (20 KB max).")
return
}
- if err := s.st.UpdateModule(r.Context(), m); err != nil {
+ if err := blogStore(r).UpdateModule(r.Context(), m); err != nil {
s.serverError(w, err)
return
}
@@ -212,7 +211,7 @@ func (s *Server) handleModuleMove(w http.ResponseWriter, r *http.Request) {
if r.FormValue("dir") == "up" {
dir = -1
}
- if err := s.st.MoveModule(r.Context(), m.BlogID, m.ID, dir); err != nil {
+ if err := blogStore(r).MoveModule(r.Context(), m.ID, dir); err != nil {
s.serverError(w, err)
return
}
@@ -240,7 +239,7 @@ func (s *Server) handleModuleDelete(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) deleteModule(w http.ResponseWriter, r *http.Request, m *store.Module) {
- if err := s.st.DeleteModule(r.Context(), m.BlogID, m.ID); err != nil {
+ if err := blogStore(r).DeleteModule(r.Context(), m.ID); err != nil {
s.serverError(w, err)
return
}
@@ -250,13 +249,12 @@ func (s *Server) deleteModule(w http.ResponseWriter, r *http.Request, m *store.M
// ---- menu --------------------------------------------------------------------
func (s *Server) handleMenuAddPage(w http.ResponseWriter, r *http.Request) {
- blog := currentBlog(r)
pageID, _ := strconv.ParseInt(r.FormValue("page"), 10, 64)
if pageID == 0 {
redirectOK(w, r, s.layoutURL(r)+"#menu", "Pick a page first.")
return
}
- if err := s.st.AddMenuPage(r.Context(), blog.ID, pageID); err != nil {
+ if err := blogStore(r).AddMenuPage(r.Context(), pageID); err != nil {
s.serverError(w, err)
return
}
@@ -264,7 +262,6 @@ func (s *Server) handleMenuAddPage(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) handleMenuAddLink(w http.ResponseWriter, r *http.Request) {
- blog := currentBlog(r)
label, link := strings.TrimSpace(r.FormValue("label")), strings.TrimSpace(r.FormValue("url"))
if link != "" && !strings.HasPrefix(link, "/") && !strings.Contains(link, ":") {
link = "https://" + link // "example.org" is what people type
@@ -277,7 +274,7 @@ func (s *Server) handleMenuAddLink(w http.ResponseWriter, r *http.Request) {
redirectOK(w, r, s.layoutURL(r)+"#menu", "That address does not look right. Use a full web address like https://example.org or a path like /about.")
return
}
- if err := s.st.AddMenuLink(r.Context(), blog.ID, label, link); err != nil {
+ if err := blogStore(r).AddMenuLink(r.Context(), label, link); err != nil {
s.serverError(w, err)
return
}
@@ -290,7 +287,7 @@ func (s *Server) handleMenuMove(w http.ResponseWriter, r *http.Request) {
if r.FormValue("dir") == "up" {
dir = -1
}
- if err := s.st.MoveMenuItem(r.Context(), currentBlog(r).ID, id, dir); err != nil {
+ if err := blogStore(r).MoveMenuItem(r.Context(), id, dir); err != nil {
s.serverError(w, err)
return
}
@@ -299,7 +296,7 @@ func (s *Server) handleMenuMove(w http.ResponseWriter, r *http.Request) {
func (s *Server) handleMenuDelete(w http.ResponseWriter, r *http.Request) {
id, _ := strconv.ParseInt(r.PathValue("id"), 10, 64)
- if err := s.st.DeleteMenuItem(r.Context(), currentBlog(r).ID, id); err != nil {
+ if err := blogStore(r).DeleteMenuItem(r.Context(), id); err != nil {
s.serverError(w, err)
return
}