From 66bbb07589921e2eedc97d4a96c6cf810e825013 Mon Sep 17 00:00:00 2001 From: hojooo Date: Wed, 20 May 2026 11:21:33 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EA=B7=B8=EB=9E=98=ED=94=84=20?= =?UTF-8?q?=EB=82=AE=EC=9D=80=20=EC=88=AB=EC=9E=90=EA=B0=80=20=ED=95=98?= =?UTF-8?q?=EB=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/OverviewPage.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/OverviewPage.tsx b/src/pages/OverviewPage.tsx index 09d78a5..ba3954b 100644 --- a/src/pages/OverviewPage.tsx +++ b/src/pages/OverviewPage.tsx @@ -42,6 +42,7 @@ export function OverviewPage() { }); const selectedMetricLabel = dailyUserMetricOptions.find((option) => option.value === selectedMetric)?.label ?? "방문자"; const chartData = toChartData(dailyUserMetricsQuery.data?.dailyMetrics, selectedMetric); + const chartMaxValue = resolveChartMaxValue(chartData); return (
@@ -104,7 +105,7 @@ export function OverviewPage() { yField="value" height={320} shapeField="smooth" - scale={{ y: { domainMin: 0, nice: true } }} + scale={{ y: { domain: [0, chartMaxValue] } }} axis={{ y: { labelFormatter: (value: string) => `${value}명` } }} interaction={{ tooltip: { marker: false } }} style={{ lineWidth: 2 }} @@ -122,3 +123,8 @@ function toChartData(metrics: AdminDailyUserMetricRes[] = [], metricKey: DailyUs value: metric[metricKey] })); } + +function resolveChartMaxValue(data: { value: number }[]) { + const maxValue = Math.max(0, ...data.map((item) => item.value)); + return maxValue > 0 ? maxValue : 1; +}