diff --git a/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx b/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx index 653fe6e942..3f8fde748c 100644 --- a/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx +++ b/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx @@ -31,6 +31,16 @@ export const StepTime = (props: { const [time, setTime] = useState(''); const { step } = props; + const getDelay = () => { + if (step.startedAt && step.endedAt && time) { + return null; + } + if (step.startedAt && step.endedAt) { + return 1; + } + return 1000; + }; + const calculate = useCallback(() => { if (!step.startedAt) { setTime(''); @@ -49,9 +59,8 @@ export const StepTime = (props: { setTime(humanizeDuration(formatted, { round: true })); }, [step.endedAt, step.startedAt]); - useMountEffect(() => calculate()); - - useInterval(() => !step.endedAt && calculate(), 1000); + useMountEffect(calculate); + useInterval(calculate, getDelay()); return {time}; }; diff --git a/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx b/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx index b5fffe802f..96f0d9d865 100644 --- a/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx +++ b/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx @@ -73,7 +73,7 @@ export const TaskSteps = (props: TaskStepsProps) => { }; return ( - +