34 lines
761 B
JavaScript
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} />;
|
|
}
|