This countdown starts automatically when the page loads.
Duration: 10 seconds
This countdown updates 10 times per second (100ms interval).
Duration: 5 seconds
// Import the hook
import { useCountdown } from "@/hooks/use-countdown";
// Basic usage
const {
duration,
setDuration,
status,
remainingSeconds,
start,
pause,
reset
} = useCountdown({
duration: 30,
autoStart: false,
tickIntervalDelay: 1000
});
// Check status
const isRunning = status === "running";
const isCompleted = status === "completed";
// Format time as MM:SS
const formattedTime = `${Math.floor(remainingSeconds / 60)
.toString()
.padStart(2, '0')}:${(remainingSeconds % 60)
.toString()
.padStart(2, '0')}`;