import { useMemo } from 'react' import './PieChart.css' const RADIUS = 10 const CIRCUMFERENCE = 2 * Math.PI * RADIUS function PieChart({ segments }) { const computedSegments = useMemo(() => { const total = segments.reduce((acc, seg) => acc + seg.value, 0) let currentOffset = 0 return segments.map(seg => { const fraction = seg.value / total const segmentLength = fraction * CIRCUMFERENCE const offset = currentOffset currentOffset += segmentLength return { ...seg, segmentLength, offset } }) }, [segments]) return (
{computedSegments.map((seg, i) => ( ))}
{segments.map((seg, i) => (
{seg.label}: {seg.value}
))}
) } export default PieChart