PageSourceSearch

https://theboobbus.com/assets/ThankYou-ekTjbt-0.js

js theboobbus.com collected 2026-10-04 17:51:21 UTC 7,597 bytes, 2 lines download raw bytes

1import{u as C,r as c,j as e,aj as $,J as B,H as M,C as v,M as S,P as h,N as b,ak as E,s as A}from"./index-CPXmarrY.js";import{S as H}from"./SEOHead-DsIm2L-j.js";import{S as D}from"./SpreadTheLove-CxTk2UuG.js";import{D as I}from"./download-DNl569Ek.js";import{P as W}from"./phone-DKXr11ZY.js";import{k as w}from"./format-BQrOmve7.js";import"./message-circle-Dbb6VIbA.js";import"./check-Bca_rc3e.js";import"./copy-CvBcQkpm.js";function Y(a,n){const s=n.match(/^(\d{1,2}):(\d{2})\s*(AM|PM)$/i);if(!s)return{start:a.replace(/-/g,"")+"T120000",end:a.replace(/-/g,"")+"T123000"};let r=parseInt(s[1]);const l=s[2],m=s[3].toUpperCase();m==="PM"&&r!==12&&(r+=12),m==="AM"&&r===12&&(r=0);const x=r.toString().padStart(2,"0"),u=parseInt(l)>=30?r+1:r,t=parseInt(l)>=30?"00":"30",p=u.toString().padStart(2,"0"),o=a.replace(/-/g,"");return{start:`${o}T${x}${l}00`,end:`${o}T${p}${t}00`}}function L(a){return`https://calendar.google.com/calendar/render?${new URLSearchParams({action:"TEMPLATE",text:a.summary,dates:`${a.dtstart}/${a.dtend}`,location:a.location,details:a.description}).toString()}`}const K=()=>{var f,j,g;const[a]=C(),n=a.get("booking_id"),[s,r]=c.useState(null),[l,m]=c.useState(!1);c.useEffect(()=>{if(!n)return;(async()=>{const{data:d}=await A.from("bookings").select("first_name, last_name, time_slot, calendar_token, referral_code, scheduled_events(event_date, locations(name, address, city, state))").eq("id",n).single();d&&r(d)})()},[n]);const x=(f=s==null?void 0:s.scheduled_events)!=null&&f.event_date?w(new Date(s.scheduled_events.event_date+"T00:00:00"),"EEEE, MMMM d, yyyy"):null,u=s!=null&&s.time_slot?(()=>{try{return w(new Date(`2000-01-01T${s.time_slot}`),"h:mm a")}catch{return s.time_slot}})():null,t=(j=s==null?void 0:s.scheduled_events)==null?void 0:j.locations,p=c.useCallback(()=>{var N;if(!((N=s==null?void 0:s.scheduled_events)!=null&&N.event_date)||!t)return null;const{start:i,end:d}=Y(s.scheduled_events.event_date,s.time_slot),y=[t.name,t.address,t.city,t.state].filter(Boolean).join(", "),P=["Your mammogram screening with The Boob Bus 🎀","",`📍 ${t.name}`,t.address?`🗺️ ${y}`:null,"","⏰ Arrive 5–10 minutes early.","👗 Wear a two-piece outfit for easy access.","🪪 Bring a valid photo ID and insurance card.","","❓ Questions? Call/text: 866-747-2662"].filter(T=>T!==null).join(`
2`);return{summary:"Mammogram Screening — The Boob Bus",location:y,dtstart:i,dtend:d,description:P}},[s,t]),o=s!=null&&s.calendar_token?`https://theboobbus.com/cal/${s.calendar_token}`:n?`https://theboobbus.com/cal/${n}`:null;c.useEffect(()=>{if(l||!o||!s||!/iPhone|iPad|iPod|Android/i.test(navigator.userAgent))return;const d=setTimeout(()=>{m(!0),window.open(o,"_blank")},1500);return()=>clearTimeout(d)},[o,s,l]);const _=()=>{const i=p();i&&window.open(L(i),"_blank")},k=()=>{o&&window.open(o,"_blank")};return e.jsxs(e.Fragment,{children:[e.jsx(H,{title:"Thank You | The Boob Bus",description:"Your payment was successful. We can't wait to see you!"}),e.jsx($,{}),e.jsx("main",{className:"min-h-screen bg-gradient-to-b from-secondary via-background to-background",children:e.jsxs("div",{className:"container max-w-2xl mx-auto px-4 py-16 md:py-24",children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 animate-ping rounded-full bg-primary/20 w-24 h-24"}),e.jsx("div",{className:"relative bg-primary/10 rounded-full p-5",children:e.jsx(B,{className:"w-14 h-14 text-primary",strokeWidth:1.5})})]})}),e.jsxs("div",{className:"text-center space-y-3 mb-10",children:[e.jsxs("h1",{className:"text-3xl md:text-4xl font-display text-foreground",children:["You're All Set",s?`, ${s.first_name}`:"","!"]}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-md mx-auto",children:["Payment received — we can't wait to see you soon."," ",e.jsx(M,{className:"inline w-4 h-4 text-primary fill-primary"})]})]}),s&&e.jsxs("div",{className:"bg-card border border-border rounded-2xl shadow-lg p-6 md:p-8 mb-8 space-y-4",children:[e.jsx("h2",{className:"text-lg font-semibold text-foreground font-display",children:"Your Appointment"}),x&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(v,{className:"w-5 h-5 text-primary mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-foreground",children:x}),u&&e.jsxs("p",{className:"text-sm text-muted-foreground",children:["at ",u]}
2)]})]}),t&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(S,{className:"w-5 h-5 text-primary mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-foreground",children:t.name}),t.address&&e.jsxs("p",{className:"text-sm text-muted-foreground",children:[t.address,", ",t.city,t.state?`, ${t.state}`:""]})]})]}),((g=s.scheduled_events)==null?void 0:g.event_date)&&e.jsxs("div",{className:"pt-3 border-t border-border space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:"📅 Add to your calendar so you don't forget:"}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsxs(h,{variant:"hero",size:"sm",className:"flex-1",onClick:_,children:[e.jsx(v,{className:"w-4 h-4 mr-1.5"}),"Google Calendar"]}),e.jsxs(h,{variant:"hero-outline",size:"sm",className:"flex-1",onClick:k,children:[e.jsx(I,{className:"w-4 h-4 mr-1.5"}),"Apple / Outlook"]})]})]})]}),e.jsxs("div",{className:"bg-accent/40 rounded-2xl p-6 md:p-8 mb-8 space-y-3",children:[e.jsx("h2",{className:"text-lg font-semibold text-foreground font-display",children:"What to Expect"}),e.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary font-bold mt-0.5",children:"✦"}),"You'll receive a confirmation email and text with your appointment details."]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary font-bold mt-0.5",children:"✦"}),"We'll send you a reminder 24 hours and 3 hours before your appointment."]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary font-bold mt-0.5",children:"✦"}),"On the day of, just show up — no paperwork needed! We'll handle everything on-site."]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary font-bold mt-0.5",children:"✦"}),"The screening takes about 15 minutes from start to finish."]})]})]}),e.jsx("div",{className:"mb-8",children:e.jsx(D,{})}),e.jsxs("div",{className:"text-center space-y-4",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Questions? Call or text"," ",e.jsx("a",{href:"tel:8667472662",className:"text-primary font-semibold hover:underline",children:"866-747-BOOB"})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsx(h,{asChild:!0,variant:"hero",size:"lg",children:e.jsx(b,{to:"/",children:"Back to Home"})}),e.jsx(h,{asChild:!0,variant:"hero-outline",size:"lg",children:e.jsx(b,{to:"/how-it-works",children:"How It Works"})})]})]}),e.jsx("div",{className:"mt-12 text-center",children:e.jsxs("div",{className:"inline-flex items-center gap-2 bg-card border border-border rounded-full px-5 py-2.5 shadow-sm",children:[e.jsx(W,{className:"w-4 h-4 text-primary"}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:["Need to reschedule?"," ",e.jsx("a",{href:"tel:8667472662",className:"text-primary font-semibold",children:"Call us"})]})]})})]})}),e.jsx(E,{})]})};export{K as default};

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.