MCPcopy
hub / github.com/slowlydev/f1-dash / SpeedGauge

Function SpeedGauge

dashboard/src/components/complications/SpeedGauge.tsx:20–60  ·  view source on GitHub ↗
({
	value,
	max,
	min,
	size = 50,
	strokeWidth = 5,
	startAngle = -130,
	endAngle = 130,
	guideClassName,
	progressClassName,
	className,
}: Props)

Source from the content-addressed store, hash-verified

18};
19
20export default function SpeedGauge({
21 value,
22 max,
23 min,
24 size = 50,
25 strokeWidth = 5,
26 startAngle = -130,
27 endAngle = 130,
28 guideClassName,
29 progressClassName,
30 className,
31}: Props) {
32 const progress = value > min ? (value > max ? 100 : ((value - min) / (max - min)) * 100) : 0;
33
34 const finalEndAngle = startAngle + (endAngle - startAngle) * (progress / 100);
35
36 return (
37 <svg
38 xmlns="http://www.w3.org/2000/svg"
39 width={size}
40 height={size}
41 viewBox={`0 0 ${size} ${size}`}
42 fill="none"
43 className={clsx("absolute", className)}
44 >
45 <path
46 d={describeArc(size / 2, size / 2, size / 2 - strokeWidth / 2, startAngle, endAngle)}
47 strokeWidth={strokeWidth}
48 className={guideClassName}
49 strokeLinecap="round"
50 />
51
52 <path
53 d={describeArc(size / 2, size / 2, size / 2 - strokeWidth / 2, startAngle, finalEndAngle)}
54 strokeWidth={strokeWidth}
55 className={progressClassName}
56 strokeLinecap="round"
57 />
58 </svg>
59 );
60}

Callers

nothing calls this directly

Calls 1

describeArcFunction · 0.90

Tested by

no test coverage detected