diff --git a/Client/src/Pages/PageSpeed/Details/index.css b/Client/src/Pages/PageSpeed/Details/index.css index bf6c62c25..96cd787c5 100644 --- a/Client/src/Pages/PageSpeed/Details/index.css +++ b/Client/src/Pages/PageSpeed/Details/index.css @@ -58,7 +58,8 @@ .page-speed-details .MuiPieArcLabel-faded { fill: rgba(0, 0, 0, 0.3); } -.page-speed-details .pie-label { +.page-speed-details .pie-label, +.page-speed-details .pie-value-label { transition: all 400ms ease; } diff --git a/Client/src/Pages/PageSpeed/Details/index.jsx b/Client/src/Pages/PageSpeed/Details/index.jsx index 7ca8a1746..f5f376010 100644 --- a/Client/src/Pages/PageSpeed/Details/index.jsx +++ b/Client/src/Pages/PageSpeed/Details/index.jsx @@ -78,6 +78,37 @@ const PieCenterLabel = ({ value, color }) => { ); }; +const PieValueLabel = ({ value, startAngle, endAngle, color, highlighted }) => { + const { width, height } = useDrawingArea(); + + // Compute the midpoint angle in radians + const angle = (((startAngle + endAngle) / 2) * Math.PI) / 180; + const radius = height / 3.7; // length from center of the circle to where the text is positioned + + // Calculate x and y positions + const x = Math.sin(angle) * radius; + const y = -Math.cos(angle) * radius; + + return ( + + + +{value} + + + ); +}; + const PageSpeedDetails = () => { const theme = useTheme(); const navigate = useNavigate(); @@ -433,6 +464,16 @@ const PageSpeedDetails = () => { }} > + {pieData?.map((pie) => ( + + ))} Performance