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:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user