Files
bodyshop/client/src/components/parts-status-pie/parts-status-pie.component.jsx

34 lines
761 B
JavaScript

import { Pie } from "@nivo/pie";
import React from "react";
export default function PartsStatusPie({ partsList }) {
//const [pieData, setPieData] = useState([]);
const result = partsList
? partsList.reduce((names, name) => {
const val = name || "?";
const count = names[val] || 0;
names[val] = count + 1;
return names;
}, {})
: {};
const pieData = Object.keys(result).map((i) => {
console.log("i", i);
return {
id: i,
label: i,
value: result[i],
};
});
const commonProperties = {
width: 250,
height: 250,
margin: { top: 40, right: 60, bottom: 40, left: 60 },
animate: true,
};
return <Pie {...commonProperties} data={pieData} innerRadius={0.5} />;
}