PageSourceSearch

https://hudumacna.com/static/js/9840.8d92d2f4.chunk.js

js hudumacna.com collected 2026-10-09 22:39:44 UTC 21,968 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkstudent_management_app=self.webpackChunkstudent_management_app||[]).push([[9840],{14185:(e,t,a)=>{a.d(t,{A:()=>n});var s=a(9950);function r(e,t){let{title:a,titleId:r,...n}=e;return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":r},n),a?s.createElement("title",{id:r},a):null,s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18"}))}const n=s.forwardRef(r)},14776:(e,t,a)=>{a.d(t,{A:()=>n});var s=a(9950);function r(e,t){let{title:a,titleId:r,...n}=e;return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":r},n),a?s.createElement("title",{id:r},a):null,s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Z"}))}const n=s.forwardRef(r)},17818:(e,t,a)=>{a.d(t,{A:()=>r});var s=a(9950);const r=e=>{let{isOpen:t,onSuccess:a}=e;const r=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{t&&!r.current?(r.current=!0,"function"===typeof a&&a()):t||(r.current=!1)},[t,a]),null}},19676:(e,t,a)=>{a.d(t,{Yq:()=>r,n4:()=>o,vv:()=>n});var s=a(69212);const r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"MMM dd, yyyy";if(!e)return"Not set";try{return null!==e&&void 0!==e&&e.toDate?(0,s.GP)(e.toDate(),t):(0,s.GP)(new Date(e),t)}catch(a){return console.error("Error formatting date:",a),"Invalid date"}},n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD";if(void 0===e||null===e)return"$0.00";try{return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}catch(a){return console.error("Error formatting currency:",a),"$0.00"}},o=e=>{if(!e)return"";const t=e.replace(/\D/g,"");return 10===t.length?`(${t.slice(0,3)}) ${t.slice(3,6)}-${t.slice(6)}`:e}},39840:(e,t,a)=>{a.r(t),a.d(t,{default:()=>w});var s=a(9950),r=a(73814),n=a(23849),o=a(56600),l=a(67714),i=a(19676),c=a(48805),d=a(40732),m=a(17818),u=a(37684),h=a(17638),x=a(40648),g=a(71572),p=a(14185),y=a(64112),f=a(2765),v=a(14776),b=a(44414);const j=e=>e?e.split(" ").map(e=>e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():"").join(" "):"N/A",w=()=>{var e,t,a,w,N,A,S;const{studentId:E}=(0,r.g)(),C=(0,r.Zp)(),{showToast:P}=(0,l.d)(),{isPaymentAuthorized:_,authenticate:k,formatTimeRemaining:R}
1=(0,u.bb)(),[T,I]=(0,s.useState)(null),[D,$]=(0,s.useState)(!0),[O,B]=(0,s.useState)(null),[F,M]=(0,s.useState)(!1),[U,L]=(0,s.useState)(null),[z,V]=(0,s.useState)(!1),[W,H]=(0,s.useState)(!1),[K,G]=(0,s.useState)(!1),[J,Y]=(0,s.useState)(""),[q,Z]=(0,s.useState)({amount:"",method:"cash",date:(new Date).toISOString().split("T")[0],notes:""}),Q=Math.max(0,Number(null!==(e=null===T||void 0===T||null===(t=T.paymentDetails)||void 0===t?void 0:t.balance)&&void 0!==e?e:((null===T||void 0===T||null===(a=T.paymentDetails)||void 0===a?void 0:a.totalAmount)||0)-((null===T||void 0===T||null===(w=T.paymentDetails)||void 0===w?void 0:w.totalPaid)||0))),X=(0,s.useCallback)(async()=>{if(!E)return B("No student ID provided"),void $(!1);try{const e=(0,n.H9)(o.db,"students",E),t=await(0,n.x7)(e);if(t.exists()){const e={id:t.id,...t.data()};I(e),Z(e=>({...e,amount:""}))}else B("Student not found")}catch(e){console.error("Error fetching student:",e),B(e.message||"Error fetching student details")}finally{$(!1)}},[E]);(0,s.useEffect)(()=>{X()},[X]);const ee=e=>{const{name:t,value:a}=e.target;Z(e=>({...e,[t]:a}))},te=async()=>{const e=parseFloat(q.amount);if(isNaN(e)||e<=0)P("Please enter a valid payment amount","error");else{V(!0);try{const t=`REC-${Date.now()}-${Math.floor(1e3*Math.random())}`;Y(t);const a=await(0,o.Ij)("recordStudentPayment",{studentId:E,amount:e,method:q.method,notes:q.notes||"",paymentDate:q.date,receiptNumber:t}),s=a.totalAmount,r=a.totalPaid,n=a.remainingBalance;G(!0),P(`Payment of ${(0,i.vv)(e)} recorded successfully`,"success"),(0,h.pS)({studentId:E,studentName:j(T.fullName),studentEmail:T.email,amount:e,receiptNumber:t,date:q.date,paymentMethod:q.method,courseName:(null===T||void 0===T?void 0:T.courseType)||"CNA Training Program",totalAmount:s,totalPaid:r,remainingBalance:n}).catch(e=>{console.error("\u26a0\ufe0f Failed to send receipt email (non-blocking):",e)}),I(e=>({...e,paymentDetails:{...e.paymentDetails,totalPaid:r,balance:n,paymentStatus:n<=0?"paid":r>0?"partial":"pending"}}))}catch(t){console.error("Error recording payment:",t),P(`Error recording payment: ${t.message}`,"error")}finally{V(!1)}}};return D?(0,b.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(d.A,{size:"large"}),(0,b.jsx)("p",{className:"mt-4 text-gray-600",children:"Loading student details..."})]})}):O?(0,b.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow p-6 max-w-md w-full mx-4",children:[(0,b.jsxs)("div",{className:"flex items-center space-x-4 mb-4",children:[(0,b.jsx)(g.A,{className:"h-10 w-10 text-red-500"}),(0,b.jsx)("h2",{className:"text-xl font-bold text-gray-900",children:"Error Loading Student"})]}),(0,b.jsx)("p",{className:"text-red-600 mb-4",children:O}),(0,b.jsx)(c.$,{onClick:()=>C("/dashboard"),children:"Return to Dashboard"})]})}):T?(0,b.jsxs)("div",{className:"min-h-screen bg-gray-50",children:[(0,b.jsx)("div",{className:"bg-white shadow-sm border-b border-gray-200",children:(0,b.jsx)("div",{className:"max-w-4xl mx-auto px-4 py-4",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,b.jsx)("button",{onClick:()=>C(-1),className:"p-2 rounded-full hover:bg-gray-100 transition-colors","aria-label":"Back",children:(0,b.jsx)(p.A,{className:"w-5 h-5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold text-gray-900",children:"Record Payment"}),(0,b.jsxs)("p",{className:"text-gray-600",children:["For ",j(T.fullName)]})]})]}),(0,b.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,b.jsx)(y.A,{className:"w-8 h-8 text-blue-600"}),(0,b.jsxs)("span",{className:"text-sm text-gray-500",children:["ID: ",E.slice(-8)]})]})]})})}),(0,b.jsx)("div",{className:"max-w-4xl mx-auto px-4 py-8",children:(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow p-6",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:"Payment Summary"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex justify-between items-center p-3 bg-gray-50 rounded",children:[(0,b.jsx)("span",{className:"text-gray-600",children:"Total Amount"}),(0,b.jsx)("span",{className:"font-semibold",children:(0,i.vv)((null===(N=T.paymentDetails)||void 0===N?void 0:N.totalAmount)||0)})]}),(0,b.jsxs)("div",{className:"flex justify-between items-center p-3 bg-green-50 rounded",children:[(0,b.jsx)("span",{className:"text-gray-600",children:"Already Paid"}),(0,b.jsx)("span",{className:"font-semibold text-green-600",children:(0,i.vv)((null===(A=T.paymentDetails)||void 0===A?void 0:A.totalPaid)||0)})]}),(0,b.jsxs)("div",{className:"flex justify-between items-center p-3 bg-red-50 rounded border-2 border-red-200",children:[(0,b.jsx)("span",{className:"text-gray-600 font-medium",children:"Remaining Balance"}),(0,b.jsx)("span",{className:"font-bold text-red-600 text-lg",children:(0,i.vv)((null===(S=T.paymentDetails)||void 0===S?void 0:S.balance)||0)})]})]})]}),(0,b.jsx)("div",{className:"bg-white rounded-lg shadow p-6",children:Q<=0?(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(f.A,{className:"w-16 h-16 text-green-500 mx-auto mb-4"}),(0,b.jsx)("h2",{className:"text-xl font-semibold text-gray-900 mb-2",children:"Paid in Full"}),(0,b.jsx)("p",{className:"text-gray-600 mb-6",children:"This account has no outstanding balance. Additional payments and overpayments are disabled."}),(0,b.jsx)(c.$,{onClick:()=>C(`/dashboard/student/${E}`),className:"w-full",children:"View Student Details"})]}):K?(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(f.A,{className:"w-16 h-16 text-green-500 mx-auto mb-4"}),(0,b.jsx)("h2",{className:"text-xl font-semibold text-gray-900 mb-2",children:"Payment Recorded Successfully!"}),(0,b.jsxs)("p",{className:"text-gray-600 mb-6",children:["Payment of ",(0,i.vv)(p
1arseFloat(q.amount))," has been recorded.",(0,b.jsx)("br",{}),"Receipt Number: ",(0,b.jsx)("strong",{children:J})]}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(c.$,{variant:"outline",onClick:()=>{Z({amount:"",method:"cash",date:(new Date).toISOString().split("T")[0],notes:""}),G(!1)},className:"w-full",children:"Record Another Payment"}),(0,b.jsx)(c.$,{onClick:()=>C(`/dashboard/student/${E}`),className:"w-full",children:"View Student Details"})]})]}):(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:"Payment Details"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:["Payment Amount ",(0,b.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("span",{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-500",children:"$"}),(0,b.jsx)("input",{type:"number",name:"amount",value:q.amount,onChange:ee,placeholder:"0.00",min:"0.01",max:Q,step:"0.01",className:"pl-8 w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",required:!0})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:["Payment Method ",(0,b.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,b.jsxs)("select",{name:"method",value:q.method,onChange:ee,className:"w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",children:[(0,b.jsx)("option",{value:"cash",children:"Cash"}),(0,b.jsx)("option",{value:"check",children:"Check"}),(0,b.jsx)("option",{value:"credit_card",children:"Credit Card"}),(0,b.jsx)("option",{value:"debit_card",children:"Debit Card"}),(0,b.jsx)("option",{value:"bank_transfer",children:"Bank Transfer"}),(0,b.jsx)("option",{value:"money_order",children:"Money Order"}),(0,b.jsx)("option",{value:"other",children:"Other"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:["Payment Date ",(0,b.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,b.jsx)("input",{type:"date",name:"date",value:q.date,onChange:ee,className:"w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",required:!0})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Notes (Optional)"}),(0,b.jsx)("textarea",{name:"notes",value:q.notes,onChange:ee,rows:"3",className:"w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",placeholder:"Additional payment details or reference information"})]}),(0,b.jsxs)("div",{className:"pt-4 space-y-3",children:[(0,b.jsx)(c.$,{onClick:()=>{const e=Number(q.amount);return Q<=0?P("This student is fully paid. No additional payment can be recorded.","info"):!Number.isFinite(e)||e<=0||e>Q?P(`Payment must be between $0.01 and ${(0,i.vv)(Q)}.`,"error"):(L("record"),void M(!0))},disabled:z||W||!q.amount||!q.date||Number(q.amount)>Q,className:"w-full",children:z?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.A,{size:"small",className:"mr-2"}),"Processing Payment..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v.A,{className:"w-4 h-4 mr-2"}),"Record Manual Payment"]})}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("div",{className:"absolute inset-0 flex items-center",children:(0,b.jsx)("div",{className:"w-full border-t border-gray-200"})}),(0,b.jsx)("div",{className:"relative flex justify-center text-sm",children:(0,b.jsx)("span",{className:"px-2 bg-white text-gray-500",children:"or"})})]}),(0,b.jsx)("button",{onClick:async()=>{const e=parseFloat(q.amount);if(isNaN(e)||e<=0)P("Please enter a valid payment amount","error");else if(Q<=0||e>Q)P(`Payment cannot exceed the remaining balance of ${(0,i.vv)(Q)}.`,"error");else{H(!0);try{await(0,x.Ve)({studentId:E,amount:e})}catch(t){console.error("Error creating Stripe checkout session:",t),P(`Stripe error: ${t.message}`,"error"),H(!1)}}},disabled:z||W||!q.amount||Number(q.amount)>Q,className:"w-full flex items-center justify-center px-4 py-2.5 border-2 border-indigo-600 text-indigo-600 font-medium rounded-md hover:bg-indigo-50 transition-colors duration-200 disabled:opacity-50 disabled:cursor-not-allowed",children:W?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.A,{size:"small",className:"mr-2"}),"Redirecting to Stripe..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("svg",{className:"w-5 h-5 mr-2",viewBox:"0 0 24 24",fill:"
1currentColor",children:(0,b.jsx)("path",{d:"M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.591-7.305z"})}),"Pay with Card (Stripe)"]})})]})]})]})})]})}),(0,b.jsx)(m.A,{isOpen:F,onClose:()=>{M(!1),L(null)},onSuccess:()=>{k(),M(!1),"record"===U&&te(),L(null)},title:"Payment Recording Authentication"})]}):(0,b.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow p-6 max-w-md w-full mx-4",children:[(0,b.jsx)("p",{className:"text-gray-600 mb-4",children:"Student not found."}),(0,b.jsx)(c.$,{onClick:()=>C("/dashboard"),children:"Return to Dashboard"})]})})}},40648:(e,t,a)=>{a.d(t,{M8:()=>c,NO:()=>x,Pb:()=>l,Ve:()=>o,Y2:()=>i,Yd:()=>h,Yl:()=>d,hb:()=>u,rW:()=>m});const s=({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_FIREBASE_API_KEY:"AIzaSyCWxqxJST91KCC18B_zbsoBrP4G7VychBI",REACT_APP_FIREBASE_APP_ID:"1:510503057097:web:1ca69bea212415c8e6ff18",REACT_APP_FIREBASE_AUTH_DOMAIN:"hudumacna-2831c.firebaseapp.com",REACT_APP_FIREBASE_DATABASE_URL:"",REACT_APP_FIREBASE_MEASUREMENT_ID:"G-61E0FFVCBQ",REACT_APP_FIREBASE_MESSAGING_SENDER_ID:"510503057097",REACT_APP_FIREBASE_PROJECT_ID:"hudumacna-2831c",REACT_APP_FIREBASE_STORAGE_BUCKET:"hudumacna-2831c.firebasestorage.app",REACT_APP_STRIPE_PUBLISHABLE_KEY:"pk_live_51T2d2o4M2zSJeFA21XsMhTwj1NMSm9vDmTaESCiCAT1f9n7oKpQU5BO7fvGUsa4HQKtmpBIW45zfVKKVGCy4vvmz007R2WJy0H"}.REACT_APP_FUNCTIONS_BASE_URL||"https://us-central1-hudumacna-2831c.cloudfunctions.net").replace(/\/$/,""),r="hca_public_schedule_v2",n=async function(e){var t;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await fetch(`${s}/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),n=await r.json();if(!r.ok)throw new Error((null===(t=n.error)||void 0===t?void 0:t.message)||"Request failed");return n.result},o=async e=>{const t=await(async e=>{let{studentId:t,amount:a,successUrl:r,cancelUrl:n}=e;const o=await fetch(`${s}/createCheckoutSession`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({studentId:t,amount:a,successUrl:r||`${window.location.origin}/dashboard/student/${t}?payment=success`,cancelUrl:n||`${window.location.origin}/dashboard/student/${t}?payment=cancelled`})}),l=await o.json();var i;if(!o.ok)throw new Error((null===(i=l.error)||void 0===i?void 0:i.message)||"Failed to create checkout session");return l.result})(e);window.location.href=t.url},l=async e=>{var t;const a=await fetch(`${s}/finalizeCheckoutSession`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e})}),r=await a.json();if(!a.ok)throw new Error((null===(t=r.error)||void 0===t?void 0:t.message)||"Failed to finalize payment");return r.result},i=async e=>{var t;const a=await fetch(`${s}/reconcileStudentBalance`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{studentId:e}})}),r=await a.json();if(!a.ok)throw new Error((null===(t=r.error)||void 0===t?void 0:t.message)||"Reconcile failed");return r.result},c=()=>{try{var e;const t=JSON.parse(sessionStorage.getItem(r)||"null");return null===t||void 0===t||!t.savedAt||Date.now()-t.savedAt>6e4||!Array.isArray(null===(e=t.data)||void 0===e?void 0:e.schedules)?null:t.data}catch(t){return null}},d=async function(){var e;let{force:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!t){const e=c();if(e)return e}const a=await fetch("/api/class-schedules",{method:"GET",headers:{Accept:"application/json"}}),s=await a.json();if(!a.ok)throw new Error((null===(e=s.error)||void 0===e?void 0:e.message)||"The class schedule could not be loaded");try{sessionStorage.setItem(r,JSON.stringify({savedAt:Date.now(),data:s.result}))}catch(n){}return s.result},m=e=>n("createClassReservationCheckout",e),u=e=>{let{reservationId:t,token:a}=e;return n("getClassReservationStatus",{reservationId:t,token:a})},h=e=>{let{reservationId:t,token:a}=e;return n("cancelClassReservationHold",{reservationId:t,token:a})},x=async e=>{var t;let{reservationId:a,token:r}=e;const n=`class_receipt_downloaded_${a}`;try{const e=Number(sessionStorage.getItem(n)||0);if(e&&Date.now()-e<3e4)return!1}catch(h){}const o=new URLSearchParams({reservationId:a,token:r}),l=await fetch(`${s}/downloadClassEnrollmentReceipt?${o.toString()}`);if(!l.ok){var i;const e=await l.json().catch(()=>({}));throw new Error((null===(i=e.error)||void 0===i?void 0:i.message)||"Could not download the enrollment receipt")}const c=await l.blob(),d=(null===(t=(l.headers.get("content-disposition")||"").match(/filename="?([^";]+)"?/i))||void 0===t?void 0:t[1])||"enrollment-receipt.pdf",m=URL.createObjectURL(c),u=document.createElement("a");u.href=m,u.download=d,document.body.appendChild(u),u.click(),u.remove(),setTimeout(()=>URL.revokeObjectURL(m),1e3);
1try{sessionStorage.setItem(n,String(Date.now()))}catch(h){}return!0}},40732:(e,t,a)=>{a.d(t,{A:()=>r});a(9950);var s=a(44414);const r=e=>{let{size:t="medium",color:a="blue"}=e;const r={small:"w-4 h-4",medium:"w-8 h-8",large:"w-12 h-12"}[t],n={blue:"text-blue-600",gray:"text-gray-600",white:"text-white"}[a];return(0,s.jsx)("div",{className:"flex justify-center items-center",children:(0,s.jsxs)("svg",{className:`animate-spin ${r} ${n}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})})}},48805:(e,t,a)=>{a.d(t,{$:()=>r});a(9950);var s=a(44414);const r=e=>{let{children:t,variant:a="primary",size:r="default",isLoading:n=!1,disabled:o=!1,icon:l,onClick:i,type:c="button",className:d="",...m}=e;const u=o||n?"opacity-50 cursor-not-allowed":"";return(0,s.jsxs)("button",{type:c,className:`inline-flex items-center justify-center font-medium rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors duration-200 ${{primary:"bg-primary-600 text-white hover:bg-primary-700 focus:ring-primary-500",secondary:"bg-gray-100 text-gray-700 hover:bg-gray-200 focus:ring-gray-500",danger:"bg-red-600 text-white hover:bg-red-700 focus:ring-red-500",success:"bg-green-600 text-white hover:bg-green-700 focus:ring-green-500",outline:"border border-gray-300 bg-white text-gray-700 hover:bg-gray-50 focus:ring-primary-500"}[a]} ${{small:"px-3 py-1.5 text-sm",default:"px-4 py-2 text-sm",large:"px-6 py-3 text-base"}[r]} ${u} ${d}`,disabled:o||n,onClick:i,...m,children:[n&&(0,s.jsxs)("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4 text-current",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),l&&!n&&(0,s.jsx)(l,{className:"h-5 w-5 mr-2","aria-hidden":"true"}),t]})}},64112:(e,t,a)=>{a.d(t,{A:()=>n});var s=a(9950);function r(e,t){let{title:a,titleId:r,...n}=e;return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":r},n),a?s.createElement("title",{id:r},a):null,s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z"}))}const n=s.forwardRef(r)}}]);

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.