import { useEffect, useState } from "react"; import { Clock, Pause, Play } from "lucide-react"; import { cn } from "@/lib/utils"; interface CallTimerProps { startTime: Date; initialDuration?: number; isActive?: boolean; className?: string; } export function CallTimer({ startTime, initialDuration = 0, isActive = true, className }: CallTimerProps) { const [elapsed, setElapsed] = useState(initialDuration); useEffect(() => { if (!isActive) return; const interval = setInterval(() => { const now = new Date(); const diff = Math.floor((now.getTime() - new Date(startTime).getTime()) / 1000); setElapsed(diff); }, 1000); return () => clearInterval(interval); }, [startTime, isActive]); const formatTime = (totalSeconds: number): string => { const hours = Math.floor(totalSeconds / 3600); const minutes = Math.floor((totalSeconds % 3600) / 60); const seconds = totalSeconds % 60; if (hours > 0) { return `${hours}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`; } return `${minutes}:${seconds.toString().padStart(2, "0")}`; }; return (