Spaces:
Running
Running
"use client" | |
import { CircularProgressbar, buildStyles } from "react-circular-progressbar" | |
import "react-circular-progressbar/dist/styles.css" | |
export function ProgressBar ({ | |
className, | |
progressPercentage, | |
text | |
}: { | |
className?: string | |
progressPercentage?: number | |
text?: string | |
}) { | |
return ( | |
<div className={className}> | |
<CircularProgressbar | |
// doc: https://www.npmjs.com/package/react-circular-progressbar | |
value={progressPercentage || 0} | |
// Text to display inside progressbar. Default: ''. | |
text={text || ""} | |
// Width of circular line relative to total width of component, a value from 0-100. Default: 8. | |
strokeWidth={8} | |
// As a convenience, you can use buildStyles to configure the most common style changes: | |
styles={buildStyles({ | |
// Rotation of path and trail, in number of turns (0-1) | |
rotation: 0, | |
// Whether to use rounded or flat corners on the ends - can use 'butt' or 'round' | |
strokeLinecap: 'round', | |
// Text size | |
textSize: '20px', | |
// How long animation takes to go from one percentage to another, in seconds | |
pathTransitionDuration: 0.1, | |
// Can specify path transition in more detail, or remove it entirely | |
// pathTransition: 'none', | |
// Colors | |
// pathColor: `rgba(62, 152, 199, ${percentage / 100})`, | |
textColor: '#f88', | |
trailColor: '#d6d6d6', | |
backgroundColor: '#3e98c7', | |
})} | |
/> | |
</div> | |
) | |
} |