SSR-Renderer entfernt, Fokus auf SPA + JSON-API

Die Kernlogik bleibt von der Schnittstelle getrennt; der letzte SSR-Stand
liegt im Tag ssr-archiv. Die Moderationsseite bleibt, liefert Fehler aber
als JSON.

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-26 21:28:34 +02:00
co-authored by Claude Opus 5.5
parent eccddcebe6
commit c6ab082f8c
26 changed files with 50 additions and 2603 deletions
+3 -6
View File
@@ -1,8 +1,6 @@
"use strict";
// Accept: application/json markiert diese Aufrufe als API-Zugriffe. Endpunkte,
// die auch ein Browser-Formular bedienen (siehe wantsJSON im Backend),
// antworten daraufhin mit JSON statt mit einem Redirect auf eine HTML-Seite.
// Die API antwortet ausschließlich mit JSON; der Accept-Header sagt das explizit.
const JSON_HEADERS = { Accept: "application/json" };
const api = {
@@ -230,9 +228,8 @@ function setupBump(el, e) {
// setupReport verdrahtet den Melden-Aufklapper. Der <details>-Zweischritt
// (öffnen -> absenden) verhindert versehentliche Meldungen und hält das Grund-
// Feld eingeklappt. Das Formular ist ein echtes method=post-Form, damit es
// später auch ohne JS funktioniert; hier fangen wir den Submit nur ab, um
// Inline-Feedback zu geben statt die Seite neu zu laden. stopPropagation, weil
// Feld eingeklappt. Der Submit wird abgefangen, um Inline-Feedback zu geben
// statt die Seite neu zu laden. stopPropagation, weil
// die Karte sonst bei jedem Klick nach /e/{pid} navigieren würde.
function setupReport(el, pid) {
const details = el.querySelector("details.report");