Add unqueue (delete) button to web reading view

Adds a delete route and handler to the web UI so documents can be
removed directly from the reading page. Uses CSRF-protected POST with a
browser confirmation dialog. Styled with a danger accent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 00:08:45 -07:00
parent 940993a2e3
commit ed3a547e54
3 changed files with 22 additions and 0 deletions

View File

@@ -70,6 +70,7 @@ func (s *Server) RegisterRoutes(r chi.Router) {
r.Get("/d/{slug}", s.handleRead)
r.Post("/d/{slug}/read", s.handleMarkRead)
r.Post("/d/{slug}/unread", s.handleMarkUnread)
r.Post("/d/{slug}/delete", s.handleDelete)
r.Post("/logout", s.handleLogout)
})
}
@@ -176,3 +177,11 @@ func (s *Server) handleMarkUnread(w http.ResponseWriter, r *http.Request) {
}
http.Redirect(w, r, "/", http.StatusFound)
}
func (s *Server) handleDelete(w http.ResponseWriter, r *http.Request) {
slug := chi.URLParam(r, "slug")
if err := s.db.DeleteDocument(slug); err != nil {
s.logger.Error("failed to delete document", "slug", slug, "error", err)
}
http.Redirect(w, r, "/", http.StatusFound)
}