fix: Item charts

This commit is contained in:
Brennan Wilkes 2026-01-28 10:58:20 -08:00
parent 59e043307e
commit 942359cc35

View file

@ -73,14 +73,24 @@ function computeSuggestedY(values) {
if (n > max) max = n; if (n > max) max = n;
} }
// base padding like before
const range = max - min; const range = max - min;
const pad = range === 0 ? Math.max(1, min * 0.05) : range * 0.08; const pad = range === 0 ? Math.max(1, min * 0.05) : range * 0.08;
const rawMin = Math.max(0, min - pad); let suggestedMin = Math.max(0, min - pad);
const rawMax = max + pad; let suggestedMax = max + pad;
const suggestedMin = Math.floor(rawMin / 10) * 10; // NEW: ensure at least $10 of vertical range
const suggestedMax = Math.ceil(rawMax / 10) * 10; const MIN_RANGE = 10;
if (suggestedMax - suggestedMin < MIN_RANGE) {
const mid = (suggestedMin + suggestedMax) / 2;
suggestedMin = mid - MIN_RANGE / 2;
suggestedMax = mid + MIN_RANGE / 2;
if (suggestedMin < 0) {
suggestedMax -= suggestedMin; // shift up
suggestedMin = 0;
}
}
return { suggestedMin, suggestedMax }; return { suggestedMin, suggestedMax };
} }
@ -541,13 +551,7 @@ export async function renderItem($app, skuInput) {
}, },
scales: { scales: {
x: { ticks: { maxRotation: 0, autoSkip: true, maxTicksLimit: 12 }, grid: { display: false } }, x: { ticks: { maxRotation: 0, autoSkip: true, maxTicksLimit: 12 }, grid: { display: false } },
y: { y: { ...ySug, ticks: { callback: (v) => `$${Number(v).toFixed(0)}` } },
...ySug,
ticks: {
stepSize: 10,
callback: (v) => `$${Number(v).toFixed(0)}`,
},
},
}, },
}, },
}); });