From 4a48d08a1997c27b426e72fc9e0d710f1a82f378 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Mon, 24 Aug 2026 18:21:58 +0000 Subject: [PATCH] Analytics layout: larger charts with natural-width cap, one-line totals - Charts grow to a larger intrinsic size (1052x174) and never upscale past it; centered with equal side margins above the cap, full width below, svg always within page bounds; overflow visible so wider fonts don't clip at the viewBox edge - Totals row aligns its left edge with the charts and shrinks (gap first, then font) via container units to always stay on one line --- frontend/src/AnalyticsView.vue | 18 ++++++++++++++---- frontend/src/VisitorCharts.vue | 15 ++++++++++++++- frontend/src/analytics/chart.js | 4 ++-- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/frontend/src/AnalyticsView.vue b/frontend/src/AnalyticsView.vue index 504a5bb..8d885ad 100644 --- a/frontend/src/AnalyticsView.vue +++ b/frontend/src/AnalyticsView.vue @@ -26,6 +26,11 @@ import TrailLink from './TrailLink.vue' import VisitorCell from './VisitorCell.vue' import TransitionGraph from './TransitionGraph.vue' import VisitorCharts from './VisitorCharts.vue' +import { VIEW_W } from './analytics/chart.js' + +// Same centering margin as the charts, so the totals row's left edge +// aligns with the chart svg above the natural width. +const CHART_MARGIN = `max(0px, calc(50% - ${VIEW_W / 2}px))` const ABUSE_MAX_LINES = 5 @@ -148,7 +153,7 @@ const abuseRows = computed(() => formatAbuseRows(rangeData.value?.abuse || [], c

⚠️ {{ error }}

loading…