PageSourceSearch

https://booking.turkishbaths1877.com/assets/HssFormDetailPage-BcOY5hLy.js

js turkishbaths1877.com collected 2026-10-07 03:22:26 UTC 5,999 bytes, 1 lines download raw bytes

1import{l as b,_ as v,m as f,a as y,j as e,w as p,B as m,C as n,v as d,b7 as N,c as k}from"./index-C0dkdPID.js";import{A as u}from"./arrow-left-C7CHhnuB.js";import{E as S}from"./external-link-DCjvjnpk.js";function i({value:t}){return t?e.jsx(d,{variant:"warning",children:"Yes"}):e.jsx(d,{variant:"success",children:"No"})}function s({label:t,value:r}){return e.jsxs("div",{className:"flex items-start justify-between gap-4 py-2 border-b border-stone-100 last:border-0",children:[e.jsx("span",{className:"text-sm text-stone-500 shrink-0 max-w-[45%]",children:t}),e.jsx("div",{className:"text-sm text-stone-800 text-right min-w-0 break-words",children:r})]})}function o(t,r){if(!t)return"—";const l=new Date(t.includes("T")?t:`${t}T00:00:00`);return Number.isNaN(l.getTime())?"—":k(l,r)}function B(t){return t?t.formVersion===2?!0:typeof t.dateOfBirth=="string"&&t.dateOfBirth.length>0:!1}function D(){var x;const t=b(),{guestId:r}=v(),l=f(y.admin.getHssFormDetail,r?{guestId:r}:"skip");if(l===void 0)return e.jsx(p,{message:"Loading H&S form..."});if(l===null)return e.jsxs("div",{className:"text-center py-12",children:[e.jsx("p",{className:"text-stone-500 mb-4",children:"Form or guest not found."}),e.jsxs(m,{variant:"ghost",onClick:()=>t("/admin/hss-forms"),children:[e.jsx(u,{size:14,className:"mr-1.5"}),"Back to H&S Forms"]})]});const j=l.guest.name??(l.guest.guestIndex===0?"Lead booker":`Guest ${l.guest.guestIndex+1}`),a=l.form,h=B(a??null);return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("button",{onClick:()=>t("/admin/hss-forms"),className:"flex items-center gap-1.5 text-sm text-stone-500 hover:text-stone-700 transition-colors",children:[e.jsx(u,{size:14}),"Back to H&S Forms"]}),e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-display font-light text-stone-800",children:"Submitted H&S Form"}),e.jsxs("p",{className:"text-sm text-stone-500 mt-1",children:[l.booking.bookingReference," ·"," ",o(l.booking.date,"d MMM yyyy")]})]}),e.jsxs(m,{variant:"ghost",className:"flex items-center gap-2",onClick:()=>t(`/admin/bookings/${l.booking._id}`),children:[e.jsx(S,{size:14}),"View booking"]})]}),e.jsx(n,{children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(s,{label:"Guest",value:j}),e.jsx(s,{label:"Email",value:l.guest.email??"Not provided"}),e.jsx(s,{label:"Status",value:l.form?e.jsx(d,{variant:"success",children:"Completed"}):e.jsx(d,{variant:"warning",children:"Not completed"})}),e.jsx(s,{label:"Submitted",value:o((x=l.form)==null?void 0:x.submittedAt,"d MMM yyyy, HH:mm")})]})}),l.form?h?e.jsxs(e.Fragment,{children:[e.jsxs(n,{children:[e.jsx("h3",{className:"text-base font-display font-medium text-stone-800 mb-3",children:"Client details"}),e.jsxs("div",{children:[e.jsx(s,{label:"Name",value:a.guestName??"—"}),e.jsx(s,{label:"Date of birth",value:o(a.dateOfBirth,"d MMM yyyy")}),e.jsx(s,{label:"Address",value:a.address??"—"}),e.jsx(s,{label:"Postcode",value:a.postcode??"—"}),e.jsx(s,{label:"Tel",value:a.telephone??"—"}),e.jsx(s,{label:"Email",value:a.email??"—"})]})]}),e.jsxs(n,{children:[e.jsx("h3",{className:"text-base font-display font-medium text-stone-800 mb-3",children:"General Practitioner"}),e.jsxs("div",{children:[e.jsx(s,{label:"GP",value:a.generalPractitioner??"—"}),e.jsx(s,{label:"Tel (GP)",value:a.gpTelephone??"—"}),e.jsx(s,{label:"Address (GP)",value:a.gpAddress??"—"})]})]}),e.jsxs(n,{children:[e.jsx("h3",{className:"text-base font-display font-medium text-stone-800 mb-3",children:"Conditions / treatments"}),e.jsx("div",{className:"space-y-1",children:N.map(({key:c,label:g})=>e.jsx(s,{label:g,value:e.jsx(i,{value:!!a[c]})},c))})]}),e.jsxs(n,{children:[e.jsx("h3",{className:"text-base font-display font-medium text-stone-800 mb-3",children:"Details"}),e.jsx("p",{className:"text-sm text-stone-800 whitespace-pre-wrap break-words",children:a.conditionDetails??"—"})]}),e.jsxs(n,{children:[e.jsx("h3",{className:"text-base font-display font-medium text-stone-800 mb-3",children:"Consent & agreement"}),e.jsxs("div",{children:[e.jsx(s,{label:"Signature",value:a.signature??"—"}),e.jsx(s,{label:"Date",value:o(a.signatureDate,"d MMM yyyy, HH:mm")}
1)]})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs(n,{children:[e.jsx("h3",{className:"text-base font-display font-medium text-stone-800 mb-3",children:"Health Questions (legacy form)"}),e.jsxs("div",{children:[e.jsx(s,{label:"Heart condition",value:e.jsx(i,{value:!!a.hasHeartCondition})}),e.jsx(s,{label:"High/low blood pressure",value:e.jsx(i,{value:!!a.hasBloodPressure})}),e.jsx(s,{label:"Pregnant",value:e.jsx(i,{value:!!a.isPregnant})}),e.jsx(s,{label:"Skin conditions",value:e.jsx(i,{value:!!a.hasSkinConditions})}),e.jsx(s,{label:"Skin condition details",value:a.skinConditionDetails??"—"}),e.jsx(s,{label:"Allergies",value:e.jsx(i,{value:!!a.hasAllergies})}),e.jsx(s,{label:"Allergy details",value:a.allergyDetails??"—"}),e.jsx(s,{label:"Recent surgery",value:e.jsx(i,{value:!!a.hasRecentSurgery})}),e.jsx(s,{label:"Surgery details",value:a.surgeryDetails??"—"}),e.jsx(s,{label:"Taking medication",value:e.jsx(i,{value:!!a.isTakingMedication})}),e.jsx(s,{label:"Medication details",value:a.medicationDetails??"—"}),e.jsx(s,{label:"Other conditions",value:a.otherConditions??"—"})]})]}),e.jsxs(n,{children:[e.jsx("h3",{className:"text-base font-display font-medium text-stone-800 mb-3",children:"Emergency & signature (legacy)"}),e.jsxs("div",{children:[e.jsx(s,{label:"Emergency contact name",value:a.emergencyContactName??"—"}),e.jsx(s,{label:"Emergency contact phone",value:a.emergencyContactPhone??"—"}),e.jsx(s,{label:"Signature",value:a.signature??"—"}),e.jsx(s,{label:"Signature date",value:o(a.signatureDate,"d MMM yyyy, HH:mm")})]})]})]}):e.jsx(n,{children:e.jsx("p",{className:"text-sm text-stone-500",children:"This guest has not submitted a Health & Safety form yet."})})]})}export{D as HssFormDetailPage};

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.