import { a, to, useSpring } from "@react-spring/web"; import classNames from "classnames"; import { Icon, Icons } from "@/components/Icon"; import { Transition } from "@/components/utils/Transition"; export interface StatusCircle { type: "loading" | "success" | "error" | "noresult" | "waiting"; percentage?: number; } export interface StatusCircleLoading extends StatusCircle { type: "loading"; percentage: number; } function statusIsLoading( props: StatusCircle | StatusCircleLoading ): props is StatusCircleLoading { return props.type === "loading"; } export function StatusCircle(props: StatusCircle | StatusCircleLoading) { const [spring] = useSpring( () => ({ percentage: statusIsLoading(props) ? props.percentage : 0, }), [props] ); return (
`${val} 100`)} r="25%" cx="50%" cy="50%" fill="transparent" stroke="currentColor" className="transition-[strokeDasharray]" />
); }