Path: blob/master/src/packages/frontend/components/fake-progress.tsx
1503 views
import { useEffect, useState } from "react";1import useIsMountedRef from "@cocalc/frontend/app-framework/is-mounted-hook";2import { Progress } from "antd";3import { delay } from "awaiting";45const DELAY = 2;67export default function FakeProgress({ time }) {8const [percent, setPercent] = useState<number>(0);9const isMountedRef = useIsMountedRef();1011useEffect(() => {12(async () => {13let t0 = 0;14while (t0 <= time) {15await delay(DELAY);16if (!isMountedRef.current) return;17t0 += DELAY;18setPercent(Math.round((t0 * 100) / time));19}20})();21}, []);2223return (24<Progress25type="circle"26format={() => null}27percent={percent}28strokeColor={{ "0%": "#108ee9", "100%": "#87d068" }}29/>30);31}323334