PageSourceSearch

https://onerc.redcross.or.ke/assets/onerc_vmms/frontend/assets/CheckoutSummary-BlPrsimn.js

js redcross.or.ke collected 2026-10-02 06:17:19 UTC 6,834 bytes, 2 lines download raw bytes

1import{p as F,_ as L,a as Y}from"./PaymentStatus-Dsd808A2.js";import{r as y,b as f,Y as E,l,o as r,f as b,g as e,i as s,h as d,w as N,j as c,t as o,_ as j,p as x,F as K,m as U,k as W}from"./index-DkHxERqz.js";import{_ as q}from"./Breadcrumbs.vue_vue_type_script_setup_true_lang-9UEkAjMt.js";import{a as m,_ as z}from"./TicketCard-DQHhK_9V.js";import{_ as G}from"./EmptyState-Cg3uhZp2.js";import{r as H}from"./RegistrationQuestions-Bm4yoiIg.js";const J={class:"min-h-screen bg-gray-50 py-3 md:py-6 px-3 md:px-4"},M={key:1,class:"flex flex-col sm:w-1/2 mx-auto bg-gray-50 py-3 md:py-6 px-3 md:px-4"},O={key:0},Q={key:0,class:""},X={class:"max-w-5xl mx-auto"},Z={class:"grid grid-cols-1 lg:grid-cols-2 gap-3 md:gap-4"},ee={class:"space-y-3"},te={class:"bg-white shadow-sm rounded-lg p-3 md:p-4 border border-gray-200"},se={class:"mb-3 pb-3 border-b border-gray-100"},ae={class:"text-sm md:text-base font-medium text-gray-900"},ne={class:"space-y-2"},oe={class:"flex items-center gap-2 mb-1.5"},re={class:"w-5 h-5 bg-red-600 rounded-full flex items-center justify-center flex-shrink-0"},ie={class:"text-white font-medium text-xs"},le={class:"text-xs md:text-sm font-medium text-gray-800"},me={class:"space-y-1 text-xs md:text-sm text-gray-700"},de={class:"lg:sticky lg:top-3 lg:self-start"},ce={class:"bg-white shadow-sm rounded-lg p-3 md:p-4 border border-gray-200"},ue={class:"space-y-2.5"},pe={class:"flex justify-between items-center py-2 border-b border-gray-100"},_e={class:"text-sm md:text-base font-semibold text-gray-900"},ge={class:"flex justify-between items-center py-2 border-b border-gray-100"},ye={class:"text-sm md:text-base font-semibold text-gray-900"},ve={class:"bg-red-600 rounded-lg p-3 md:p-4 mt-3"},fe={class:"flex justify-between items-center"},be={class:"text-white font-bold text-lg md:text-2xl"},xe={key:1,class:"sm:w-1/2 mx-auto bg-gray-50 py-3 md:py-6 px-3 md:px-4"},Se={__name:"CheckoutSummary",setup(ke){const u=y(!1),k=y(""),h=y(""),w=y(!1),{formResponse:A,clearResponses:R}=H(),n=f({url:"onerc_vmms.volunteer_and_member_management.api.events.get_event_ticket_type",makeParams(){return{ticket_id:m.getBookingData().ticketDetails.ticket_type}},auto:!0});function I(){i.submit({})}const i=f({url:"onerc_vmms.volunteer_and_member_management.api.events.handle_ticket_payment",makeParams(){var a;return{payload:{event_name:(a=n.data.event_details)==null?void 0:a.name,ticket_name:n.data.name,booking_details:m.getBookingData().attendees,registration_responses:A.value}}},onSuccess(a){a&&(u.value=!0,E.success("Payment initiated successfully. Please complete the payment on your phone."),k.value=a.invoice,h.value=a.event_booking,p.loading=!0,R(),V(a))},onError(){i.error="An error occurred during payment. Please try again."}});function V(a){const t=F;t.saveToken(a.payment_token),t.listenForPayment(a.payment_token).then(_=>{p.loading=!1,_==="Completed"?(w.value=!0,m.clearBookingData(),E.success("Payment successful! Your ticket has been booked.")):_==="Timeout"?(u.value=!1,i.error="We haven't received confirmation for this payment yet. If you completed it on your phone, please check your bookings in a moment before paying again."):(u.value=!1,i.error="There was an error processing your payment. Please try again.")})}const p=f({url:"onerc_vmms.volunteer_and_member_management.api.events.confirm_payment",makeParams(){return{invoice_name:k.value,event_booking:h.value,confirm_payment_manual:confirm_payment_manual.value}}});return(a,t)=>{var P,B,T,D,S,$,C;const _=L;return r(),l("div",J,[s(n).data?(r(),b(s(q),{key:0,items:[{label:"Events",route:"/events"},{label:(P=s(n).data.event_details)==null?void 0:P.title,route:"/event/"+((B=s(n).data.event_details)==null?void 0:B.route)},{label:"Registration",route:"/event/registration/"+((T=s(n).data.event_details)==null?void 0:T.route)},{label:"Checkout Summary"}],class:"mx-4 my-4"},null,8,["items"])):(r(),l("div",M,[d(G,{type:"Event Bookings"}),d(s(j),{type:"button",class:"mt-4 mx-auto block",theme:"red",variant:"solid",onClick:t[0]||(t[0]=g=>a.$router.push("/events"))},{default:N(()=>[c(o(a.__("Browse Events")),1)]),_:1})])),e("div",null,[w.value?(r(),l("div",xe,[d(Y,{message:"Ticket booked successfully. You will receive an email with your ticket(s) details.",title:"Ticket Booking",returnUrl:"/vmms/events",urlName:"Events"})])):(r(),l("div",O,[s(n).data?(r(),l("div",Q,[e("div",X,[e("div",Z,[e("div",ee,[t[7]||(t[7]=e("div",{class:"bg-white rounded-lg shadow-sm border border-gray-200 p-3 md:p-4"},[e("h1",{class:"text-lg md:text-xl font-semibold text-gray-900"}," Booked Ticket Type ")],-1)),d(z,{ticket:s(n).data},null,8,["ticket"]),e("div",te,[t[5]||(t[5]=e("h2",{class:"text-base md:text-lg font-semibold text-red-600 mb-3"}," Booking Summary ",-1)),e("div",se,[t[1]||(t[1]=e("p",{class:"text-xs text-gray-500 mb-0.5"},"Event",-1)),e("h2",ae,o((S=(D=s(n).data)==null?void 0:D.event_details)==null?void 0:S.title),1)]),t[6]||(t[6]=e("h3",{class:"text-sm md:text-base font-semibold text-gray-800 mb
1-2"}," Attendee Details ",-1)),e("div",ne,[(r(!0),l(K,null,U(s(m).getBookingData().attendees,(g,v)=>(r(),l("div",{key:v,class:"bg-red-50 border border-red-100 rounded-lg p-2.5 md:p-3"},[e("div",oe,[e("div",re,[e("span",ie,o(v+1),1)]),e("p",le," Attendee "+o(v+1),1)]),e("div",me,[e("p",null,[t[2]||(t[2]=e("span",{class:"font-medium"},"Name:",-1)),c(" "+o(g.full_name),1)]),e("p",null,[t[3]||(t[3]=e("span",{class:"font-medium"},"Email:",-1)),c(" "+o(g.email),1)]),e("p",null,[t[4]||(t[4]=e("span",{class:"font-medium"},"Phone:",-1)),c(" "+o(g.phone),1)])])]))),128))])])]),e("div",de,[e("div",ce,[t[11]||(t[11]=e("h2",{class:"text-base md:text-lg font-semibold text-red-600 mb-3"}," Payment Summary ",-1)),e("div",ue,[e("div",pe,[t[8]||(t[8]=e("span",{class:"text-xs md:text-sm text-gray-600"},"Total Tickets",-1)),e("span",_e,o(s(m).getBookingData().attendees.length),1)]),e("div",ge,[t[9]||(t[9]=e("span",{class:"text-xs md:text-sm text-gray-600"},"Price Per Ticket",-1)),e("span",ye,o((($=s(n).data)==null?void 0:$.price)||0),1)]),e("div",ve,[e("div",fe,[t[10]||(t[10]=e("span",{class:"text-white font-semibold text-sm md:text-base"},"Total Amount",-1)),e("span",be,o((((C=s(n).data)==null?void 0:C.price)||0)*s(m).getBookingData().attendees.length),1)])])])]),u.value?(r(),b(_,{key:0,class:"mt-4"})):x("",!0),e("div",null,[d(s(j),{type:"button",class:"w-full mt-4",theme:"green",variant:"solid",onClick:I,loading:s(i).loading||s(p).loading},{default:N(()=>[c(o(s(i).loading?a.__("Initialising Payment"):s(p).loading?a.__("Confirming Payment"):a.__("Proceed to Pay")),1)]),_:1},8,["loading"])]),s(i).error?(r(),b(s(W),{key:1,message:s(i).error,class:"text-center border border-red-400 rounded-md p-2 mt-3"},null,8,["message"])):x("",!0)])])])])):x("",!0)]))])])}}};export{Se as default};
2//# sourceMappingURL=CheckoutSummary-BlPrsimn.js.map

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.