PageSourceSearch

https://vht.ai/assets/AppointmentDetail-J11-H1Is.js

js vht.ai collected 2026-10-05 13:16:21 UTC 4,580 bytes, 1 lines download raw bytes

1import{h as x,u,j as e}from"./react-vendor-DuanA9jM.js";import{aL as j,k as s,w as o,C as g,d as N,e as f,B as v,f as C,$ as b,aN as y,aO as l,aP as w,o as A}from"./index-C5q0TaF9.js";import{S as k}from"./separator-BcL8so9z.js";import"./pdf-vendor-Bjqeze7v.js";import"./ui-vendor-Bb6GvRc1.js";import"./chart-vendor-CP7R5S7C.js";import"./form-vendor-DsvdbqT8.js";import"./motion-vendor-B1Dv_HZR.js";import"./date-vendor-IjrnU_nu.js";const P={"apt-1":{id:"apt-1",providerId:"prov-1",providerName:"Dr. Sarah Johnson",providerImage:"https://i.pravatar.cc/150?img=32",specialty:"Cardiologist",date:"2025-05-28",time:"10:00 AM",endTime:"10:30 AM",duration:30,status:"confirmed",type:"Video Consultation",location:"Virtual",notes:"Please be ready 5 minutes before the appointment time. Have your recent blood pressure readings available to discuss.",reason:"Follow-up on heart medication"},"apt-2":{id:"apt-2",providerId:"prov-2",providerName:"Dr. Michael Chen",providerImage:"https://i.pravatar.cc/150?img=11",specialty:"General Practitioner",date:"2025-06-03",time:"2:30 PM",endTime:"3:15 PM",duration:45,status:"pending",type:"In-Person Visit",location:"Health Center, 123 Medical Dr, Suite 300",notes:"Please arrive 15 minutes early to complete paperwork. Bring your insurance card and ID.",reason:"Annual physical examination"}};function L(){const{appointmentId:n}=x(),r=u(),{toast:a}=j(),t=n?P[n]:null,i=()=>{r("/member/appointments")},c=()=>{a({title:"Reschedule requested",description:"You will be contacted to confirm a new appointment time."})},d=()=>{a({title:"Appointment cancellation requested",description:"Your cancellation request has been submitted."}),r("/member/appointments")},m=()=>{a({title:"Joining video call",description:"Connecting to your healthcare provider..."})};if(!t)return e.jsxs("div",{className:"text-center py-12",children:[e.jsx("h2",{className:"text-xl font-semibold",children:"Appointment not found"}),e.jsx("p",{className:"mt-2",children:"The appointment you're looking for doesn't exist or you don't have permission to view it."}),e.jsxs(s,{onClick:i,className:"mt-4",children:[e.jsx(o,{className:"mr-2 h-4 w-4"}),"Back to Appointments"]})]});const p=h=>{switch(h){case"confirmed":return"bg-green-100 text-green-800 hover:bg-green-200";
1case"pending":return"bg-yellow-100 text-yellow-800 hover:bg-yellow-200";case"cancelled":return"bg-red-100 text-red-800 hover:bg-red-200";default:return"bg-muted text-foreground hover:bg-muted/70"}};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsxs(s,{variant:"ghost",onClick:i,className:"mr-2",children:[e.jsx(o,{className:"h-4 w-4 mr-2"}),"Back"]}),e.jsx("h1",{className:"text-2xl font-bold",children:"Appointment Details"})]}),e.jsxs(g,{children:[e.jsx(N,{className:"pb-3",children:e.jsxs("div",{className:"flex justify-between items-start",children:[e.jsxs("div",{children:[e.jsx(f,{className:"text-xl",children:t.providerName}),e.jsx("p",{className:"text-muted-foreground",children:t.specialty})]}),e.jsx(v,{className:p(t.status),children:t.status.charAt(0).toUpperCase()+t.status.slice(1)})]})}),e.jsxs(C,{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx(b,{className:"h-4 w-4 mr-2 text-muted-foreground"}),e.jsx("span",{children:new Date(t.date).toLocaleDateString()})]}),e.jsxs("div",{className:"flex items-center",children:[e.jsx(y,{className:"h-4 w-4 mr-2 text-muted-foreground"}),e.jsxs("span",{children:[t.time," - ",t.endTime," (",t.duration," minutes)"]})]}),e.jsxs("div",{className:"flex items-center",children:[t.type==="Video Consultation"?e.jsx(l,{className:"h-4 w-4 mr-2 text-muted-foreground"}):e.jsx(w,{className:"h-4 w-4 mr-2 text-muted-foreground"}),e.jsx("span",{children:t.location})]})]}),e.jsx(k,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1",children:"Reason for Visit"}),e.jsx("p",{className:"text-muted-foreground",children:t.reason})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1",children:"Notes"}),e.jsx("p",{className:"text-muted-foreground",children:t.notes})]})]}),e.jsxs(A,{className:"flex gap-2 pt-2",children:[t.type==="Video Consultation"&&t.status==="confirmed"&&e.jsxs(s,{onClick:m,className:"flex-1",children:[e.jsx(l,{className:"mr-2 h-4 w-4"}),"Join Video Call"]}),e.jsx(s,{variant:"outline",onClick:c,className:"flex-1",children:"Reschedule"}),e.jsx(s,{variant:"ghost",onClick:d,className:"flex-1",children:"Cancel"})]})]})]})}export{L as AppointmentDetail};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.