diff --git a/src/components/call-desk/active-call-card.tsx b/src/components/call-desk/active-call-card.tsx index 6d97ac9..4e9419a 100644 --- a/src/components/call-desk/active-call-card.tsx +++ b/src/components/call-desk/active-call-card.tsx @@ -41,7 +41,7 @@ const formatDuration = (seconds: number): string => { export const ActiveCallCard = ({ lead, callerPhone, missedCallId, onCallComplete }: ActiveCallCardProps) => { const { user } = useAuth(); - const { callState, callDuration, callUcid, isMuted, isOnHold, answer, reject, hangup, toggleMute, toggleHold } = useSip(); + const { callState, callDuration, callUcid, isMuted, isOnHold, answer, hangup, toggleMute, toggleHold } = useSip(); const setCallState = useSetAtom(sipCallStateAtom); const setCallerNumber = useSetAtom(sipCallerNumberAtom); const setCallUcid = useSetAtom(sipCallUcidAtom); @@ -248,7 +248,7 @@ export const ActiveCallCard = ({ lead, callerPhone, missedCallId, onCallComplete
- + {/* Decline hidden per product — reject returns call to Ozonetel queue */}
); diff --git a/src/pages/all-leads.tsx b/src/pages/all-leads.tsx index 3f4a57c..c766ddf 100644 --- a/src/pages/all-leads.tsx +++ b/src/pages/all-leads.tsx @@ -146,9 +146,7 @@ export const AllLeadsPage = () => { result = result.filter((l) => l.assignedAgent === user.name); } if (campaignFilter) { - result = campaignFilter === '__none__' - ? result.filter((l) => !l.campaignId) - : result.filter((l) => l.campaignId === campaignFilter); + result = result.filter((l) => l.campaignId === campaignFilter); } return result; }, [sortedLeads, myLeadsOnly, user.name, campaignFilter]); @@ -320,17 +318,6 @@ export const AllLeadsPage = () => { ); })} - )} diff --git a/src/pages/appointments-v2.tsx b/src/pages/appointments-v2.tsx index 5fdd616..554727f 100644 --- a/src/pages/appointments-v2.tsx +++ b/src/pages/appointments-v2.tsx @@ -2,7 +2,7 @@ import { useEffect, useMemo, useState } from 'react'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { - faMagnifyingGlass, faPenToSquare, faEye, faBell, faXmark, + faMagnifyingGlass, faPenToSquare, faEye, faXmark, faCalendarCheck, faUserDoctor, faBuilding, faStethoscope, faNotesMedical, } from '@fortawesome/pro-duotone-svg-icons'; import { faIcon } from '@/lib/icon-wrapper'; @@ -77,9 +77,6 @@ const QUERY = `{ appointments(first: 200, orderBy: [{ scheduledAt: DescNullsLast doctor { id fullName { firstName lastName } } } } } }`; -const formatDateTime = (iso: string): string => - `${formatDateOnly(iso)}, ${formatTimeOnly(iso)}`; - const getPatientName = (appt: AppointmentRecord): string => { if (!appt.patient?.fullName) return 'Unknown'; return `${appt.patient.fullName.firstName} ${appt.patient.fullName.lastName}`.trim() || 'Unknown'; @@ -88,25 +85,11 @@ const getPatientName = (appt: AppointmentRecord): string => { const getPhone = (appt: AppointmentRecord): string => appt.patient?.phones?.primaryPhoneNumber ?? ''; -const isUpcoming = (appt: AppointmentRecord): boolean => { - if (appt.status !== 'SCHEDULED' && appt.status !== 'CONFIRMED') return false; - if (!appt.scheduledAt) return false; - return new Date(appt.scheduledAt).getTime() >= Date.now(); -}; - // Can edit/reschedule: anything that isn't completed or cancelled const canEdit = (appt: AppointmentRecord): boolean => { return appt.status !== 'COMPLETED' && appt.status !== 'CANCELLED' && appt.status !== 'NO_SHOW'; }; -const buildReminderMessage = (appt: AppointmentRecord): string => { - const name = getPatientName(appt); - const doctor = appt.doctorName ?? 'your doctor'; - const date = appt.scheduledAt ? formatDateTime(appt.scheduledAt) : 'your scheduled time'; - const branch = appt.clinic?.clinicName ?? 'our clinic'; - return `Hi ${name}, this is a reminder for your appointment with ${doctor} on ${date} at ${branch}. Please confirm or call us to reschedule.`; -}; - // ── Detail Panel ───────────────────────────────────────────────── const DetailRow = ({ icon, label, value }: { icon: any; label: string; value: string }) => (
@@ -533,13 +516,6 @@ export const AppointmentsPageV2 = () => { setRescheduleOpen(false); }; - const handleSendReminder = (appt: AppointmentRecord) => { - const phone = getPhone(appt); - if (!phone) return; - const msg = encodeURIComponent(buildReminderMessage(appt)); - window.open(`https://wa.me/91${phone}?text=${msg}`, '_blank'); - notify.success('Reminder', `WhatsApp opened for ${getPatientName(appt)}`); - }; const handleRescheduleSaved = () => { setRescheduleOpen(false); @@ -607,7 +583,6 @@ export const AppointmentsPageV2 = () => { - {(appt) => { @@ -615,7 +590,6 @@ export const AppointmentsPageV2 = () => { const phone = getPhone(appt); const statusLabel = STATUS_LABELS[appt.status ?? ''] ?? appt.status ?? '—'; const statusColor = STATUS_COLORS[appt.status ?? ''] ?? 'gray'; - const upcoming = isUpcoming(appt); const isSelected = selectedAppt?.id === appt.id; return ( @@ -667,21 +641,6 @@ export const AppointmentsPageV2 = () => { - {/* Reminder */} - - {upcoming ? ( - - ) : ( - - )} - );