import { ProgressBar } from "@cloudscape-design/components"; import { useEffect, useState } from "react"; export interface ICountdownBarProps { timeSeconds: number; onCancel?: () => void; onExpiry?: () => void; } export const CountdownBar = ({ timeSeconds, onCancel, onExpiry }: ICountdownBarProps) => { const [ countdown, setCountdown ] = useState(timeSeconds); useEffect(() => { setCountdown(countdown - 1); }, []); useEffect(() => { if (countdown === 0) { onExpiry ? onExpiry(): null; return; } const timer = setTimeout(() => { setCountdown(countdown - 1); }, 1000); return () => clearTimeout(timer); }, [countdown]); return ( ); }