Statistik: tägliche SVG-Diagramme statt CSS-Balken

Der Server rendert einmal täglich (0:01 Uhr deutscher Zeit) Liniendiagramme
für Aufrufe, Netze und Beiträge pro Tag sowie gestapelte Säulen (Threads/
Antworten) für den Ø pro Wochentag und pro Tageszeit, je schmal (600) und
breit (1200), ausgeliefert über /api/stats/charts. Hovern zeigt den
Datenpunkt in einer Infozeile und markiert ihn mit einer senkrechten Linie.

Die Statistik-Seite wird auf breiten Bildschirmen bis 1200 px breit.
"Netze nach Betreiber" entfällt; neu ist die Kennzahl Ø Beiträge/Tag der
letzten 30 Tage.

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-10-06 20:13:30 +02:00
co-authored by Claude Opus 5.5
parent 047ad392d9
commit 07a2b64eff
9 changed files with 881 additions and 137 deletions
+13 -2
View File
@@ -79,8 +79,19 @@ export interface StatsDetail {
votes: { yes: number; no: number };
impressions_total: number;
visitors_total: number;
daily: { day: string; impressions: number; visitors: number }[];
top_asns: { asn: string; hits: number; networks: number }[];
entries_per_day_30: number;
}
// Fertig gerenderte SVG-Diagramme der Statistik-Seite (einmal täglich,
// charts.go), je schmal (600) und breit (1200).
export interface ChartPair {
narrow: string;
wide: string;
}
export interface StatsCharts {
generated: number;
charts: Record<"impressions" | "networks" | "entries" | "weekday" | "hour", ChartPair>;
}
// Fehlerformat: {"error": {...}}, bei manchen Fehlern mit Zusatzfeldern