import React, { useMemo } from 'react';
// Fix #10: Memoized graph with computed max
const MiniGraph = React.memo(({ data }) => {
const maxVal = useMemo(() => {
let m = 10;
for (let i = 0; i < data.length; i++) {
if (data[i].baseline > m) m = data[i].baseline;
if (data[i].memory > m) m = data[i].memory;
}
return m;
}, [data]);
if (data.length < 2) {
return (
WAITING FOR DATA...
);
}
const width = 100;
const height = 100;
const makePath = (key) => {
let points = '';
for (let i = 0; i < data.length; i++) {
const x = (i / (data.length - 1)) * width;
const y = height - (data[i][key] / maxVal) * height;
if (i > 0) points += ' ';
points += `${x},${y}`;
}
return points;
};
return (
);
});
MiniGraph.displayName = 'MiniGraph';
export default MiniGraph;