1import{r as F,j as e}from"./vendor-react-CV6oP_vj.js";import{aP as $,al as B,aL as H,H as R,ab as D,aR as E,V as O,S as v,a0 as I,a1 as M,aF as y,z as U,aH as K,ag as Q,L as N,Z as S,ah as w,d as W,h as T,C as c,a as l,ad as b,aC as G,E as V,B as q,j as J,u as Y,c as z}from"./index-BjRWPOnn.js";import{W as Z,S as _}from"./wrench-BIEnvgEl.js";import{U as X,L as ee,G as se,F as te,D as ae,a as re,C as ie,B as ne,A as ce,P as le,H as oe}from"./utensils-5ZVSpwMp.js";import{S as A}from"./star-BQ1R4Eem.js";import{S as de}from"./shopping-cart-8C6XaMwX.js";import{P as me}from"./plane-CABcAa1H.js";import{P as xe}from"./phone-DqRH-5Bp.js";import{P as he}from"./package-LqMaKS3z.js";import{M as pe}from"./music-CkgJi2SW.js";import{F as ue}from"./flame-DruwsGhE.js";import{F as je}from"./film-x4fLKP5H.js";import{D as be}from"./droplets-DiOomOQO.js";import{S as Ne}from"./stethoscope-CIQxma6V.js";import{H as ge}from"./heart-handshake-BIQ59WD-.js";import{L as ye}from"./landmark-BhE0azO3.js";import{G as fe}from"./gavel-Gbv_KbMi.js";import{P as we}from"./party-popper-BQHGRLN9.js";import{V as ve}from"./video-DxsGlyfj.js";import{T as Te}from"./train-front-Dviy1EkV.js";import{S as ke}from"./scale-B0i-Fme1.js";import{B as Se}from"./building-2-CsIZ9dPc.js";import{H as Fe}from"./heart-BJHffls1.js";import{b as qe}from"./index.esm-B02a9nYO.js";import{t as Ae}from"./zod-C8zy4HuJ.js";import{u as Pe}from"./useMutation-BLpbxrJ1.js";import{o as Ce,b as Le,s as u}from"./types-CGO4AJdh.js";import{g as $e,a as Be}from"./core-Ci1Fc3hL.js";import{F as o,a as d,b as m,c as x,d as h,e as He}from"./form-Bwrgr8OO.js";import{C as Re}from"./checkbox-Cpok0ucc.js";import{S as De}from"./send-DsE_8_rg.js";import"./index-oqE25gSe.js";const k={Heart:Fe,Briefcase:y,GraduationCap:M,Building2:Se,Scale:ke,TrainFront:Te,Hotel:oe,Video:ve,CalendarDays:I,PartyPopper:we,Gavel:fe,Landmark:ye,Pill:le,HeartHandshake:ge,Shield:v,Users:O,Stethoscope:Ne,Anchor:ce,Baby:ne,Banknote:E,Church:ie,Dog:re,Droplets:be,Dumbbell:ae,Eye:D,Factory:te,Film:je,Flame:ue,Gamepad2:se,Home:R,Leaf:ee,Lock:H,Music:pe,Package:he,Phone:xe,Plane:me,Radio:B,ShoppingCart:de,Siren:_,Star:A,Utensils:X,Wrench:Z,Zap:$};function Ee(t){return U({queryKey:["/api/tenders/categories",t],queryFn:async()=>{const s=await fetch(`/api/tenders/categories/${encodeURIComponent(t)}`);if(!s.ok)throw new Error("Not found");return s.json()},enabled:!!t,staleTime:1/0})}const Oe=Ce({companyName:u().min(2,"Company name is required"),contactName:u().min(2,"Contact name is required"),email:u().email("Valid email is required"),phone:u().min(10,"Phone number is required"),jobTitle:u().min(2,"Job title is required"),estimatedMonthlySpend:u().min(1,"Please provide an estimate"),requirements:u().optional(),consent:Le().refine(t=>t===!0,"You must agree to the privacy policy")});function Ie({tenderSlug:t,domain:s}){const{toast:a}=K(),[r,j]=F.useState(!1),i=qe({resolver:Ae(Oe),defaultValues:{companyName:"",contactName:"",email:"",phone:"",jobTitle:"",estimatedMonthlySpend:"",requirements:"",consent:!1}}),p=Pe({mutationFn:async n=>{if(!(await fetch("/api/tender-enquiry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,tenderCategory:t,domain:s})})).ok)throw new Error("Failed to submit");return n},onSuccess:()=>{j(!0),a({title:"Enquiry Submitted",description:"Our team will c
1ontact you within 24 hours with a tailored proposal."})},onError:()=>{j(!0),a({title:"Enquiry Received",description:"Our team will contact you within 24 hours with a tailored proposal."})}});return{form:i,mutation:p,submitted:r}}function Me({tender:t,domainConfig:s,locationLabel:a}){F.useEffect(()=>{if(!t)return;const r=a?` ${a}`:"",j=`${t.title}${r} | ${s.brandName}`,i=a?`${t.description} Covering ${a} and surrounding areas. Dedicated account manager and priority service.`:`${t.description} Nationwide UK coverage. Dedicated account manager and priority service.`,p=$e(s.focusLocation),n=Be(s.region),g=!!s.officeAddress,f={businessName:`${t.shortTitle}${r}`,legalName:s.legalName,areaServed:a||"United Kingdom",areasServedList:p.length>0?p:void 0,adminArea:s.focusLocation!=="United Kingdom"&&n!=="United Kingdom"?n:void 0,keywords:s.metaKeywords,serviceType:"TaxiService",phone:s.phone,email:s.email,url:`https://${s.domain}/tenders/${t.slug}`,address:g?{streetAddress:s.officeAddress.streetAddress,addressLocality:s.officeAddress.addressLocality,addressRegion:s.officeAddress.addressRegion,postalCode:s.officeAddress.postalCode,addressCountry:"GB"}:s.focusLocation!=="United Kingdom"?{addressLocality:s.focusLocation,addressRegion:n!=="United Kingdom"?n:void 0,addressCountry:"GB"}:void 0,isOnlineOnly:!g,foundingDate:"2018"};Q({title:j,h1:`${t.title}${r}`,metaDescription:i,keywords:t.keywords},`https://${s.domain}/tenders/${t.slug}`,void 0,f)},[t,s,a])}function Ue({tender:t,locationLabel:s}){return e.jsx("div",{className:"bg-gradient-to-b from-primary/20 to-black border-b border-primary",children:e.jsxs("div",{className:"container mx-auto px-4 py-4",children:[e.jsxs("nav",{className:"flex items-center gap-2 text-sm text-white/60 mb-6 flex-wrap","data-testid":"breadcrumbs",children:[e.jsx(N,{href:"/",className:"hover:text-primary",children:"Home"}),e.jsx(S,{className:"h-3 w-3"}),e.jsx(N,{href:"/tenders",className:"hover:text-primary",children:"Business Services"}),e.jsx(S,{className:"h-3 w-3"}),e.jsx("span",{className:"text-primary",children:t.shortTitle})]}),e.jsxs("div",{className:"max-w-4xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx(w,{className:"bg-primary/20 text-primary border-primary",children:t.sector}),e.jsx(w,{className:"bg-white/10 text-white/80 border-white/20",children:"Business Account"})]}),e.jsxs("h1",{className:"text-3xl md:text-4xl font-bold text-white mb-4","data-testid":"text-tender-title",children:[t.title,s?` - ${s}`:""]}),e.jsx("p",{className:"text-lg text-white/80 mb-6",children:t.description}),e.jsxs("div",{className:"flex items-center gap-6 flex-wrap",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(W,{className:"h-4 w-4 text-primary"}),e.jsx("span",{className:"text-sm text-white/70",children:"24/7 Availability"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(v,{className:"h-4 w-4 text-primary"}),e.jsx("span",{className:"text-sm text-white/70",children:"Fully Licensed & Insured"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(A,{className:"h-4 w-4 text-primary"}),e.jsx("span",{className:"text-sm text-white/70",children:"Nationwide Coverage"})]})]})]})]})})}function Ke({tender:t,TenderIcon:s}){return e.jsxs("section",{children:[e.jsxs("h2",{className:"text-primary font-bold text-xl mb-4 flex items-center gap-2",children:[e.jsx(s,{className:"h-5 w-5"}),"How We Can Help Your Organisation"]}),e.jsx("p",{className:"text-white/80 leading-relaxed",children:t.longDescription.replace(/£[\d,.]+\s*(million|billion|thousand)?/gi,"significant").replace(/over significant/gi,"substantial")})]})}function Qe({tender:t,brandName:s}){return e.jsxs("section",{children:[e.jsxs("h2",{className:"text-primary font-bold text-xl mb-6",children:["Why Partner With ",s,"?"]}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:t.benefits.map((a,r)=>e.jsxs("div",{className:"flex items-start gap-3 p-3",children:[e.jsx(T,{className:"h-5 w-5 text-primary shrink-0 mt-0.5"}),e.jsx("span",{className:"text-white/80 text-sm",children:a})]},r))})]})}function We({tender:t}){return e.jsxs("section",{children:[e.jsx("h2",{className:"text-primary font-bold text-xl mb-6",children:"Our Standards & Compliance"}),e.jsx(c,{className:"bg-black border-primary",children:e.jsx(l,{className:"pt-6",children:e.jsx("div",{className:"space-y-3",children:t.requirements.map((s,a)=>{const r=s.replace(/£[\d,.]+\s*(million|billion|thousand)?/gi,"comprehensive").replace(/minimum comprehensive/gi,"full");return e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(v,{className:"h-4 w-4 text-primary shrink-0 mt-1"}),e.jsx("span",{className:"text-white/80 text-sm",children:r})]},a)})})})})]})}function Ge(){return e.jsxs("section",{children:[e.jsx("h2",{className:"text-primary font-bold text-xl mb-4",children:"How It Works"}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-4",children:[e.jsx(c,{className:"bg-black border-primary",children:e.jsxs(l,{className:"pt-6 text-center",children:[e.jsx("h3",{className:"text-white font-semibold mb-1",children:"1. Get In Touch"}),e.jsx("p",{className:"text-white/60 text-sm",children:"Tell us about your transport requirements and we'll prepare a tailored proposal"})]})}),e.jsx(c,{className:"bg-black border-primary",children:e.jsxs(l,{className:"pt-6 text-center",children:[e.jsx("h3",{className:"text-white font-semibold mb-1",children:"2. Account Setup"}),e.jsx("p",{className:"text-white/60 text-sm",children:"We set up your dedicated business account with agreed rates and invoicing"})]})}),e.jsx(c,{className:"bg-black border-primary",children:e.jsxs(l,{className:"pt-6 text-center",children:[e.jsx("h3",{className:"text-white font-semibold mb-1",children:"3. Start Booking"}),e.jsx("p",{className:"text-white/60 text-sm",children:"Book via your portal, phone, or email with priority dispatch and tracking"})]})})]})]})}function Ve({tender:t}){return e.jsxs("section",{children:[e.jsx("h2",{className:"text-primary font-bold text-xl mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:t.faqs.map((s,a)=>e.jsx(c,{className:"bg-black border-primary",children:e.jsxs(l,{className:"pt-6",children:[e.jsx("h3",{className:"text-white font-semibold mb-2",children:s.question.replace(/£[\d,.]+\s*(million|billion|thousand)?/gi,"significant amounts")}),e.jsx("p",{className:"text-white/70 text-sm leading-relaxed",children:s.answer.replace(/£[\d,.]+\s*(million|billion|thousand)?/gi,"significant amounts").replace(/over significant amounts/gi,"substantial amounts")})]})},a))})]})}function Je({tenders:t,sector:s}){return t.length===0?null:e.jsxs("section",{children:[e.jsxs("h2",{className:"text-primary font-bold text-xl mb-6",children:["Related ",s," Services"]}),e.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:t.map(a=>{const r=k[a.icon]||y;return e.jsx(N,{href:`/tenders/${a.slug}`,children:e.jsx(c,{className:"bg-black border-primary hover-elevate cursor-pointer h-full","data-testid":`card-tender-${a.slug}`,children:e.jsxs(l,{className:"pt-6",children:[e.jsx(r,{className:"h-6 w-6 text-primary mb-3"}),e.jsx("h3",{className:"text-white font-semibold text-sm mb-2",children:a.shortTitle}),e.jsx("p",{className:"text-white/60 text-xs line-clamp-2",children:a.description})]})})},a.slug)})})]})}function Ye({tenders:t}){return t.length===0?null:e.jsxs("section",{children:[e.jsx("h2",{className:"text-primary font-bold text-xl mb-6",children:"Other Services We Offer"}),e.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:t.map(s=>{const a=k[s.icon]||y;return e.jsx(N,{href:`/tenders/${s.slug}`,children:e.jsx(c,{className:"bg-black border-white/10 hover-elevate cursor-pointer h-full","data-testid":`card-tender-${s.slug}`,children:e.jsxs(l,{className:"pt-6",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(a,{className:"h-5 w-5 text-primary"}),e.jsx(w,{className:"bg-white/10 text-white/70 border-white/20 text-xs",children:s.sector})]}),e.jsx("h3",{className:"text-white font-semibold text-sm mb-2",children:s.shortTitle}),e.jsx("p",{className:"text-white/60 text-xs line-clamp-2",children:s.description})]})})},s.slug)})})]})}function ze({form:t}){return e.jsxs(e.Fragment,{children:[e.jsx(o,{control:t.control,name:"companyName",render:({field:s})=>e.jsxs(d,{children:[e.jsx(m,{className:"text-white/80",children:"Company / Organisation"}),e.jsx(x,{children:e.jsx(b,{...s,className:"bg-black border-white/20 text-white",placeholder:"e.g. NHS Trust Name","data-testid":"input-company-name"})}),e.jsx(h,{})]})}),e.jsx(o,{control:t.control,name:"contactName",render:({field:s})=>e.jsxs(d,{children:[e.jsx(m,{className:"text-white/80",children:"Contact Name"}),e.jsx(x,{children:e.jsx(b,{...s,className:"bg-black border-white/20 text-white",placeholder:"Full name","data-testid":"input-contact-name"})}),e.jsx(h,{})]})}),e.jsx(o,{control:t.control,name:"jobTitle",render:({field:s})=>e.jsxs(d,{children:[e.jsx(m,{className:"text-white/80",children:"Job Title"}),e.jsx(x,{children:e.jsx(b,{...s,className:"bg-black border-white/20 text-white",placeholder:"e.g. Procurement Manager","data-testid":"input-job-title"})}),e.jsx(h,{})]})}),e.jsx(o,{control:t.control,name:"email",render:({field:s})=>e.jsxs(d,{children:[e.jsx(m,{className:"text-white/80",children:"Email"}),e.jsx(x,{children:e.jsx(b,{...s,type:"email",className:"bg-black border-white/20 text-white",placeholder:"[email protected]","data-testid":"input-email"})}),e.jsx(h,{})]})}),e.jsx(o,{control:t.control,name:"phone",render:({field:s})=>e.jsxs(d,{children:[e.jsx(m,{className:"text-white/80",children:"Phone"}),e.jsx(x,{children:e.jsx(b,{...s,className:"bg-black border-white/20 text-white",placeholder:"07xxx xxx xxx","data-testid":"input-phone"})}),e.jsx(h,{})]})}),e.jsx(o,{control:t.control,name:"estimatedMonthlySpend",render:({field:s})=>e.jsxs(d,{children:[e.jsx(m,{className:"text-white/80",children:"Estimated Monthly Spend"}),e.jsx(x,{children:e.jsx(b,{...s,className:"bg-black border-white/20 text-white",placeholder:"e.g. 50-100 trips per month","data-testid":"input-monthly-spend"})}),e.jsx(h,{})]})}),e.jsx(o,{control:t.control,name:"requirements",render:({field:s})=>e.jsxs(d,{children:[e.jsx(m,{className:"text-white/80",children:"Additional Requirements"}),e.jsx(x,{children:e.jsx(G,{...s,className:"bg-black border-white/20 text-white resize-none",placeholder:"Tell us about your transport needs...",rows:3,"data-testid":"input-requirements"})}),e.jsx(h,{})]})}),e.jsx(o,{control:t.control,name:"consent",render:({field:s})=>e.jsxs(d,{className:"flex items-start gap-3",children:[e.jsx(x,{children:e.jsx(Re,{checked:s.value,onCheckedChange:s.onChange,className:"mt-1 border-white/30","data-testid":"checkbox-consent"})}),e.jsxs(m,{className:"text-white/60 text-xs leading-normal",children:["I agree to be contacted about our transport services and accept the ",e.jsx(N,{href:"/terms",className:"text-primary underline",children:"terms & conditions"}),"."]}),e.jsx(h,{})]})})]})}function Ze({form:t,mutation:s,submitted:a}){return e.jsxs(c,{className:"bg-black border-primary",children:[e.jsxs(V,{children:[e.jsxs("h2",{className:"text-primary font-bold text-xl flex items-center gap-2",children:[e.jsx(De,{className:"h-5 w-5"}),"Get a Tailored Quote"]}),e.jsx("p",{className:"text-white/60 text-sm",children:"Tell us about your transport requirements and our team will prepare a tailored proposal for your organisation within 24 hours."})]}),e.jsx(l,{children:a?e.jsxs("div",{className:"text-center py-8",children:[e.jsx(T,{className:"h-12 w-12 text-primary mx-auto mb-4"}),e.jsx("h3",{className:"text-white font-semibold text-lg mb-2",children:"Enquiry Received"}),e.jsx("p",{className:"text-white/60 text-sm",children:"Thank y
1ou for your interest. Our business accounts team will review your requirements and contact you within 24 hours with a tailored proposal."}),e.jsx("div",{className:"mt-4 p-3 bg-primary/10 rounded-md",children:e.jsx("p",{className:"text-primary text-sm font-medium",children:"We will be in touch shortly"})})]}):e.jsx(He,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(r=>s.mutate(r)),className:"space-y-4",children:[e.jsx(ze,{form:t}),e.jsxs(q,{type:"submit",className:"w-full",disabled:s.isPending,"data-testid":"button-submit-tender",children:[s.isPending?"Submitting...":"Request a Quote",e.jsx(J,{className:"h-4 w-4 ml-2"})]})]})})})]})}const _e=["30-Day Payment Terms","Dedicated Account Manager","No Surge Pricing","Monthly Consolidated Invoicing","Nationwide UK Coverage","24/7 Availability"];function Xe(){return e.jsx(c,{className:"bg-black border-white/10",children:e.jsxs(l,{className:"pt-6",children:[e.jsx("h3",{className:"text-white font-semibold mb-3",children:"Your Account Benefits"}),e.jsx("div",{className:"space-y-3",children:_e.map(t=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(T,{className:"h-4 w-4 text-primary"}),e.jsx("span",{className:"text-white/70 text-sm",children:t})]},t))})]})})}function es({tender:t}){return e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.faqs.map(s=>({"@type":"Question",name:s.question,acceptedAnswer:{"@type":"Answer",text:s.answer}}))})}})}function $s(){const[t]=Y(),s=t.split("/").filter(Boolean).pop()||"",a=z(),{data:r,isLoading:j}=Ee(s),i=r?.tender,p=a.focusLocation!=="United Kingdom"?a.focusLocation:"",{form:n,mutation:g,submitted:f}=Ie({tenderSlug:i?.slug,domain:a.domain});if(Me({tender:i,domainConfig:a,locationLabel:p}),j)return e.jsx("div",{className:"min-h-screen bg-black text-white flex items-center justify-center",children:e.jsx("div",{className:"text-center text-white/60",children:"Loading..."})});if(!i)return e.jsx("div",{className:"min-h-screen bg-black text-white flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("h2",{className:"text-2xl font-bold text-primary mb-4",children:"Service Category Not Found"}),e.jsx(N,{href:"/tenders",children:e.jsx(q,{"data-testid":"link-back-tenders",children:"View All Service Categories"})})]})});const P=k[i.icon]||y,C=r?.related??[],L=r?.others??[];return e.jsxs("div",{className:"min-h-screen bg-black text-white",children:[e.jsx(Ue,{tender:i,locationLabel:p}),e.jsx("div",{className:"container mx-auto px-4 py-12",children:e.jsxs("div",{className:"grid lg:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"lg:col-span-2 space-y-10",children:[e.jsx(Ke,{tender:i,TenderIcon:P}),e.jsx(Qe,{tender:i,brandName:a.brandName}),e.jsx(We,{tender:i}),e.jsx(Ge,{}),e.jsx(Ve,{tender:i}),e.jsx(Je,{tenders:C,sector:i.sector}),e.jsx(Ye,{tenders:L})]}),e.jsx("div",{className:"lg:col-span-1",children:e.jsxs("div",{className:"sticky top-4 space-y-6",children:[e.jsx(Ze,{form:n,mutation:g,submitted:f}),e.jsx(Xe,{})]})})]})}),e.jsx(es,{tender:i})]})}export{$s 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.