Melden rechts in der Byline jeder Karte, auch anonym

- Melden-Knopf in der Byline aller Beiträge (außer eigenen), Grund-Formular
  darunter; ersetzt den Knopf unter dem fokussierten Beitrag
- /api/entry/{pid}/report öffentlich, 10/min pro IP; ohne Session anonym
  (uid 0), Doppelmeldungen nur für Angemeldete unterdrückt
- Klicks in Formularen öffnen die Karte nicht mehr

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
irrlicht
2026-09-29 18:05:54 +02:00
co-authored by Claude Opus 5.5
parent 80c333cd58
commit 3d2447fe35
8 changed files with 73 additions and 52 deletions
+3 -1
View File
@@ -137,6 +137,9 @@ func routes() http.Handler {
r.Get("/entry/feed/{page}", api(handleFeed))
r.Get("/entry/{pid}/votes", api(handleVotes))
r.Get("/entry/{pid}/thread", api(handleThread))
// Melden darf jeder (anonym ohne Session), gedrosselt pro IP, damit der
// offene Endpunkt kein Spam-Kanal wird.
r.With(limitByIP(10, time.Minute)).Post("/entry/{pid}/report", api(handleReport))
// --- User (öffentlich) ---
r.Get("/u/{username}/info", api(handleUserPage))
@@ -150,7 +153,6 @@ func routes() http.Handler {
r.Post("/entry/{pid}/bump", api(handleBump))
r.Post("/entry/{pid}/edit", api(handleEditEntry))
r.Post("/entry/{pid}/delete", api(handleDeleteEntry))
r.Post("/entry/{pid}/report", api(handleReport))
r.Get("/user/info", api(handleUserInfo))
r.Post("/user/rename", api(handleUserRename))
r.Post("/user/avatar", api(handleSetAvatar))