| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- import { memo } from 'react'
 
- import cn from '@/utils/classnames'
 
- type ProgressCircleProps = {
 
-   className?: string
 
-   percentage?: number
 
-   size?: number
 
-   circleStrokeWidth?: number
 
-   circleStrokeColor?: string
 
-   circleFillColor?: string
 
-   sectorFillColor?: string
 
- }
 
- const ProgressCircle: React.FC<ProgressCircleProps> = ({
 
-   className,
 
-   percentage = 0,
 
-   size = 12,
 
-   circleStrokeWidth = 1,
 
-   circleStrokeColor = 'stroke-components-progress-brand-border',
 
-   circleFillColor = 'fill-components-progress-brand-bg',
 
-   sectorFillColor = 'fill-components-progress-brand-progress',
 
- }) => {
 
-   const radius = size / 2
 
-   const center = size / 2
 
-   const angle = (percentage / 101) * 360
 
-   const radians = (angle * Math.PI) / 180
 
-   const x = center + radius * Math.cos(radians - Math.PI / 2)
 
-   const y = center + radius * Math.sin(radians - Math.PI / 2)
 
-   const largeArcFlag = percentage > 50 ? 1 : 0
 
-   const pathData = `
 
-     M ${center},${center}
 
-     L ${center},${center - radius}
 
-     A ${radius},${radius} 0 ${largeArcFlag} 1 ${x},${y}
 
-     Z
 
-   `
 
-   return (
 
-     <svg
 
-       width={size + circleStrokeWidth}
 
-       height={size + circleStrokeWidth}
 
-       viewBox={`0 0 ${size + circleStrokeWidth} ${size + circleStrokeWidth}`}
 
-       className={className}
 
-     >
 
-       <circle
 
-         className={cn(
 
-           circleFillColor,
 
-           circleStrokeColor,
 
-         )}
 
-         cx={center + circleStrokeWidth / 2}
 
-         cy={center + circleStrokeWidth / 2}
 
-         r={radius}
 
-         strokeWidth={circleStrokeWidth}
 
-       />
 
-       <path
 
-         className={cn(sectorFillColor)}
 
-         d={pathData}
 
-         transform={`translate(${circleStrokeWidth / 2}, ${circleStrokeWidth / 2})`}
 
-       />
 
-     </svg>
 
-   )
 
- }
 
- export default memo(ProgressCircle)
 
 
  |