import React, { useState, useEffect } from 'react'; import { Duration } from 'luxon'; import { durationFormatted, convertTimestampToUtcTimestamp } from 'App/date'; interface Props { startTime: any; className?: string; } function Counter({ startTime, className }: Props) { let intervalId: NodeJS.Timer; const [duration, setDuration] = useState( convertTimestampToUtcTimestamp(new Date().getTime()) - convertTimestampToUtcTimestamp(startTime), ); const formattedDuration = durationFormatted(Duration.fromMillis(duration)); useEffect(() => { if (!intervalId) { intervalId = setInterval(() => { setDuration(duration + 1000); }, 1000); } return () => clearInterval(intervalId); }, [duration]); return