import React, { useEffect, useMemo, useState } from "react"; import { Label, Title } from "../../tremor/Text"; import { BarSkeleton } from "./bar"; import { LineSkeleton } from "./line"; import { MetricSkeleton } from "./metric"; const getSkeleton = (id: string) => { switch (id) { case "metric": return MetricSkeleton; case "bar": return BarSkeleton; case "line": return LineSkeleton; case "area": return LineSkeleton; case "pie": return BarSkeleton; case "matrix": return BarSkeleton; case "table": return BarSkeleton; case "map": return BarSkeleton; case "sankey": return BarSkeleton; default: return BarSkeleton; } } const ProgressBar = ({ className }: { className?: string }) => { const [progress, setProgress] = useState(0); useEffect(() => { const interval = setInterval(() => { setProgress((prevProgress) => { if (prevProgress >= 99) { clearInterval(interval); return 99; } if (prevProgress >= 80) { return Math.min(100, prevProgress + 1); } if (prevProgress >= 60) { return Math.min(100, prevProgress + 2); } if (prevProgress >= 40) { return Math.min(100, prevProgress + 3); } return prevProgress + 4; }); }, 500); return () => { clearInterval(interval); }; }, []); return (