diff --git a/apps/frontend/src/features/analysis/AnalysisPage.tsx b/apps/frontend/src/features/analysis/AnalysisPage.tsx index e36d3a3..1539725 100644 --- a/apps/frontend/src/features/analysis/AnalysisPage.tsx +++ b/apps/frontend/src/features/analysis/AnalysisPage.tsx @@ -130,6 +130,24 @@ export function AnalysisPage({ currency }: { currency: string }) { .map(({ date, ...rest }) => ({ date: formatShortDate(date), ...rest })); }, [beloDaily, blueDaily, bnaDaily]); + const comparisonDomain = useMemo(() => { + if (comparisonData.length === 0) return [0, 0] as [number, number]; + let min = Infinity; + let max = -Infinity; + for (const d of comparisonData) { + for (const key of ["BELO", "BLUE", "BNA"] as const) { + const value = d[key]; + if (value === undefined) continue; + if (value < min) min = value; + if (value > max) max = value; + } + } + if (!Number.isFinite(min) || !Number.isFinite(max)) + return [0, 0] as [number, number]; + const range = max - min; + return [min - range * 0.2, max + range * 0.2] as [number, number]; + }, [comparisonData]); + const { yDomain, minBuyValue, maxBuyValue, avgBuyValue } = useMemo(() => { if (chartData.length === 0) return { @@ -480,6 +498,7 @@ export function AnalysisPage({ currency }: { currency: string }) { `$${priceFormatter.format(v)}` } width={80} + domain={comparisonDomain} /> [