import { useMemo } from "react"; import { faPhoneMissed } from "@fortawesome/pro-duotone-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Badge } from "@/components/base/badges/badges"; import { ClickToCallButton } from "@/components/call-desk/click-to-call-button"; import type { Call } from "@/types/entities"; const getTimeSince = (dateStr: string | null): string => { if (!dateStr) return "—"; const mins = Math.floor((Date.now() - new Date(dateStr).getTime()) / 60000); if (mins < 1) return "Just now"; if (mins < 60) return `${mins}m ago`; const hours = Math.floor(mins / 60); if (hours < 24) return `${hours}h ago`; return `${Math.floor(hours / 24)}d ago`; }; interface MissedQueueProps { calls: Call[]; } export const MissedQueue = ({ calls }: MissedQueueProps) => { const missedCalls = useMemo(() => { return calls .filter((c) => c.callStatus === "MISSED") .sort((a, b) => { const dateA = a.startedAt ? new Date(a.startedAt).getTime() : 0; const dateB = b.startedAt ? new Date(b.startedAt).getTime() : 0; return dateB - dateA; }) .slice(0, 15); }, [calls]); return (
No missed calls