PageSourceSearch

https://bikebook.co.uk/_next/static/chunks/5737-29fd13d1de07fc5c.js

js bikebook.co.uk collected 2026-09-24 09:52:30 UTC 100,557 bytes, 2 lines download raw bytes

1try{!function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e187ba88-1e9a-462e-b259-cca54d00f679",e._sentryDebugIdIdentifier="sentry-dbid-e187ba88-1e9a-462e-b259-cca54d00f679")}()}catch(e){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5737],{2929:(e,n,t)=>{t.d(n,{A:()=>v});var i=t(6029);t(75155);var o=t(44981),l=t(35197),a=t(63860),s=t(6688),r=t(38312),c=t(72091),d=t(45401),u=t(55729),m=t(1909),p=t(16531),h=t(95051),b=t(57391),g=t(8013),y=t(21941),f=t(86147),x=t(90944);let v=e=>{let{open:n,setOpen:t,business:v}=e,k=(0,g.jL)(),{t:j}=(0,x.WD)(),{customer:A}=(0,g.GV)(e=>e.booking.values),{settings:C}=v,I=null==C?void 0:C.bookingProcessContactDetailsRequirement,P=y.Ik().shape({firstName:y.Yj().required(j("validation.firstNameRequired","First name is required")),lastName:y.Yj().required(j("validation.lastNameRequired","Last name is required")),..."RequireEmail"===I?{email:y.Yj().email(j("validation.validEmail","Must be a valid email")).required(j("validation.emailRequired","Email is required"))}:{},..."RequirePhoneNumber"===I?{phone:y.Yj().required(j("validation.phoneRequired","Phone number is required")).test("isValidPhone",j("validation.validPhone","Please enter a valid phone number"),e=>(0,f.l0)(e))}:{},..."RequireEmailAndPhoneNumber"===I?{email:y.Yj().email(j("validation.validEmail","Must be a valid email")).required(j("validation.emailRequired","Email is required")),phone:y.Yj().required(j("validation.phoneRequired","Phone number is required")).test("isValidPhone",j("validation.validPhone","Please enter a valid phone number"),e=>(0,f.l0)(e))}:{},..."RequireEmailOrPhoneNumber"===I?{email:y.Yj().email(j("validation.validEmail","Must be a valid email")),phone:y.Yj().test("isValidPhone",j("validation.validPhone","Please enter a valid phone number"),e=>!e||(0,f.l0)(e))}:{}}).test("emailOrPhone",j("validation.emailOrPhoneRequired","Either email or phone number is required"),function(e){return"RequireEmailOrPhoneNumber"!==I||!!(e.email||e.phone)}),S={firstName:"",lastName:"",email:"",phone:"",preferredContactMethod:"Email"},w=(0,m.mN)({defaultValues:S,resolver:(0,o.t)(P)}),{reset:D,watch:B,control:T,setValue:R,getValues:N,handleSubmit:E,formState:{isSubmitting:L,isValid:W}}=w,q=async e=>new Promise((n,i)=>{k((0,b.gW)(e)),t(!1)});return(0,u.useEffect)(()=>{n&&D({firstName:A.firstName,lastName:A.lastName,email:A.email,phone:A.phone,preferredContactMethod:A.preferredContactMethod})},[n]),(0,i.jsx)(h.A,{open:n,onClose:()=>t(!1),fullWidth:!0,maxWidth:"sm",disableTransition:!0,scroll:"paper",title:j("booking.contact.provideInfo","Please provide your contact information"),subheader:j("booking.contact.requiredInfo","The mechanic requires your contact information to confirm your booking."),actions:[{type:"button",content:j("vocab.clear","Clear"),buttonProps:{onClick:()=>{D(S),k((0,b.gW)(S)),t(!1)}},side:{sm:"left",md:"left"}},{type:"button",content:j("vocab.save","Save"),buttonProps:{onClick:E(q),variant:"contained",sx:{boxShadow:"none"}},side:"right"}],children:(0,i.jsx)(p.Op,{methods:w,onSubmit:E(q),children:(0,i.jsx)(l.A,{sx:{},children:(0,i.jsxs)(a.A,{container:!0,spacing:2,children:[(0,i.jsx)(a.A,{size:{xs:12,sm:6},children:(0,i.jsx)(p.o3,{name:"firstName",label:j("booking.contact.firstName","First name *"),fullWidth:!0})}),(0,i.jsx)(a.A,{size:{xs:12,sm:6},children:(0,i.jsx)(p.o3,{name:"lastName",label:j("booking.contact.lastName","Last name *"),fullWidth:!0})}),(0,i.jsx)(a.A,{size:{xs:12,sm:6},children:(0,i.jsx)(p.o3,{name:"email",label:"RequireEmail"===I||"RequireEmailAndPhoneNumber"===I?j("booking.contact.emailRequired","Email *"):j("booking.contact.email","Email"),fullWidth:!0})}),(0,i.jsx)(a.A,{size:{xs:12,sm:6},children:(0,i.jsx)(p.pX,{name:"phone",label:"RequirePhoneNumber"===I||"RequireEmailAndPhoneNumber"===I?j("booking.contact.phoneRequired","Phone number *"):j("booking.contact.phone","Phone number"),fullWidth:!0,placeholder:j("booking.contact.phone","Phone number")})}),"RequireEmailOrPhoneNumber"===I&&(0,i.jsx)(a.A,{size:{xs:12,sm:12},children:(0,i.jsx)(s.A,{variant:"body2",sx:{color:"red"},children:j("booking.contact.emailOrPhoneInfo","Please provide either your email OR phone number. Both is preferred for a better booking experience but only one is required.")})}),(0,i.jsx)(a.A,{size:{xs:12,sm:12},children:(0,i.jsx)(r.A,{})}),(0,i.jsx)(a.A,{size:{xs:12,sm:12},children:(0,i.jsxs)(c.A,{children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:"16px!important"},children:(0,i.jsx)("strong",{children:j("booking.contact.preferredMethod","Preferred contact method")})}),(0,i.jsx)(s.A,{variant:"body2",sx:{},children:j("booking.contact.preferredMethodInfo","This is the preferred way to receive updates on your booking.")})]})}),(0,i.jsx)(a.A,{size:{xs:12,sm:12},children:(0,i.jsxs)(p.tX,{name:"preferredContactMethod",fullWidth:!0,native:!1,children:[(0,i.jsx)(d.A,{value:"Email",children:j("booking.contact.methodEmail","Email")}),(0,i.jsx)(d.A,{value:"Phone",children:j("booking.contact.methodPhone","Phone")})]})})]})})})})}},12968:(e,n,t)=>{t.d(n,{A:()=>H});var i=t(6029),o=t(75155),l=t(46232),a=t(35197),s=t(6688),r=t(72091),c=t(29113),d=t(29723),u=t(94713),m=t(55729),p=t(95051),h=t(57391),b=t(19182),g=t(73585),y=t(58161),f=t(71330),x=t(4196),v=t(16829),k=t(38312),j=t(11510),A=t(36322),C=t(3067),I=t(46831),P=t(28389),S=t(49428),w=t(90944),D=t(8013);let B=e=>{let n,t,d,u,h,b,g,y,f,B,R,N,E,L,W,q,F,O,_,z,H,G,M=(0,o.c)(81),{bike:V,open:U,setOpen:K,onDelete:Y}=e,{t:J}=(0,w.WD)(),[X,Q]=(0,m.useState)(null),[Z,$]=(0,m.useState)(!0),[ee,en]=(0,m.useState)(null),[et,ei]=(0,m.useState)(null),[eo,el]=(0,m.useState)(!0),[ea,es]=(0,m.useState)(!1),er=(0,D.GV)(T),ec=(0,D.jL)();M[0]!==K?(n=()=>{K(!1)},M[0]=K,M[1]=n):n=M[1];let ed=n;M[2]!==V.customerId||M[3]!==ec?(t=()=>{$(!0),ec((0,S.FS)({url:"/Customer/GetCustomer?customerId="+V.customerId,onSuccess:e=>{Q(e.data)},onFinally:()=>{$(!1)}}))},M[2]=V.customerId,M[3]=ec,M[4]=t):t=M[4];let eu=t;M[5]!==V.bikeId||M[6]!==er||M[7]!==ec?(d=()=>{el(!0),ec((0,S.FS)({url:"/Job/GetByBike",values:{bikeId:V.bikeId,businessId:er},onSuccess:e=>{en(e.data)},onFinally:()=>{el(!1)}}))},M[5]=V.bikeId,M[6]=er,M[7]=ec,M[8]=d):d=M[8];let em=d;M[9]!==V.bikeId||M[10]!==ed||M[11]!==ec||M[12]!==Y||M[13]!==(null==et?void 0:et.bikeId)?(u=()=>{es(!0),ec((0,S.FS)({url:"/Bike/DeleteAndTransfer",values:{bikeId:V.bikeId,transferToBikeId:null==et?void 0:et.bikeId},onSuccess:e=>{ec((0,I.kw)("success","Bike deleted and jobs transferred successfully.")),ed(),ec((0,P.B5)()),Y&&Y()},onFinally:()=>{es(!1)}}))},M[9]=V.bikeId,M[10]=ed,M[11]=ec,M[12]=Y,M[13]=null==et?void 0:et.bikeId,M[14]=u):u=M[14];let ep=u;M[15]!==V.bikeId||M[16]!==ed||M[17]!==ec||M[18]!==Y?(h=()=>{es(!0),ec((0,S.FS)({url:"/Bike/DeleteBike",values:{bikeId:V.bikeId},onSuccess:e=>{ec((0,P.Bh)()),ec((0,I.kw)("success","Bike deleted successfully.")),ed(),Y&&Y
1()},onFinally:()=>{es(!1)}}))},M[15]=V.bikeId,M[16]=ed,M[17]=ec,M[18]=Y,M[19]=h):h=M[19];let eh=h;M[20]!==ep||M[21]!==eh||M[22]!==et?(b=()=>{null!=et?ep():eh()},M[20]=ep,M[21]=eh,M[22]=et,M[23]=b):b=M[23];let eb=b;M[24]!==eu||M[25]!==em||M[26]!==U?(g=()=>{U?(eu(),em()):(en(null),ei(null),Q(null))},M[24]=eu,M[25]=em,M[26]=U,M[27]=g):g=M[27],M[28]!==U?(y=[U],M[28]=U,M[29]=y):y=M[29],(0,m.useEffect)(g,y),M[30]!==V.name||M[31]!==J?(f=J("deleteBikeDialog.title","Delete bike {name}?",{name:V.name}),M[30]=V.name,M[31]=J,M[32]=f):f=M[32],M[33]!==J?(B=J("deleteBikeDialog.subheader","This cannot be undone and if the bike has previously associated jobs you will need to choose another bike below to transfer them to."),M[33]=J,M[34]=B):B=M[34],M[35]!==J?(R=J("vocab.close","Close"),M[35]=J,M[36]=R):R=M[36],M[37]!==ed?(N={onClick:ed},M[37]=ed,M[38]=N):N=M[38],M[39]!==R||M[40]!==N?(E={type:"button",content:R,hideOnMobile:!0,buttonProps:N,side:"left"},M[39]=R,M[40]=N,M[41]=E):E=M[41],M[42]!==J?(L=J("vocab.delete","Delete"),M[42]=J,M[43]=L):L=M[43];let eg=eo||Z||null==ee||0!=ee.length&&null==et;if(M[44]===Symbol.for("react.memo_cache_sentinel")?(W=(0,i.jsx)(c.l,{size:18}),M[44]=W):W=M[44],M[45]!==eb||M[46]!==ea||M[47]!==eg?(q={onClick:eb,variant:"contained",color:"error",disabled:eg,startIcon:W,loading:ea},M[45]=eb,M[46]=ea,M[47]=eg,M[48]=q):q=M[48],M[49]!==L||M[50]!==q?(F={type:"button",content:L,buttonProps:q,side:"right"},M[49]=L,M[50]=q,M[51]=F):F=M[51],M[52]!==E||M[53]!==F?(O=[E,F],M[52]=E,M[53]=F,M[54]=O):O=M[54],M[55]!==Z||M[56]!==eo||M[57]!==J?(_=(eo||Z)&&(0,i.jsx)(a.A,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:(0,i.jsxs)(r.A,{spacing:1,justifyContent:"center",alignItems:"center",children:[(0,i.jsx)(v.A,{size:20}),(0,i.jsx)(s.A,{variant:"body2",sx:{fontWeight:"600"},children:J("deleteBikeDialog.checkingDetails","Checking details, please wait")})]})}),M[55]=Z,M[56]=eo,M[57]=J,M[58]=_):_=M[58],M[59]!==Z||M[60]!==ee||M[61]!==eo||M[62]!==J?(z=!eo&&!Z&&(null==ee||0==ee.length)&&(0,i.jsx)(a.A,{children:(0,i.jsxs)(s.A,{variant:"body2",sx:{fontWeight:"600",display:"flex",alignItems:"center",gap:1},children:[J("deleteBikeDialog.noPreviousJobs","No previous jobs found, this bike can be deleted.")," ",(0,i.jsx)(j.r,{size:18,weight:"fill",color:"#00AB55"})]})}),M[59]=Z,M[60]=ee,M[61]=eo,M[62]=J,M[63]=z):z=M[63],M[64]!==V.bikeId||M[65]!==X||M[66]!==Z||M[67]!==ee||M[68]!==eo||M[69]!==(null==et?void 0:et.bikeId)||M[70]!==J){var ey,ef;H=!eo&&!Z&&null!=ee&&0!=ee.length&&(0,i.jsxs)(r.A,{spacing:2,children:[(0,i.jsx)(s.A,{variant:"body2",sx:{fontWeight:"600",display:"flex",alignItems:"center",gap:1},children:J("deleteBikeDialog.foundPreviousJobs","We have found ({count}) previous jobs attached to this bike so we cannot remove it without transferring the jobs to another bike.",{count:ee.length})}),(0,i.jsxs)(r.A,{children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:"16px!important"},children:(0,i.jsx)("strong",{children:J("deleteBikeDialog.selectTransferBike","Select a bike to transfer previous jobs to:")})}),X.bikes&&(null==(ey=X.bikes)?void 0:ey.filter(e=>e.bikeId!=V.bikeId).map((e,n)=>{var t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(a.A,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",columnGap:2},children:[(0,i.jsx)(s.A,{variant:"body2",sx:{fontWeight:"600"},children:(0,x.G)(e)}),(0,i.jsx)(l.A,{onClick:()=>{ei(e)},color:(null==et?void 0:et.bikeId)==e.bikeId?"secondary":"primary",startIcon:(null==et?void 0:et.bikeId)==e.bikeId?(0,i.jsx)(A.J,{}):(0,i.jsx)(C.F,{}),children:(null==et?void 0:et.bikeId)==e.bikeId?J("vocab.selected","Selected"):J("vocab.select","Select")})]}),n<(null==(t=X.bikes)?void 0:t.filter(n=>n.bikeId!=e.bikeId).length)-1&&(0,i.jsx)(k.A,{})]})})),(!X.bikes||(null==(ef=X.bikes)?void 0:ef.filter(e=>e.bikeId!=V.bikeId).length)==0)&&(0,i.jsx)(a.A,{children:(0,i.jsx)(s.A,{variant:"body2",sx:{fontWeight:"600"},children:J("deleteBikeDialog.noBikesFound","No bikes found")})})]})]}),M[64]=V.bikeId,M[65]=X,M[66]=Z,M[67]=ee,M[68]=eo,M[69]=null==et?void 0:et.bikeId,M[70]=J,M[71]=H}else H=M[71];return M[72]!==ed||M[73]!==U||M[74]!==B||M[75]!==O||M[76]!==_||M[77]!==z||M[78]!==H||M[79]!==f?(G=(0,i.jsxs)(p.A,{open:U,onClose:ed,title:f,subheader:B,actions:O,fullWidth:!0,maxWidth:"sm",children:[_,z,H]}),M[72]=ed,M[73]=U,M[74]=B,M[75]=O,M[76]=_,M[77]=z,M[78]=H,M[79]=f,M[80]=G):G=M[80],G};function T(e){var n,t;return null==(t=e.business)||null==(n=t.data)?void 0:n.businessId}var R=t(40288),N=t(4062);let E=e=>{let n,t,c,d,u,h,b,g,f,j,B,T,E,L,W,q,F,O,_=(0,o.c)(61),{bike:z,open:H,setOpen:G,onMerge:M}=e,{t:V}=(0,w.WD)(),[U,K]=(0,m.useState)(null),[Y,J]=(0,m.useState)(!0),[X,Q]=(0,m.useState)(null),[Z,$]=(0,m.useState)(!1),[ee,en]=(0,m.useState)(!1),et=(0,D.jL)();_[0]!==G?(n=()=>{G(!1)},_[0]=G,_[1]=n):n=_[1];let ei=n;_[2]!==z.customerId||_[3]!==et?(t=()=>{J(!0),et((0,S.FS)({url:"/Customer/GetCustomer?customerId="+z.customerId,onSuccess:e=>{K(e.data)},onFinally:()=>{J(!1)}}))},_[2]=z.customerId,_[3]=et,_[4]=t):t=_[4];let eo=t;_[5]!==z.bikeId||_[6]!==ei||_[7]!==et||_[8]!==M||_[9]!==(null==X?void 0:X.bikeId)||_[10]!==V?(c=()=>{en(!0),et((0,S.FS)({url:"/Bike/MergeBikes",values:{bikeId:z.bikeId,mergeIntoBikeId:null==X?void 0:X.bikeId},onSuccess:e=>{et((0,P.Bh)()),et((0,I.kw)("success",V("bikes.mergeSuccess"))),ei(),M&&M()},onFinally:()=>{en(!1)}}))},_[5]=z.bikeId,_[6]=ei,_[7]=et,_[8]=M,_[9]=null==X?void 0:X.bikeId,_[10]=V,_[11]=c):c=_[11];let el=c;_[12]!==eo||_[13]!==H?(d=()=>{H?eo():(Q(null),K(null),$(!1))},_[12]=eo,_[13]=H,_[14]=d):d=_[14],_[15]!==H?(u=[H],_[15]=H,_[16]=u):u=_[16],(0,m.useEffect)(d,u),_[17]!==z.name||_[18]!==V?(h=V("bikes.mergeBikeTitle",{name:z.name}),_[17]=z.name,_[18]=V,_[19]=h):h=_[19],_[20]!==V?(b=V("bikes.mergeWarning"),_[20]=V,_[21]=b):b=_[21],_[22]!==V?(g=V("vocab.close"),_[22]=V,_[23]=g):g=_[23],_[24]!==ei?(f={onClick:ei},_[24]=ei,_[25]=f):f=_[25],_[26]!==g||_[27]!==f?(j={type:"button",content:g,hideOnMobile:!0,buttonProps:f,side:"left"}
1,_[26]=g,_[27]=f,_[28]=j):j=_[28],_[29]!==V?(B=V("vocab.merge"),_[29]=V,_[30]=B):B=_[30];let ea=Y||null==X||!Z;if(_[31]===Symbol.for("react.memo_cache_sentinel")?(T=(0,i.jsx)(y.P,{size:18}),_[31]=T):T=_[31],_[32]!==el||_[33]!==ee||_[34]!==ea?(E={onClick:el,variant:"contained",disabled:ea,startIcon:T,loading:ee},_[32]=el,_[33]=ee,_[34]=ea,_[35]=E):E=_[35],_[36]!==B||_[37]!==E?(L={type:"button",content:B,buttonProps:E,side:"right"},_[36]=B,_[37]=E,_[38]=L):L=_[38],_[39]!==j||_[40]!==L?(W=[j,L],_[39]=j,_[40]=L,_[41]=W):W=_[41],_[42]!==Y||_[43]!==V?(q=Y&&(0,i.jsx)(a.A,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:(0,i.jsxs)(r.A,{spacing:1,justifyContent:"center",alignItems:"center",children:[(0,i.jsx)(v.A,{size:20}),(0,i.jsx)(s.A,{variant:"body2",sx:{fontWeight:"600"},children:V("bikes.checkingDetails")})]})}),_[42]=Y,_[43]=V,_[44]=q):q=_[44],_[45]!==z.bikeId||_[46]!==z.name||_[47]!==U||_[48]!==Y||_[49]!==Z||_[50]!==X||_[51]!==V){var es,er;F=U&&!Y&&(0,i.jsxs)(r.A,{spacing:2,children:[(0,i.jsxs)(s.A,{variant:"body2",sx:{fontWeight:"600"},children:[V("bikes.mergeDetailsHeader"),(0,i.jsxs)("ul",{style:{marginLeft:20,marginTop:"8px"},children:[(0,i.jsx)("li",{children:V("bikes.mergeJobs")}),(0,i.jsx)("li",{children:V("bikes.mergeMedia")}),(0,i.jsx)("li",{children:V("bikes.mergeReports")}),(0,i.jsx)("li",{children:V("bikes.mergeDetails")})]})]}),(0,i.jsxs)(r.A,{spacing:.5,children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:"16px!important"},children:(0,i.jsx)("strong",{children:V("bikes.selectMergeBike")})}),null==U||null==(es=U.bikes)?void 0:es.filter(e=>e.bikeId!=z.bikeId).map((e,n)=>{var t,o;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(a.A,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",columnGap:2},children:[(0,i.jsx)(s.A,{variant:"body2",sx:{fontWeight:"600"},children:(0,x.G)(e)}),(0,i.jsx)(l.A,{onClick:()=>{Q(e)},color:(null==X?void 0:X.bikeId)==e.bikeId?"secondary":"primary",startIcon:(null==X?void 0:X.bikeId)==e.bikeId?(0,i.jsx)(A.J,{}):(0,i.jsx)(C.F,{}),children:(null==X?void 0:X.bikeId)==e.bikeId?V("vocab.selected"):V("vocab.select")})]}),n<(null!=(o=null==(t=U.bikes)?void 0:t.filter(n=>n.bikeId!=e.bikeId).length)?o:0)-1&&(0,i.jsx)(k.A,{})]})}),(null==U||null==(er=U.bikes)?void 0:er.filter(e=>e.bikeId!=z.bikeId).length)==0&&(0,i.jsx)(a.A,{children:(0,i.jsx)(s.A,{variant:"body2",sx:{fontWeight:"600"},children:V("bikes.noBikesFound")})})]}),null!=X&&(0,i.jsx)(R.A,{labelPlacement:"end",control:(0,i.jsx)(N.A,{checked:Z,onChange:(e,n)=>{$(n)}}),style:{marginLeft:"-10px",marginTop:"8px",marginBottom:"0px"},label:(0,i.jsx)(a.A,{sx:{fontWeight:"400"},children:V("bikes.mergeConfirmation",{sourceBike:z.name,targetBike:null==X?void 0:X.name})})})]}),_[45]=z.bikeId,_[46]=z.name,_[47]=U,_[48]=Y,_[49]=Z,_[50]=X,_[51]=V,_[52]=F}else F=_[52];return _[53]!==ei||_[54]!==H||_[55]!==W||_[56]!==q||_[57]!==F||_[58]!==h||_[59]!==b?(O=(0,i.jsxs)(p.A,{open:H,onClose:ei,title:h,subheader:b,actions:W,fullWidth:!0,maxWidth:"sm",children:[q,F]}),_[53]=ei,_[54]=H,_[55]=W,_[56]=q,_[57]=F,_[58]=h,_[59]=b,_[60]=O):O=_[60],O};var L=t(74312),W=t.n(L),q=t(75010),F=t(66094);let O=e=>{var n,t;let{bike:o,subtext:u=null,hideButtons:p=!1,hideMerge:h=!1,onEdit:b,onDelete:v,disableDefaultDeletingAndMerging:k=!1,onMerge:j,additionalInformation:A=null,buttonsOverride:C=null,defaultImageUrl:I=null,hideBikeIcon:P=!1,hideSubText:T=!1,titleFontSize:R="16px!important",endComponent:N=null,small:L=!1,business:O=null,showArn:_=!1}=e,z=(0,D.jL)(),{t:H}=(0,w.WD)(),[G,M]=(0,m.useState)(!1),[V,U]=(0,m.useState)(!1),[K,Y]=(0,m.useState)(null);(0,m.useEffect)(()=>{null!=o&&null!=o.bikeId&&null==K&&null==K&&z((0,S.FS)({url:"/Bike/GetLastServicedDate",values:{bikeId:o.bikeId},onSuccess:e=>{if(null==e.data)return void Y(H("bikes.last_serviced_na"));Y((0,F.Gl)(W()(e.data),F.LN.NUMERIC_DATE))}}))},[null==o?void 0:o.bikeId]),null==I&&(null==o||null==(n=o.resources)?void 0:n.defaultResourceHandle)!=null&&(I="https://api.bikebook.co.uk"+(null==(t=o.resources)?void 0:t.defaultResourceHandle.url));let J=q.q.GetBusinessCategoryIcon(O),X=null;return null!=o.purchaseDate&&""!==o.purchaseDate&&(X=(0,F.Gl)(W().utc(o.purchaseDate),F.LN.NUMERIC_DATE)),console.log(I),(0,i.jsxs)(r.A,{spacing:1,direction:"row",justifyContent:"space-between",children:[(0,i.jsxs)(r.A,{spacing:1,children:[(0,i.jsxs)(r.A,{direction:"row",spacing:2,alignItems:"center",children:[I&&(0,i.jsx)("img",{src:I,height:48,width:48,style:{objectFit:"contain",borderRadius:"8px",overflow:"hidden",minWidth:"48px",minHeight:"48px"}}),!I&&(0,i.jsx)(f.A,{defaultSize:L?40:48,src:null,defaultBorderRadius:8,icon:(0,i.jsx)(J,{size:L?24:28,color:"#d9d9d9"})}),(0,i.jsxs)(r.A,{children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:L?"14px!important":R},children:(0,i.jsx)("strong",{children:(0,x.G)(o,!1,O)})}),_&&null!=o.arn&&""!==o.arn?(0,i.jsxs)(s.A,{variant:"body2",children:[(0,i.jsx)("strong",{children:"".concat(H("bikes.arn","ARN"),":")})," ".concat(o.arn)]}
1):null,!T&&(0,i.jsxs)(s.A,{variant:"body2",sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},flexWrap:"wrap",alignItems:{xs:"flex-start",sm:"center"},columnGap:1,"& *":{fontSize:L?"12px!important":"14px"}},children:[u||(K?"".concat(H("bikes.last_serviced")," ").concat(K):(0,i.jsxs)(s.A,{variant:"body2",sx:{display:"flex",alignItems:"center"},children:[(0,i.jsx)(w.T,{keyName:"bikes.last_serviced_loading"})," ",(0,i.jsx)(g.A,{width:100,sx:{ml:1}})]})),null!==X&&(0,i.jsx)(a.A,{component:"span",sx:{display:"flex",alignItems:"center","&::before":{content:'"\xb7"',display:{xs:"none",sm:"inline"},color:"text.disabled",mr:1}},children:"".concat(H("bikes.purchased_on","Purchased on")," ").concat(X)})]}),A&&A]})]}),!C&&!p&&(0,i.jsxs)(r.A,{direction:"row",spacing:1,children:[(0,i.jsx)(l.A,{color:"error",size:"small",startIcon:(0,i.jsx)(c.l,{}),onClick:()=>{M(!0)},sx:{mr:1},children:(0,i.jsx)(w.T,{keyName:"vocab.delete"})}),(0,i.jsx)(l.A,{size:"small",startIcon:(0,i.jsx)(d.I,{}),onClick:b,children:(0,i.jsx)(w.T,{keyName:"vocab.edit"})}),!h&&(0,i.jsx)(l.A,{size:"small",startIcon:(0,i.jsx)(y.P,{}),onClick:()=>{U(!0)},children:(0,i.jsx)(w.T,{keyName:"vocab.merge"})})]}),null!=C&&C]}),!P&&(0,i.jsx)(a.A,{sx:e=>({[e.breakpoints.down("sm")]:{display:"none"}}),children:(0,i.jsx)(J,{size:L?32:40})}),N&&N,!k&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(B,{open:G,setOpen:M,bike:o,onDelete:v}),(0,i.jsx)(E,{open:V,setOpen:U,bike:o,onMerge:j})]})]})},_=e=>{let n,t,s,r,u,m,p,h,b,g,y=(0,o.c)(23),{bike:f,setAddBikeServicesDialogOpen:x,setSelectedDeleteBike:v,setEditBikeServices:k,hideButtons:j,t:A}=e;return null==f?null:(y[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,i.jsx)(c.l,{}),y[0]=n):n=y[0],y[1]!==f||y[2]!==v?(t=()=>{v(f)},y[1]=f,y[2]=v,y[3]=t):t=y[3],y[4]===Symbol.for("react.memo_cache_sentinel")?(s={mr:1},y[4]=s):s=y[4],y[5]!==A?(r=A("vocab.delete","Delete"),y[5]=A,y[6]=r):r=y[6],y[7]!==t||y[8]!==r?(u=(0,i.jsx)(l.A,{color:"error",size:"small",startIcon:n,onClick:t,sx:s,children:r}),y[7]=t,y[8]=r,y[9]=u):u=y[9],y[10]===Symbol.for("react.memo_cache_sentinel")?(m=(0,i.jsx)(d.I,{}),y[10]=m):m=y[10],y[11]!==f||y[12]!==x||y[13]!==k?(p=()=>{k(f),x(!0)},y[11]=f,y[12]=x,y[13]=k,y[14]=p):p=y[14],y[15]!==A?(h=A("vocab.edit","Edit"),y[15]=A,y[16]=h):h=y[16],y[17]!==p||y[18]!==h?(b=(0,i.jsx)(l.A,{size:"small",startIcon:m,onClick:p,children:h}),y[17]=p,y[18]=h,y[19]=b):b=y[19],y[20]!==b||y[21]!==u?(g=(0,i.jsxs)(a.A,{children:[u,b]}),y[20]=b,y[21]=u,y[22]=g):g=y[22],g)};var z=(e,n,t)=>{if(null!=e.services)return(0,i.jsx)(s.A,{variant:"body2",sx:{},children:e.services.map((t,o)=>(0,i.jsxs)("span",{children:[t.name," | ",(0,b.Bs)(t,n)," ",o<e.services.length-1?", ":""]}))});(null==e.services||0==e.services.length)&&(s.A,t("bookingProcess.bikeServices.noServices","No services selected",{businessCategory:q.q.GetSingularBusinessCategoryName(!0,n)}))};let H=e=>{let n,t,c,d,b,g,y,f,x,v,k,j,A,C,I,P,S,B,T,R=(0,o.c)(64),{setAddBikeServicesDialogOpen:N,setEditBikeServices:E,disableHeader:L,disableAddNewBike:W,disableBikeButtons:F,small:H,business:J}=e,X=void 0!==L&&L,Q=void 0!==W&&W,Z=void 0!==F&&F,$=void 0!==H&&H,ee=(0,D.jL)(),{serviceBookings:en}=(0,D.GV)(G),[et,ei]=(0,m.useState)(null),{t:eo}=(0,w.WD)();R[0]!==J||R[1]!==X||R[2]!==eo?(n=!X&&(0,i.jsx)(s.A,{variant:"h6",children:(0,i.jsx)("strong",{style:{textDecoration:"none",fontSize:"22px"},children:eo("bookingProcess.bikeServices.title","Your {businessCategory} & services",{businessCategory:q.q.GetPluralBusinessCategoryName(!0,J)})})}),R[0]=J,R[1]=X,R[2]=eo,R[3]=n):n=R[3],R[4]!==J||R[5]!==Z||R[6]!==en||R[7]!==N||R[8]!==E||R[9]!==$||R[10]!==eo?(t=null!=en&&en.some(M)&&en.filter(V).map(e=>{var n;return(0,i.jsx)(O,{bike:e,small:$,business:J,subtext:z(e,J,eo),defaultImageUrl:e.defaultImage?"https://api.bikebook.co.uk"+(null==(n=e.defaultImage)?void 0:n.url):null,additionalInformation:(null==e?void 0:e.customerNotes)?(0,i.jsx)(s.A,{variant:"body2",sx:{mt:1},children:null==e?void 0:e.customerNotes}):null,buttonsOverride:Z?(0,i.jsx)(i.Fragment,{}):(0,i.jsx)(_,{bike:e,setAddBikeServicesDialogOpen:N,setEditBikeServices:E,setSelectedDeleteBike:ei,t:eo})})}),R[4]=J,R[5]=Z,R[6]=en,R[7]=N,R[8]=E,R[9]=$,R[10]=eo,R[11]=t):t=R[11],R[12]!==J||R[13]!==en||R[14]!==eo?(c=0==en.filter(U).length&&(0,i.jsx)(r.A,{spacing:1,children:(0,i.jsxs)(r.A,{children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:"16px!important"},children:(0,i.jsx)("strong",{children:eo("bookingProcess.bikeServices.noBikes","No {businessCategory} found",{businessCategory:q.q.GetPluralBusinessCategoryName(!0,J)})})}),(0,i.jsx)(s.A,{variant:"body2",sx:{},children:eo("bookingProcess.bikeServices.addPrompt","Please click the button below to add a new {businessCategory} and select the services you require!",{businessCategory:q.q.GetSingularBusinessCategoryName(!0,J)})})]})}),R[12]=J,R[13]=en,R[14]=eo,R[15]=c):c=R[15],R[16]!==J||R[17]!==Q||R[18]!==en||R[19]!==N||R[20]!==E||R[21]!==eo?(d=!Q&&(0,i.jsx)(a.A,{children:(0,i.jsx)(l.A,{size:"small",variant:0!=en.filter(K).length?"outlined":"contained",color:0!=en.filter(Y).length?"inherit":"tertiary",startIcon:(0,i.jsx)(u.f,{}),onClick:()=>{E(null),N(!0)},children:eo("bookingProcess.bikeServices.addNew","Add new {businessCategory}",{businessCategory:q.q.GetSingularBusinessCategoryName(!0,J)})})}),R[16]=J,R[17]=Q,R[18]=en,R[19]=N,R[20]=E,R[21]=eo,R[22]=d):d=R[22],R[23]!==t||R[24]!==c||R[25]!==d?(b=(0,i.jsxs)(r.A,{spacing:2,children:[t,c,d]}),R[23]=t,R[24]=c,R[25]=d,R[26]=b):b=R[26];let el=null!=et;if(R[27]===Symbol.for("react.memo_cache_sentinel")?(g=()=>ei(null),R[27]=g):g=R[27],R[28]!==J||R[29]!==eo?(y=eo("bookingProcess.bikeServices.deleteConfirm","Delete this {businessCategory}?",{businessCategory:q.q.GetSingularBusinessCategoryName(!0,J)}),R[28]=J,R[29]=eo,R[30]=y):y=R[30],R[31]!==eo?(f=eo("vocab.close","Close"),R[31]=eo,R[32]=f):f=R[32],R[33]===Symbol.for("react.memo_cache_sentinel")?(x={onClick:()=>{ei(null)}},R[33]=x):x=R[33],R[34]!==f?(v={type:"button",content:f,buttonProps:x,side:"left"},R[34]=f,R[35]=v):v=R[35],R[36]!==eo?(k=eo("vocab.confirm","Confirm"),R[36]=eo,R[37]=k):k=R[37],R[38]!==ee||R[39]!==et||R[40]!==en?(j=()=>{ei(null),ee((0,h.lp)(en.filter(e=>e.id!=et.id)))},R[38]=ee,R[39]=et,R[40]=en,R[41]=j):j=R[41],R[42]===Symbol.for("react.memo_cache_sentinel")?(A={boxShadow:"none"},R[42]=A):A=R[42],R[43]!==j?(C={onClick:j,variant:"contained",sx:A},R[43]=j,R[44]=C):C=R[44],R[45]!==k||R[46]!==C?(I={type:"button",content:k,buttonProps:C,side:"right"},R[45]=k,R[46]=C,R[47]=I):I=R[47],R[48]!==v||R[49]!==I?(P=[v,I],R[48]=v,R[49]=I,R[50]=P):P=R[50],R[51]!==J||R[52]!==et||R[53]!==eo){var ea;S=et&&(0,i.jsx)(O,{bike:et,subtext:z(et,J,eo),defaultImageUrl:(null==et?void 0:et.defaultImage)?"https://api.bikebook.co.uk"+(null==et||null==(ea=et.defaultImage)?void 0:ea.url):null,additionalInformation:(null==et?void 0:et.additionalInformation)?(0,i.jsx)(s.A,{variant:"body2",sx:{mt:1},children:null==et?void 0:et.additionalInformation}):null,hideButtons:!0}),R[51]=J,R[52]=et,R[53]=eo,R[54]=S}else S=R[54];return R[55]!==el||R[56]!==y||R[57]!==P||R[58]!==S?(B=(0,i.jsx)(p.A,{open:el,onClose:g,maxWidth:"sm",fullWidth:!0,disableTransition:!0,title:y,actions:P,children:S}),R[55]=el,R[56]=y,R[57]=P,R[58]=S,R[59]=B):B=R[59],R[60]!==B||R[61]!==n||R[62]!==b?(T=(0,i.jsxs)(r.A,{spacing:2,children:[n,b,B]}),R[60]=B,R[61]=n,R[62]=b,R[63]=T):T=R[63],T};function G(e){return e.booking.values}function M(e){return""!=e.name&&null!=e.name}function V(e){return""!=e.name&&null!=e.name}function U(e){return""!=e.name&&null!=e.name}function K(e){return""!=e.name&&null!=e.name}function Y(e){return""!=e.name&&null!=e.name}},21216:(e,n,t)=>{t.d(n,{FW:()=>r,cI:()=>c,k2:()=>s});var i=t(75155),o=t(16932),l=t(12482),a=t(75119);let s=(e,n)=>{let t,l=(0,i.c)(2);l[0]!==e?(t=(e=>{let n=["uploadImageFromDataUrlToCollection"],{mutation:t,axios:i}=e?e.mutation&&"mutationKey"in e.mutation&&e.mutation.mutationKey?e:{...e,mutation:{...e.mutation,mutationKey:n}}:{mutation:{mutationKey:n},axios:void 0};return{mutationFn:e=>{let{params:n}=null!=e?e:{};return((e,n)=>a.A.post("/v2/ResourceHandle/UploadImageFromDataUrlToCollection",void 0,{...n,params:{...e,...null==n?void 0:n.params}}))(n,i)},...t}})(e),l[0]=e,l[1]=t):t=l[1];let s=t;return(0,o.n)(s,n)};function r(e,n,t){let i=((e,n)=>{var t;let i,{query:o,axios:l}=null!=n?n:{};return{queryKey:null!=(t=null==o?void 0:o.queryKey)?t:["/v2/ResourceHandle/GetResources",...(i=e)?[i]:[]],queryFn:n=>{let t,i,{signal:o}=n;return t=e,i={signal:o,...l},a.A.get("/v2/ResourceHandle/GetResources",{...i,params:{...t,...null==i?void 0:i.params}})},staleTime:0,...o}})(e,n),o=(0,l.I)(i,t);return o.queryKey=i.queryKey,o}let c=(e,n)=>{let t,l=(0,i.c)(2);l[0]!==e?(t=(e=>{let n=["createResourceHandleCollection"],{mutation:t,axios:i}=e?e.mutation&&"mutationKey"in e.mutation&&e.mutation.mutationKey?e:{...e,mutation:{...e.mutation,mutationKey:n}}:{mutation:{mutationKey:n},axios:void 0};return{mutationFn:()=>a.A.post("/v2/ResourceHandle/CreateResourceHandleCollection",void 0,i),...t}})(e),l[0]=e,l[1]=t):t=l[1];let s=t;return(0,o.n)(s,n)}},37085:(e,n,t)=>{t.d(n,{A:()=>v});var i=t(6029),o=t(92726),l=t(35197),a=t(6688),s=t(95344),r=t(26002),c=t(93251),d=t(38002),u=t(55729),m=t(90944),p=t(21216),h=t(76334),b=t(85328),g=t(46831),y=t(8013),f=t(49428),x=t(33601);let v=e=>{var n;let{resourceHandleCollectionId:t,disableUpload:v=!1,qrCodeEnabled:k=!1,useLightbox:j=!1,allowDefaultImage:A=!1,sx:C={},setResourceHandleCollectionId:I=null,createIfEmpty:P=!1,onImageDelete:S=null,noImagesSx:w={},refreshToken:D=null}=e,{t:B}=(0,m.WD)(),T=(0,y.jL)(),[R,N]=(0,u.useState)(!1),[E,L]=(0,u.useState)(!1),[W,q]=(0,u.useState)(null),[F,O]=(0,u.useState)(!0),_=(0,u.useRef)(null),z=(0,c.jE)(),{data:H,refetch:G}=(0,p.FW)({orderByDefault:!0,resourceHandleCollectionId:t}
1,{query:{refetchInterval:15e3,queryKey:["/ResourceHandle/GetResources",{resourceHandleCollectionId:t,orderByDefault:!0},D],enabled:null!=t}}),M=null!=(n=null==H?void 0:H.data)?n:[],V=e=>{z.setQueryData(["/ResourceHandle/GetResources",{resourceHandleCollectionId:t,orderByDefault:!0},D],{data:e})},U=(0,o.A)(e=>e.breakpoints.down("sm")),K=(0,u.useCallback)(()=>{k&&null!=t&&T((0,f.FS)({url:"/ResourceHandle/GetOrGenerateUploadCode",values:{resourceHandleCollectionId:t},onSuccess:e=>{q(n=>null!=e.data?e.data:n),"visible"===document.visibilityState&&(_.current&&clearTimeout(_.current),_.current=setTimeout(()=>{K()},6e4))},onFinally:()=>{O(!1)},onError:e=>{},onFailure:e=>{}}))},[T,t,k]),Y=(0,d.A)(function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0],arguments.length>1&&void 0!==arguments[1]&&arguments[1],console.log(t)},500);(0,u.useEffect)(()=>{if(E&&P&&null==t){console.log("here"),T((0,f.FS)({url:"/ResourceHandle/CreateResourceHandleCollection",values:{},onSuccess:e=>{I&&I(e.data.resourceHandleCollectionId)},onError:()=>{T((0,g.kw)("error",B("vocab.somethingWentWrong","Something went wrong. Please try again or contact support if the problem persists.")))}}));return}},[E]),(0,u.useEffect)(()=>(null!=t&&(k?(O(!0),K()):(_.current&&clearTimeout(_.current),q(null),O(!1)),Y(!0,!0)),()=>{_.current&&clearTimeout(_.current)}),[t,k,K]),(0,u.useEffect)(()=>{null!=t&&Y(!1,!0)},[D]),(0,u.useEffect)(()=>{L(!0)},[]);let J=e=>{T((0,g.kw)("success",B("upload.imageRemoved"))),T((0,f.FS)({url:"/ResourceHandle/RemoveImage",values:{resourceHandleCollectionId:t,resourceHandleId:e.resourceHandleId},onSuccess:n=>{G(),S&&S(e)},onError:()=>{T((0,g.kw)("error",B("vocab.somethingWentWrong","Something went wrong. Please try again or contact support if the problem persists.")))}}))};(0,u.useEffect)(()=>{var e;V(null!=(e=null==t?void 0:t.resourceHandles)?e:[]),document.querySelectorAll("video").length>0&&document.querySelectorAll("video").forEach(e=>{e.load()})},[t]);let X=(0,u.useCallback)(e=>{if(!t)return void T((0,g.kw)("warning",B("upload.preparingUpload","The upload is still being prepared. Please try again in a moment.")));(e=>{if(!t)return T((0,g.kw)("warning",B("upload.preparingUpload","The upload is still being prepared. Please try again in a moment.")));N(!0),T((0,f.FS)({url:"/ResourceHandle/UploadImages",values:{resourceHandleCollectionId:t,files:e},onSuccess:e=>{V(e.data),T((0,g.kw)("success",B("upload.imagesUploaded")))},onFinally:()=>{N(!1)}}))})(e)},[M,V]),Q=e=>{v||(V(M.filter(n=>n!==e)),J(e))};return(0,i.jsxs)(l.A,{sx:C,children:[j&&M.length>0&&(0,i.jsx)(h.A,{data:M,deleteImage:J,allowDeleting:!0,allowDefaultImage:A,setDefaultImage:e=>{V(M.map(n=>({...n,isDefault:n.resourceHandleId==e.resourceHandleId}))),T((0,g.kw)("success",B("upload.imageSetAsDefault"))),T((0,f.FS)({url:"/ResourceHandle/SetDefault",values:{resourceHandleCollectionId:t,resourceHandleId:e.resourceHandleId},onSuccess:e=>{Y(!1)},onError:()=>{T((0,g.kw)("error",B("vocab.somethingWentWrong","Something went wrong. Please try again or contact support if the problem persists.")))}}))}}),!v&&(0,i.jsx)(b.jM,{sx:{height:"200px",minWidth:"210px",maxWidth:M.length>3?210:"unset",width:"calc(100% - ".concat(226*M.length,"px)"),flex:"1 1 210px"},name:"files",saving:R,onDrop:X,onRemove:Q,onRemoveAll:()=>{V([])},disableAllPreview:!0,accept:"image/*,video/*,.mkv",files:M,disabled:!t||R,includeQrCode:!U&&k,qrCode:W,qrCodeUrl:"https://bikebook.co.uk/upload/",loadingQrCode:F||null==W,dropzoneStyle:{p:0}}),v&&0==M.length&&(0,i.jsx)(a.A,{variant:"body2",sx:{fontStyle:"italic",ml:3,...w},children:B("upload.noImages")}),!j&&(0,i.jsx)(i.Fragment,{children:null==M?void 0:M.reverse().map(e=>{var n,t,o;return(0,i.jsxs)(l.A,{sx:{position:"relative",flex:"1 1 210px",maxWidth:210,...!v&&{"&:hover img":{cursor:"pointer",filter:"blur(3px)",opacity:.3,"& + div":{opacity:1}},"&:hover video":{cursor:"pointer","& + div":{opacity:1,"& button":{background:"#fff"}}}}},children:[(null==e||null==(n=e.contentType)?void 0:n.includes("video"))&&(null==x||null==x.env?void 0:"https://api.bikebook.co.uk")!=null&&(0,i.jsx)("video",{controls:!0,style:{width:"210px",height:"200px",objectFit:"cover",borderRadius:"8px",transition:"all 0.1s ease-in-out"},children:(0,i.jsx)("source",{src:"https://api.bikebook.co.uk"+e.url})}),(null==e||null==(t=e.contentType)?void 0:t.includes("image"))&&(null==x||null==x.env?void 0:"https://api.bikebook.co.uk")!=null&&(0,i.jsx)("img",{src:(null==x||null==x.env?void 0:"https://api.bikebook.co.uk")+e.url,style:{width:"210px",height:"200px",objectFit:"cover",borderRadius:"8px",transition:"all 0.1s ease-in-out"}}),!v&&(0,i.jsx)(l.A,{sx:{position:"absolute",top:0,left:0,height:(null==e||null==(o=e.contentType)?void 0:o.includes("video"))?"70%":"100%",width:"100%",display:"flex",justifyContent:"center",alignItems:"center",color:"#637381",opacity:0,transition:"all 0.1s ease-in-out"},children:(0,i.jsx)(s.A,{size:"small",onClick:()=>Q(e),children:(0,i.jsx)(r.J,{weight:"fill",size:32,color:"#637381"})})})]})})})]})}},45778:(e,n,t)=>{t.d(n,{A:()=>c});var i=t(6029),o=t(75155),l=t(55729),a=t(57391),s=t(86),r=t(8013);let c=e=>{let n,t,c,m,p=(0,o.c)(19),{business:h,disableHeader:b,addressOnly:g,polygonColorOverride:y}=e,f=void 0!==b&&b,x=void 0!==g&&g,v=void 0===y?null:y,k=(0,r.jL)(),{date:j,timeSlot:A,address:C}=(0,r.GV)(d),{distance:I,collectionArea:P}=(0,r.GV)(u);(0,l.useState)(j),p[0]!==k?(n=(e,n)=>{n(!1),k((0,a.Ce)(e))},p[0]=k,p[1]=n):n=p[1];let S=n;p[2]!==k?(t=(e,n)=>{n(!1),k((0,a.fx)(e))},p[2]=k,p[3]=t):t=p[3];let w=t;p[4]!==k?(c=(e,n)=>{n(!1),k((0,a.wR)(e))},p[4]=k,p[5]=c):c=p[5];let D=c;return p[6]!==C||p[7]!==x||p[8]!==h||p[9]!==P||p[10]!==j||p[11]!==I||p[12]!==f||p[13]!==v||p[14]!==D||p[15]!==S||p[16]!==w||p[17]!==A?(m=(0,i.jsx)(s.A,{business:h,disableHeader:f,setCollectionDate:S,setTimeSlot:w,setAddressDetail
1s:D,date:j,timeSlot:A,address:C,defaultDistance:I,collectionArea:P,addressOnly:x,polygonColorOverride:v}),p[6]=C,p[7]=x,p[8]=h,p[9]=P,p[10]=j,p[11]=I,p[12]=f,p[13]=v,p[14]=D,p[15]=S,p[16]=w,p[17]=A,p[18]=m):m=p[18],m};function d(e){return e.booking.values.collectionDetails}function u(e){return e.booking.values.collectionDetails}},49978:(e,n,t)=>{t.d(n,{A:()=>B});var i=t(6029),o=t(75155),l=t(55729),a=t(56760),s=t(34566),r=t(78895),c=t(16932),d=t(75119),u=t(77620),m=t(16829),p=t(6688),h=t(72091),b=t(35197),g=t(22350),y=t(46232),f=t(8013),x=t(57391),v=t(4765),k=t(46831),j=t(90944),A=t(73898);function C(e){e.preventDefault(),e.returnValue=""}let I="bikebook.legacyEmbedCheckoutSession";function P(){window.sessionStorage.removeItem(I)}function S(e){let n,t,l,a,s,r,c,d,g,y=(0,o.c)(18),{zIndex:f}=e,x=void 0===f?2:f,{t:v}=(0,j.WD)();return y[0]!==x?(n=e=>({position:"absolute",inset:0,zIndex:x,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:(0,u.X4)(e.palette.background.paper,.92),backdropFilter:"blur(2px)"}),y[0]=x,y[1]=n):n=y[1],y[2]===Symbol.for("react.memo_cache_sentinel")?(t={maxWidth:320,px:2,textAlign:"center"},l=(0,i.jsx)(m.A,{size:40}),y[2]=t,y[3]=l):(t=y[2],l=y[3]),y[4]!==v?(a=v("payment.finalizing.keepOpenTitle","Finishing your booking…"),y[4]=v,y[5]=a):a=y[5],y[6]!==a?(s=(0,i.jsx)(p.A,{variant:"subtitle1",fontWeight:600,children:a}),y[6]=a,y[7]=s):s=y[7],y[8]!==v?(r=v("payment.finalizing.keepOpenBody","Hang tight — we are confirming your payment with our system. Please keep this page open. This usually takes a few seconds but could take up to 60 seconds."),y[8]=v,y[9]=r):r=y[9],y[10]!==r?(c=(0,i.jsx)(p.A,{variant:"body2",color:"text.secondary",children:r}),y[10]=r,y[11]=c):c=y[11],y[12]!==s||y[13]!==c?(d=(0,i.jsxs)(h.A,{spacing:2,alignItems:"center",sx:t,children:[l,s,c]}),y[12]=s,y[13]=c,y[14]=d):d=y[14],y[15]!==n||y[16]!==d?(g=(0,i.jsx)(b.A,{sx:n,children:d}),y[15]=n,y[16]=d,y[17]=g):g=y[17],g}function w(e){let n,t,l,a,s,r,c,d,u,m=(0,o.c)(22),{reason:f,onRetry:x,onBackToBooking:v}=e,{t:k}=(0,j.WD)(),A="timeout"===f?"payment.pollConfirmTimedOut":"payment.pollConfirmFailed",C="timeout"===f?"We could not confirm your payment in time. Your booking may not have been completed. If you see a pending authorisation on your bank statement, your card is not charged until the mechanic accepts the job; if no booking is created, that hold will be released automatically.":"We could not confirm your payment with our system. Your booking was not completed. If you see a pending card authorisation on your bank statement, it is not captured until the mechanic accepts the job; if no booking is created, that hold will be released automatically.";return m[0]===Symbol.for("react.memo_cache_sentinel")?(n={position:"absolute",inset:0,zIndex:3,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:D,p:2},m[0]=n):n=m[0],m[1]===Symbol.for("react.memo_cache_sentinel")?(t={maxWidth:360,width:"100%"},m[1]=t):t=m[1],m[2]!==C||m[3]!==A||m[4]!==k?(l=k(A,C),m[2]=C,m[3]=A,m[4]=k,m[5]=l):l=m[5],m[6]!==l?(a=(0,i.jsx)(g.A,{severity:"warning",children:(0,i.jsx)(p.A,{variant:"body2",children:l})}),m[6]=l,m[7]=a):a=m[7],m[8]!==k?(s=k("payment.confirmation.retryConfirm","Try confirming again"),m[8]=k,m[9]=s):s=m[9],m[10]!==x||m[11]!==s?(r=(0,i.jsx)(y.A,{variant:"contained",color:"primary",onClick:x,children:s}),m[10]=x,m[11]=s,m[12]=r):r=m[12],m[13]!==k?(c=k("payment.confirmation.backToSummary","Back to booking summary"),m[13]=k,m[14]=c):c=m[14],m[15]!==v||m[16]!==c?(d=(0,i.jsx)(y.A,{variant:"text",color:"inherit",onClick:v,children:c}),m[15]=v,m[16]=c,m[17]=d):d=m[17],m[18]!==a||m[19]!==r||m[20]!==d?(u=(0,i.jsx)(b.A,{sx:n,children:(0,i.jsxs)(h.A,{spacing:2,sx:t,children:[a,r,d]})}),m[18]=a,m[19]=r,m[20]=d,m[21]=u):u=m[21],u}function D(e){return(0,u.X4)(e.palette.background.paper,.96)}let B=e=>{var n,t,u,m;let{business:p,prePaymentConfig:h,bookingType:g,setShowPaymentPage:y,book:D,collapsedVersion:B=!1,total:T,onPaymentConfirmationFailed:R,onFinalizingChange:N}=e,E=(0,f.jL)(),{mutateAsync:L}=((e,n)=>{let t,i=(0,o.c)(2);i[0]!==e?(t=(e=>{let n=["generateEmbeddedSession"],{mutation:t,axios:i}=e?e.mutation&&"mutationKey"in e.mutation&&e.mutation.mutationKey?e:{...e,mutation:{...e.mutation,mutationKey:n}}:{mutation:{mutationKey:n},axios:void 0};return{mutationFn:e=>{let{data:n}=null!=e?e:{};return d.A.post("/v2/Membership/GenerateEmbeddedSession",n,i)},...t}})(e),i[0]=e,i[1]=t):t=i[1];let l=t;return(0,c.n)(l,n)})(),{mutateAsync:W}=((e,n)=>{let t,i=(0,o.c)(2);i[0]!==e?(t=(e=>{let n=["checkForExistingPaymentWithCheckoutId"],{mutation:t,axios:i}=e?e.mutation&&"mutationKey"in e.mutation&&e.mutation.mutationKey?e:{...e,mutation:{...e.mutation,mutationKey:n}}:{mutation:{mutationKey:n},axios:void 0};return{mutationFn:e=>{let{params:n}=null!=e?e:{};return((e,n)=>d.A.post("/v2/Payment/CheckForExistingPaymentWithCheckoutId",void 0,{...n,params:{...e,...null==n?void 0:n.params}}))(n,i)},...t}})(e),i[0]=e,i[1]=t):t=i[1];let l=t;return(0,c.n)(l,n)})(),{values:q}=(0,f.GV)(e=>e.booking),[F,O]=(0,l.useState)(null),[_,z]=(0,l.useState)(!1),[H,G]=(0,l.useState)(null),M=(0,l.useRef)(null),{t:V}=(0,j.WD)();!function(e){let n,t,i=(0,o.c)(3);
1i[0]!==e?(n=()=>{if(e)return window.addEventListener("beforeunload",C),()=>{window.removeEventListener("beforeunload",C)}},t=[e],i[0]=e,i[1]=n,i[2]=t):(n=i[1],t=i[2]),(0,l.useEffect)(n,t)}(_),(0,l.useEffect)(()=>{null==N||N(_)},[_,N]);let U=(0,l.useMemo)(()=>{var e;return function(e){var n,t,i,o,l;let a=null==(n=e.email)?void 0:n.trim().toLowerCase();return[null!=(t=e.businessId)?t:"missing-business",null==a||""===a?"missing-email":a,null!=(i=e.prePaymentConfigId)?i:"missing-config",e.priceAmount.toFixed(2),null!=(o=e.collectionAreaId)?o:"none",null!=(l=e.bookingType)?l:"missing-type"].join("|")}({businessId:null==p?void 0:p.businessId,email:q.customer.email,prePaymentConfigId:null==h?void 0:h.prePaymentConfigId,priceAmount:(()=>{var e,n,t,i,o,l;let a=null!=(i=null==p||null==(e=p.settings)?void 0:e.vatRegistered)&&i,s=null!=(o=null==p||null==(n=p.settings)?void 0:n.taxInclusivityType)?o:"Inclusive",r=null!=(l=null==p||null==(t=p.settings)?void 0:t.vatAmountMultiplier)?l:0;return a&&"Exclusive"===s?T*(1+r):T})(),collectionAreaId:null==(e=q.collectionDetails.collectionArea)?void 0:e.collectionAreaId,bookingType:g})},[g,null==p?void 0:p.businessId,null==p||null==(n=p.settings)?void 0:n.taxInclusivityType,null==p||null==(t=p.settings)?void 0:t.vatAmountMultiplier,null==p||null==(u=p.settings)?void 0:u.vatRegistered,null==h?void 0:h.prePaymentConfigId,T,null==(m=q.collectionDetails.collectionArea)?void 0:m.collectionAreaId,q.customer.email]);(0,l.useEffect)(()=>{(async()=>{let e=function(e){try{let n=window.sessionStorage.getItem(I);if(null==n||""===n)return null;let t=JSON.parse(n);if(t.fingerprint!==e||""===t.checkoutSessionId||""===t.clientSecret)return null;return t}catch(e){return null}}(U);if(null!=e)try{let n=await W({params:{checkoutSessionId:e.checkoutSessionId}});if((null==n?void 0:n.data)!==!0){M.current=e.checkoutSessionId,E((0,x.K4)(e.checkoutSessionId)),O(e.clientSecret);return}}catch(e){P()}try{var n,t;let e=(()=>{var e,n,t,i,o,l;let a=null!=(i=null==p||null==(e=p.settings)?void 0:e.vatRegistered)&&i,s=null!=(o=null==p||null==(n=p.settings)?void 0:n.taxInclusivityType)?o:"Inclusive",r=null!=(l=null==p||null==(t=p.settings)?void 0:t.vatAmountMultiplier)?l:0;return a&&"Exclusive"===s?T*(1+r):T})(),i=await L({data:{businessId:null==p?void 0:p.businessId,email:q.customer.email,priceAmount:e,collectionAreaId:null==(n=q.collectionDetails.collectionArea)?void 0:n.collectionAreaId,bookingType:g,priceName:null==h?void 0:h.priceName,priceDescription:null==h?void 0:h.priceDescription,prePaymentConfigId:null==h?void 0:h.prePaymentConfigId}});if((null==i||null==(t=i.data)?void 0:t.checkoutSessionId)==null||null==i.data.clientSecret){(0,v.Cp)(Error("Checkout session id is null")),E((0,k.kw)("error",V("payment.setupError","An error occurred while setting up for payment. Please try again or contact support if the issue persists.")));return}let o=i.data.checkoutSessionId,l=i.data.clientSecret;M.current=o,E((0,x.K4)(o)),O(l),window.sessionStorage.setItem(I,JSON.stringify({fingerprint:U,checkoutSessionId:o,clientSecret:l}))}catch(e){y(!1),(0,v.Cp)(e),E((0,k.kw)("error",V("payment.setupError","An error occurred while setting up for payment. Please try again or contact support if the issue persists.")))}})()},[U]);let K=(0,l.useMemo)(()=>(function(e){if(null!=e)return(0,s.c)("pk_live_51JQrZNBX6sWzXygAMxhO75GpTJxVLPKKmJuH1HUw7NFIj9HRbyT40KepM1D844r2WL33hdRhsH8e951PU7Ad6MUa00SzKUxUth",{stripeAccount:e})})(null==p?void 0:p.stripeAccountId),[null==p?void 0:p.stripeAccountId]),Y=(0,l.useCallback)(async()=>{let e=M.current;if(null==e||""===e){(0,v.Cp)(Error("PrePayment onComplete: missing checkout session id")),null==R||R("api"),E((0,k.kw)("error",V("payment.missingCheckoutSession","We could not confirm your payment with our system. Your booking was not completed. If you see a pending card authorisation on your bank statement, it is not captured until the mechanic accepts the job; if no booking is created, that hold will be released automatically."),{autoHideDuration:25e3}));return}let n=await (0,A.r67)(async()=>{let n=await W({params:{checkoutSessionId:e}});return(null==n?void 0:n.data)===!0},{pollIntervalMs:A.mFZ,timeoutMs:A.Gi$,delay:e=>new Promise(n=>{window.setTimeout(n,e)}),onTransientError:n=>{(0,v.Cp)(n,{tags:{payment_poll:"transient_retry"},extra:{checkoutSessionId:e}})}});if("paid"!==n){let e="timeout"===n?"timeout":"api";G(e),null==R||R(e);return}P(),null==D||D(e)},[D,W,E,R,V]),J=(0,l.useCallback)(async()=>{(0,a.flushSync)(()=>{G(null),z(!0)});try{E((0,k.kw)("info",V("payment.authorisedKeepOpen","Payment authorised — we are confirming your booking now. Please keep this page open for up to a minute."),{autoHideDuration:12e3})),await Y()}finally{z(!1)}},[Y,E,V]),X=(0,l.useCallback)(()=>{(0,a.flushSync)(()=>{G(null),z(!0)}),(async()=>{try{await Y()}finally{z(!1)}})()},[Y]),Q=(0,l.useCallback)(()=>{G(null),y(!1)},[y]),Z=(0,l.useMemo)(()=>({clientSecret:F,onComplete:J}),[F,J]);return(0,i.jsxs)(b.A,{id:"checkout",sx:{position:"relative",borderRadius:"8px",overflow:"hidden",minHeight:"400px",transition:"all 0.3s ease-in-out",boxShadow:B?"unset":"rgb(0 0 0 / 7%) 0px 0px 0px 1px,rgb(0 0 0 / 5%) 0px 2px 4px 0px,rgb(0 0 0 / 5%) 0px 12px 24px 0px"},children:[null!=F&&null!=K&&(0,i.jsx)(r.EmbeddedCheckoutProvider,{stripe:K,options:Z,children:(0,i.jsx)(r.EmbeddedCheckout,{})}),_&&(0,i.jsx)(S,{}),null==H||_?null:(0,i.jsx)(w,{reason:H,onBackToBooking:Q,onRetry:X})]})}},50452:(e,n,t)=>{t.d(n,{A:()=>m});var i=t(55729),o=t(25703),l=t(81278),a=t(8013),s=t(90944),r=t(57391),c=t(46831),d=t(77445),u=t(95135);let m=function(e){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=arguments.length>2?arguments[2]:void 0,{t:m}=(0,s.WD)(),p=(0,a.jL)(),{bookingPreference:h,dropOffDetails:b,collectionDetail
1s:g,customer:y,serviceBookings:f,checkoutSessionId:x,termsAccepted:v,bookedByRibbleSupport:k}=(0,a.GV)(e=>e.booking.values),{collectionArea:j}=g,{page:A,trackingId:C}=(0,a.GV)(e=>e.booking),{user:I}=(0,o.Jd)(),[P,S]=(0,i.useState)(!1),[w,D]=(0,i.useState)(!1),[B,T]=(0,i.useState)(null),[R,N]=(0,i.useState)(!1),[E,L]=(0,i.useState)(!1),[W,q]=(0,i.useState)(!1),[F,O]=(0,i.useState)(null),[_,z]=(0,i.useState)(!1),H=(0,l.useRouter)();(0,i.useEffect)(()=>{if(I){if(!y.email){var e,n;p((0,r.gW)({firstName:I.firstName,lastName:I.lastName,email:null==(e=I.primaryEmailAddress)?void 0:e.emailAddress,phone:null==(n=I.primaryPhoneNumber)?void 0:n.phoneNumber}))}}else p((0,r.gW)({firstName:"",lastName:"",email:"",phone:""}))},[null==I||null==(Q=I.primaryEmailAddress)?void 0:Q.emailAddress]);let G=e?"Mobile"===e.businessType?"collection":"collection"!==h||(null==e||null==(X=e.availability)?void 0:X.collectionEnabled)?h:"bring-in":h,M=null,V=(0,a.GV)(e=>{var n,t,i;return null==(i=e.auth)||null==(t=i.user)||null==(n=t.profile)?void 0:n.profileId}),U=()=>{var n,t,i,o,l;return!!y.email&&("collection"!==G||!!(null==(l=g.address)?void 0:l.addressLine1)&&!!g.date&&!!g.timeSlot)&&!("bring-in"===G&&!b.date||!f||0===f.length||f.some(e=>!e.services||0===e.services.length))&&((null==e||null==(n=e.settings)?void 0:n.bookingProcessContactDetailsRequirement)!="RequirePhoneNumber"&&(null==e||null==(t=e.settings)?void 0:t.bookingProcessContactDetailsRequirement)!="RequireEmailAndPhoneNumber"||!!y.phone)&&((null==e||null==(i=e.settings)?void 0:i.bookingProcessContactDetailsRequirement)!="RequireEmailOrPhoneNumber"||!!y.email||!!y.phone)&&(null==e||null==(o=e.settings)||!o.checkboxTermsRequired||!!v)};switch(null==e?void 0:e.businessType){case"Mobile":M=e.mobilePrePaymentConfig;break;case"Location":switch(G){case"collection":M=e.collectionPrePaymentConfig;break;case"bring-in":M=e.dropOffPrePaymentConfig}}let K=null!=M&&null!=e.stripeAccountId,Y=[];((null==e||null==(Z=e.settings)?void 0:Z.bookingProcessContactDetailsRequirement)=="RequirePhoneNumber"||(null==e||null==($=e.settings)?void 0:$.bookingProcessContactDetailsRequirement)=="RequireEmailAndPhoneNumber")&&y.email&&!y.phone&&Y.push(m("bookJob.errors.phoneRequired",'This mechanic requires a phone number to book an appointment. Please add it by clicking on the "My Details" button.')),(null==e||null==(ee=e.settings)?void 0:ee.bookingProcessContactDetailsRequirement)!="RequireEmailOrPhoneNumber"||y.email||y.phone||Y.push(m("bookJob.errors.contactRequired","This mechanic requires an email or phone number to book an appointment."));let J=e=>{if("function"==typeof e)return void p((0,r.lt)(e(A)));p((0,r.lt)(e))};var X,Q,Z,$,ee,en=null!=f&&f.filter(e=>""!=e.name&&null!=e.name).length>0?f.map(e=>null!=e.services?e.services.map(e=>e.price).reduce((e,n)=>e+n,0):0).reduce((e,n)=>e+n,0):0;return"collection"==h&&j&&null!=j.price&&0!=j.price&&null==M&&null!=en&&(en+=j.price),null!=M&&null!=en&&(en=(0,d.FC)(M,j,en,e)),isNaN(en)&&(en=0),{showPaymentPage:P,setShowPaymentPage:S,addBikeServicesDialogOpen:w,setAddBikeServicesDialogOpen:D,editBikeServices:B,setEditBikeServices:T,yourInformationDialogOpen:R,setYourInformationDialogOpen:N,continueAsGuest:E,setContinueAsGuest:L,submitting:W,canBook:U,book:i=>{var o,l,a,s,h,v,j,A;if(!U())return;let C="collection"===G;q(!0),p((0,r.zC)({dropOffLocationId:null==(o=b.selectedLocation)?void 0:o.locationId,businessId:e.businessId,profileId:V,jobCreationType:n?"WidgetBooking":"OnlineBooking",...t?{partnerEmbedType:t}:{},stripeCheckoutId:null!=i?i:x,bookedByRibbleSupport:null!=k&&k,prePaymentJob:null!=M&&(0,d.FC)(M,g.collectionArea,en,e)>0,prePaymentConfigId:null==M?void 0:M.prePaymentConfigId,collectionAreaId:C&&null!=(j=null==(l=g.collectionArea)?void 0:l.collectionAreaId)?j:null,serviceBookings:f.map(e=>{var n;return{...e,services:null,serviceInstances:null==e||null==(n=e.services)?void 0:n.map(e=>({serviceId:e.serviceId})),bike:{...e,services:null,resources:{resourceHandleCollectionId:null!=e.resourceHandleCollectionId&&""!=e.resourceHandleCollectionId?e.resourceHandleCollectionId:void 0}}}}),data:{collectionLocation:C?{...g.address,distance:null!=(A=g.distance)?A:0}:null,collectionWindow:C?{timeStart:null==g||null==(a=g.timeSlot)?void 0:a.timeStart,timeEnd:null==g||null==(s=g.timeSlot)?void 0:s.timeEnd}:null,collectionDate:C?null==(h=g.date)?void 0:h.format():null,customerDropOffDate:C?null:null==(v=b.date)?void 0:v.format(),collectionBringIn:"bring-in"===G?"BringIn":"Collection",customer:y}},{onSuccess:t=>{u.A.CaptureEvent("job_created_online",{business_name:e.displayName,job_id:t.jobId,job_type:G,customer_email:y.email}),q(!1),O(null),n?(J(e=>e+1),S(!1),p((0,r.f2)(t.trackingId))):H.push("/tracking/"+t.trackingId)},onError:e=>{q(!1),K&&p((0,c.kw)("error",m("bookJob.errors.paymentNotCaptured","Your booking was not created. If you see a pending c
1ard authorisation, it is not captured until the mechanic accepts the job; unused authorisations are released automatically. Please try again or contact support."),{autoHideDuration:6e4}))},skipResetBookingState:n}))},prePaymentRequired:K,prePaymentConfig:M,errors:Y,bookingPreferenceValidated:G,collectionDetails:g,page:A,setPage:J,trackingId:C,total:en,paymentConfirmationFailure:F,clearPaymentConfirmationFailure:()=>O(null),reportPaymentConfirmationFailed:e=>{O(e)},isPaymentFinalizing:_,onPaymentFinalizingChange:z}}},60397:(e,n,t)=>{t.d(n,{E:()=>c});var i=t(6029),o=t(75155),l=t(6688),a=t(8361),s=t(22350),r=t(90944);function c(){let e,n,t,c,d,u,m,p,h,b,g,y=(0,o.c)(20),{t:f}=(0,r.WD)();return y[0]===Symbol.for("react.memo_cache_sentinel")?(e={textAlign:"left"},y[0]=e):e=y[0],y[1]===Symbol.for("react.memo_cache_sentinel")?(n={display:"block",fontWeight:700,mb:.5},y[1]=n):n=y[1],y[2]!==f?(t=f("payment.confirmationPending.alertTitle","Payment may be pending — booking not completed"),y[2]=f,y[3]=t):t=y[3],y[4]!==t?(c=(0,i.jsx)(l.A,{variant:"subtitle2",component:"span",sx:n,children:t}),y[4]=t,y[5]=c):c=y[5],y[6]===Symbol.for("react.memo_cache_sentinel")?(d={display:"block"},y[6]=d):d=y[6],y[7]!==f?(u=f("payment.confirmationPending.alertBody","If Stripe showed success but you are back here, your booking may not have gone through. A temporary card authorisation can still appear on your statement; we do not capture payment until the mechanic accepts the job. If no booking is created, that hold will be released automatically. You can try payment again below or contact us for help."),y[7]=f,y[8]=u):u=y[8],y[9]!==u?(m=(0,i.jsx)(l.A,{variant:"body2",component:"span",sx:d,children:u}),y[9]=u,y[10]=m):m=y[10],y[11]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",mt:1},y[11]=p):p=y[11],y[12]!==f?(h=f("payment.confirmationPending.contactLink","Contact Bikebook"),y[12]=f,y[13]=h):h=y[13],y[14]!==h?(b=(0,i.jsx)(l.A,{variant:"body2",component:"span",sx:p,children:(0,i.jsx)(a.A,{href:"https://bikebook.co.uk/contact",target:"_blank",rel:"noopener noreferrer",fontWeight:600,children:h})}),y[14]=h,y[15]=b):b=y[15],y[16]!==c||y[17]!==m||y[18]!==b?(g=(0,i.jsxs)(s.A,{severity:"warning",sx:e,children:[c,m,b]}),y[16]=c,y[17]=m,y[18]=b,y[19]=g):g=y[19],g}},61312:(e,n,t)=>{t.d(n,{l:()=>d});var i=t(6029),o=t(75155),l=t(16829),a=t(6688),s=t(22350),r=t(72091),c=t(90944);function d(){let e,n,t,d,u,m,p,h=(0,o.c)(13),{t:b}=(0,c.WD)();return h[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsx)(l.A,{size:18,color:"inherit"}),n={alignItems:"flex-start",mb:2},h[0]=e,h[1]=n):(e=h[0],n=h[1]),h[2]!==b?(t=b("payment.confirming.bannerTitle","Confirming your payment"),h[2]=b,h[3]=t):t=h[3],h[4]!==t?(d=(0,i.jsx)(a.A,{variant:"subtitle2",fontWeight:700,children:t}),h[4]=t,h[5]=d):d=h[5],h[6]!==b?(u=b("payment.confirming.bannerBody","Please keep this page open while we finish your booking. This usually takes a few seconds but can take up to a minute on slower connections."),h[6]=b,h[7]=u):u=h[7],h[8]!==u?(m=(0,i.jsx)(a.A,{variant:"body2",children:u}),h[8]=u,h[9]=m):m=h[9],h[10]!==d||h[11]!==m?(p=(0,i.jsx)(s.A,{severity:"info",icon:e,sx:n,children:(0,i.jsxs)(r.A,{spacing:.5,children:[d,m]})}),h[10]=d,h[11]=m,h[12]=p):p=h[12],p}},71330:(e,n,t)=>{t.d(n,{A:()=>r});var i=t(6029),o=t(75155),l=t(3113),a=t(60712),s=t(55729);let r=e=>{let n,t,r,c,d,u,m,p=(0,o.c)(22),{src:h,style:b,defaultSize:g,defaultBorderRadius:y,icon:f,objectFit:x}=e;p[0]!==b?(n=void 0===b?{}:b,p[0]=b,p[1]=n):n=p[1];let v=n,k=void 0===g?39:g,j=void 0===y?4:y,A=void 0===f?null:f,C=void 0===x?"cover":x,[I,P]=(0,s.useState)(!1);p[2]===Symbol.for("react.memo_cache_sentinel")?(t=()=>{P(!0)},p[2]=t):t=p[2];let S=t;p[3]===Symbol.for("react.memo_cache_sentinel")?(r=()=>{P(!1)},p[3]=r):r=p[3];let w=r,D=null==h||""==h;p[4]!==j||p[5]!==k||p[6]!==v?(c={width:k,height:k,minWidth:k,minHeight:k,marginTop:"2px",marginBottom:"2px",background:"#f2f2f2",borderRadius:j,overflow:"hidden",display:"flex",justifyContent:"center",alignItems:"center",...v},p[4]=j,p[5]=k,p[6]=v,p[7]=c):c=p[7],p[8]!==A||p[9]!==I||p[10]!==D?(d=(D||I)&&null==A&&(0,i.jsx)(a.In,{icon:l.A,style:{width:24,height:24,color:"#d9d9d9"}}),p[8]=A,p[9]=I,p[10]=D,p[11]=d):d=p[11];let B=(D||I)&&null!=A&&A;
1return p[12]!==I||p[13]!==D||p[14]!==C||p[15]!==h?(u=!D&&!I&&(0,i.jsx)("img",{style:{objectFit:C,height:"100%",width:"100%"},src:h,onError:S,onLoad:w}),p[12]=I,p[13]=D,p[14]=C,p[15]=h,p[16]=u):u=p[16],p[17]!==d||p[18]!==B||p[19]!==u||p[20]!==c?(m=(0,i.jsxs)("div",{style:c,children:[d,B,u]}),p[17]=d,p[18]=B,p[19]=u,p[20]=c,p[21]=m):m=p[21],m}},73898:(e,n,t)=>{var i,o;function l(e,n,t){return null==t?{key:e,defaultValue:n}:{key:e,defaultValue:n,params:t}}function a(){let e=new Intl.DateTimeFormat("en-GB",{weekday:"long"}).format(new Date);return[{day:"Monday",isToday:!1,isOpen:!0,hoursLabel:"9:00 – 18:00"},{day:"Tuesday",isToday:!1,isOpen:!0,hoursLabel:"9:00 – 18:00"},{day:"Wednesday",isToday:!1,isOpen:!0,hoursLabel:"9:00 – 18:00"},{day:"Thursday",isToday:!1,isOpen:!0,hoursLabel:"9:00 – 18:00"},{day:"Friday",isToday:!1,isOpen:!0,hoursLabel:"9:00 – 18:00"},{day:"Saturday",isToday:!1,isOpen:!0,hoursLabel:"9:00 – 17:00"},{day:"Sunday",isToday:!1,isOpen:!1}].map(n=>({...n,isToday:n.day===e}))}function s(e){let n=e.getFullYear(),t="".concat(e.getMonth()+1).padStart(2,"0"),i="".concat(e.getDate()).padStart(2,"0");return"".concat(n,"-").concat(t,"-").concat(i)}function r(e,n){let t=new Date(e);return t.setDate(t.getDate()+n),t}function c(e){return e.toLocaleDateString("en-GB",{weekday:"long",day:"numeric",month:"long",year:"numeric"})}function d(e){let n=e.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short"});return"Next: ".concat(n)}function u(e){let n=e.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short"});return"Next slot: ".concat(n)}function m(){var e,n,t,i,o,l;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,m=new Date(a.getFullYear(),a.getMonth(),a.getDate()),p=[];for(let e=1;e<=28&&p.length<10;e+=1){let n=r(m,e);0!==n.getDay()&&p.push(n)}let h=null!=(e=p[0])?e:r(m,1),b=s(h),g=[{id:"".concat(b,"-morning"),dateIso:b,timeLabel:"08:00–10:00",period:"morning"},{id:"".concat(b,"-afternoon"),dateIso:b,timeLabel:"15:00–17:00",period:"afternoon"}];for(let e of p.slice(1)){let n=s(e);g.push({id:"".concat(n,"-morning"),dateIso:n,timeLabel:"08:00–10:00",period:"morning"})}let y=null!=(n=p[2])?n:r(h,2),f=null!=(t=p[3])?t:r(h,3),x=[{dateIso:b,dateLabel:c(h),timeLabel:"08:00–10:00",selectedSlotId:"".concat(b,"-morning")},{dateIso:s(y),dateLabel:c(y),timeLabel:"Any time 9:00am–5:00pm"},{dateIso:s(f),dateLabel:c(f),timeLabel:"Morning 9:00am–12:00pm"}],v=null!=(i=p[4])?i:r(h,5),k=null!=(o=p[6])?o:r(h,7),j=null!=(l=p[2])?l:r(h,2);return{scheduleOptions:x,scheduleTimeSlots:g,dropOffPreviewSlots:p.slice(0,6).map(e=>{let n=s(e);return{id:"".concat("drop-off","-").concat(n),dateIso:n,timeLabel:"",period:"morning"}}),collectionPreviewSlots:p.slice(2,8).map(e=>{let n=s(e);return{id:"".concat("collection","-").concat(n,"-morning"),dateIso:n,timeLabel:"08:00–10:00",period:"morning"}}),nextAvailabilityLabel:d(h),nextDropOffAvailabilityLabel:d(h),nextCollectionAvailabilityLabel:d(j),workshopNextAvailabilityLabels:[u(v),u(k)]}}t.d(n,{mFZ:()=>I,Gi$:()=>P,r67:()=>w,qdS:()=>C}),l("embed.booking.validation.common.continue","Continue"),l("embed.booking.validation.common.saveAndContinue","Save and continue"),l("embed.booking.validation.common.chooseAddress","Choose address"),l("embed.booking.validation.common.done","Done"),l("embed.booking.validation.welcome.start","Start booking"),l("embed.booking.validation.workshopPicker.continue","Continue with workshop"),l("embed.booking.validation.bikeCatalogue.continue","Continue with selected bike"),l("embed.booking.validation.fulfilment.continueDropOff","Continue with drop-off"),l("embed.booking.validation.fulfilment.continueCollection","Continue with collection"),l("embed.booking.validation.fulfilment.continueOnSite","Continue with on-site {serviceTerm}"),l("embed.booking.validation.dropOffLocation.continue","Continue with this location"),l("embed.booking.validation.review.confirm","Confirm booking"),l("embed.booking.validation.review.continueToPayment","Continue to payment"),l("embed.booking.validation.payment.paySecurely","Pay securely");let p=e=>({amountMinor:e,currency:"GBP"}),h=m(),b=[{collectionAreaId:1,line1:"42 Western Road",city:"Brighton",postcode:"BN1 2PD",zoneLabel:"\xa310 zone",zoneFee:p(1e3),coordinates:[{lat:50.825,lng:-.155},{lat:50.84,lng:-.16},{lat:50.835,lng:-.18},{lat:50.818,lng:-.172}]},{collectionAreaId:2,line1:"18 London Road",city:"Brighton",postcode:"BN1 4JF",zoneLabel:"\xa330 zone",zoneFee:p(3e3),coordinates:[{lat:50.83,lng:-.14},{lat:50.855,lng:-.17},{lat:50.845,lng:-.19},{lat:50.822,lng:-.148}]}],g=[{collectionAreaId:10,line1:"Mobile service area",city:"Brighton",postcode:"BN1",zoneLabel:"\xa315 call-out",zoneFee:p(1500),coordinates:function(e,n,t){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:32,o=[],l=360/i;for(let a=0;a<i;a+=1){let i=a*l*Math.PI/180,s=e+t/6371*(180/Math.PI)*Math.sin(i),r=n+t/6371*(180/Math.PI)*(Math.cos(i)/Math.cos(e*Math.PI/180)
1);o.push({lat:s,lng:r})}return o}(50.8278,-.1687,10)}],y=[{id:"svc-checkup",name:"Bike check up",price:null,badge:"free",description:"A quick visual inspection and safety check - brakes, tyres, and key contact points.",groupId:"grp-assessments",groupName:"Assessments",groupOrder:1,serviceOrder:1},{id:"svc-basic",name:"Basic service",price:p(2500),description:"Essential safety checks, gear tuning, and brake adjustment to keep your bike road-ready.",groupId:"grp-servicing",groupName:"Servicing",groupOrder:2,serviceOrder:1},{id:"svc-full",name:"Full service",price:p(1e4),badge:"popular",description:"A comprehensive bike check-up, ensuring that all key components are inspected and adjusted for safe and smooth riding.",itemsCheckedCount:19,groupType:"BikeService",groupId:"grp-servicing",groupName:"Servicing",groupOrder:2,serviceOrder:2},{id:"svc-assessment",name:"Assessment and repairs",price:p(12e3),description:"Diagnostic assessment with quoted repair work for anything we find during inspection.",groupId:"grp-assessments",groupName:"Assessments",groupOrder:1,serviceOrder:2},{id:"svc-warranty",name:"Warranty assessment",price:p(2e4),description:"Inspection and report for warranty-related issues, with guidance on next steps.",groupId:"grp-assessments",groupName:"Assessments",groupOrder:1,serviceOrder:3}],f={workshop:{name:"Demo Workshop",businessId:1,nextAvailabilityLabel:h.nextAvailabilityLabel,nextDropOffAvailabilityLabel:h.nextDropOffAvailabilityLabel,nextCollectionAvailabilityLabel:h.nextCollectionAvailabilityLabel,addressLine:"12 Example Street, Brighton, BN1 1AA",phone:"+44 1273 555 010",email:"[email protected]",rating:4.7,reviewCount:74,openingHours:a(),distanceLabel:"6 km",latitude:50.8278,longitude:-.1687,slug:"demo-workshop"},workshops:[{name:"Demo Workshop",businessId:1,nextAvailabilityLabel:h.workshopNextAvailabilityLabels[0],addressLine:"12 Example Street, Brighton, BN1 1AA",phone:"+44 1273 555 010",email:"[email protected]",rating:4.7,reviewCount:74,openingHours:a(),distanceLabel:"6 km",latitude:50.8278,longitude:-.1687,slug:"demo-workshop"},{name:"Demo Workshop East",businessId:2,nextAvailabilityLabel:h.workshopNextAvailabilityLabels[1],addressLine:"48 Sample Road, Brighton, BN2 2BB",rating:4.5,reviewCount:31,openingHours:a(),distanceLabel:"14 km",latitude:50.8128,longitude:-.118,slug:"demo-workshop-east"}],services:y,fulfilmentCapabilities:{collectionEnabled:!0,dropOffEnabled:!0,mobileBusiness:!1,alternativeDropOffLocationsEnabled:!1},bikes:[{id:"bike-1",name:"Ribble CGR AL",make:"Ribble",model:"CGR AL 105",subtitle:"Gravel bike",type:"Gravel",year:"2023"},{id:"bike-2",name:"Velora XTR ZX",make:"Velora",model:"XTR ZX 200",subtitle:"Mountain bike",type:"Mountain",year:"2022"}],collectionFeeRangeLabel:"\xa310–\xa330 each way",scheduleOptions:h.scheduleOptions,scheduleTimeSlots:h.scheduleTimeSlots,workingAreas:b,savedAddresses:[{collectionAreaId:1,line1:"42 Western Road",city:"Brighton",postcode:"BN1 2PD",zoneLabel:"Home",zoneFee:p(1e3)},{collectionAreaId:1,line1:"8 Preston Road",city:"Brighton",postcode:"BN1 6AF",zoneLabel:"Work",zoneFee:p(1e3)}]},x=e=>({amountMinor:e,currency:"GBP"}),v=[{locationId:101,name:"Brighton Station Cycle Hub",addressLine1:"Queens Road",town:"Brighton",postcode:"BN1 3XP",formattedAddress:"Brighton Station Cycle Hub, Queens Road, Brighton, BN1 3XP",latitude:50.8289,longitude:-.1412},{locationId:102,name:"Hove Seafront Drop-off",addressLine1:"King's Esplanade",town:"Hove",postcode:"BN3 2WA",formattedAddress:"Hove Seafront Drop-off, King's Esplanade, Hove, BN3 2WA",latitude:50.8242,longitude:-.1719},{locationId:103,name:"Lewes Road Service Locker",addressLine1:"86 Lewes Road",town:"Brighton",postcode:"BN2 3QA",formattedAddress:"Lewes Road Service Locker, 86 Lewes Road, Brighton, BN2 3QA",latitude:50.8356,longitude:-.1243}];function k(e,n){return{...e,dropOffLocations:n}}let j={...f,workshop:{...f.workshop,name:"Brighton Mobile Bike Doctor",addressLine:"Mobile service across Brighton & Hove",nextAvailabilityLabel:m().nextAvailabilityLabel},fulfilmentCapabilities:{collectionEnabled:!0,dropOffEnabled:!1,mobileBusiness:!0,alternativeDropOffLocationsEnabled:!1},collectionFeeRangeLabel:"\xa315 call-out",workingAreas:g};
1k(f.workshop,v),k(null!=(o=null==(i=f.workshops)?void 0:i[0])?o:f.workshop,v),j.workshop,x(1e3),x(1e3),f.workshop,x(25e3),x(25e3),x(25e3),x(5e3),f.savedAddresses;let A={org_3GDoQncO5U6ktD8emYxImDkPxGw:["vanmoof"]};function C(e,n){if("Ribble"===e)return["ribble"];if(null!=n&&""!==n){let e=A[n];if(null!=e&&e.length>0)return[...e]}return null}Number.MAX_SAFE_INTEGER;let I=1e3,P=6e4;function S(e){return new Promise(n=>{setTimeout(n,e)})}async function w(e,n){var t,i,o,l;let a=null!=(t=null==n?void 0:n.pollIntervalMs)?t:I,s=null!=(i=null==n?void 0:n.timeoutMs)?i:P,r=null!=(o=null==n?void 0:n.delay)?o:S,c=Date.now();for(;Date.now()-c<=s;){try{if(await e())return"paid"}catch(e){if(!function(e){var n,t;if(null==e||"object"!=typeof e||"ERR_NETWORK"===e.code||"ECONNABORTED"===e.code)return!0;let i=null!=(t=null==(n=e.message)?void 0:n.toLowerCase())?t:"";if(i.includes("network error")||i.includes("failed to load")||null==e.response)return!0;let o=e.response.status;return null==o||o>=500||429===o||408===o}(e))return"api";null==n||null==(l=n.onTransientError)||l.call(n,e)}if(Date.now()-c>s)break;await r(a)}return"timeout"}t(33601)},78685:(e,n,t)=>{t.d(n,{A:()=>b});var i=t(6029),o=t(75155),l=t(6688),a=t(72091),s=t(35197),r=t(46232),c=t(4062),d=t(29723),u=t(94713),m=t(90944),p=t(8013),h=t(57391);let b=e=>{let n,t,b,y,f,x,v,k,j,A,C,I,P,S,w,D,B,T,R,N,E,L,W,q,F,O,_=(0,o.c)(64),{setYourInformationDialogOpen:z,showBookedByRibbleSupport:H}=e,G=void 0!==H&&H,{customer:M,bookedByRibbleSupport:V}=(0,p.GV)(g),U=(0,p.jL)(),{t:K}=(0,m.WD)();_[0]!==U?(n=e=>{e.stopPropagation(),U((0,h.RJ)(e.target.checked))},_[0]=U,_[1]=n):n=_[1];let Y=n;_[2]===Symbol.for("react.memo_cache_sentinel")?(t={display:"flex",justifyContent:"space-between",alignItems:"center",gap:1},_[2]=t):t=_[2],_[3]===Symbol.for("react.memo_cache_sentinel")?(b={fontSize:"16px!important"},_[3]=b):b=_[3],_[4]!==K?(y=K("customer.contactDetails","Contact details"),_[4]=K,_[5]=y):y=_[5],_[6]!==y?(f=(0,i.jsx)(l.A,{variant:"h6",sx:b,children:(0,i.jsx)("strong",{children:y})}),_[6]=y,_[7]=f):f=_[7],_[8]!==M.email||_[9]!==M.firstName||_[10]!==M.lastName||_[11]!==M.phone||_[12]!==K?(x=M.email||M.phone?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(l.A,{variant:"body2",sx:{},children:[M.firstName," ",M.lastName]}),(0,i.jsx)(l.A,{variant:"body2",sx:{},children:M.email}),M.phone&&""!=M.phone&&(0,i.jsx)(l.A,{variant:"body2",sx:{},children:M.phone})]}):(0,i.jsx)(l.A,{variant:"body2",sx:{},children:K("customer.noInformation","No information provided")}),_[8]=M.email,_[9]=M.firstName,_[10]=M.lastName,_[11]=M.phone,_[12]=K,_[13]=x):x=_[13],_[14]!==f||_[15]!==x?(v=(0,i.jsxs)(a.A,{children:[f,x]}),_[14]=f,_[15]=x,_[16]=v):v=_[16];let J=M.email?"outlined":"contained",X=M.email?"inherit":"tertiary";return _[17]!==M.email?(k=M.email?(0,i.jsx)(d.I,{}):(0,i.jsx)(u.f,{}),_[17]=M.email,_[18]=k):k=_[18],_[19]!==z?(j=()=>{z(!0)},_[19]=z,_[20]=j):j=_[20],_[21]!==K?(A=K("customer.myDetails","My Details"),_[21]=K,_[22]=A):A=_[22],_[23]!==X||_[24]!==k||_[25]!==j||_[26]!==A||_[27]!==J?(C=(0,i.jsx)(s.A,{children:(0,i.jsx)(r.A,{size:"small",variant:J,color:X,startIcon:k,onClick:j,children:A})}),_[23]=X,_[24]=k,_[25]=j,_[26]=A,_[27]=J,_[28]=C):C=_[28],_[29]!==C||_[30]!==v?(I=(0,i.jsxs)(s.A,{sx:t,children:[v,C]}),_[29]=C,_[30]=v,_[31]=I):I=_[31],_[32]===Symbol.for("react.memo_cache_sentinel")?(P={display:"flex",justifyContent:"space-between",alignItems:"center",gap:1},_[32]=P):P=_[32],_[33]===Symbol.for("react.memo_cache_sentinel")?(S={fontSize:"16px!important"},_[33]=S):S=_[33],_[34]!==K?(w=K("customer.preferredContact","Preferred contact method"),_[34]=K,_[35]=w):w=_[35],_[36]!==w?(D=(0,i.jsx)(l.A,{variant:"h6",sx:S,children:(0,i.jsx)("strong",{children:w})}),_[36]=w,_[37]=D):D=_[37],_[38]===Symbol.for("react.memo_cache_sentinel")?(B={},_[38]=B):B=_[38],_[39]!==M.preferredContactMethod?(T=(0,i.jsx)(l.A,{variant:"body2",sx:B,children:M.preferredContactMethod}),_[39]=M.preferredContactMethod,_[40]=T):T=_[40],_[41]!==D||_[42]!==T?(R=(0,i.jsxs)(a.A,{children:[D,T]}),_[41]=D,_[42]=T,_[43]=R):R=_[43],_[44]===Symbol.for("react.memo_cache_sentinel")?(N=(0,i.jsx)(d.I,{}),_[44]=N):N=_[44],_[45]!==z?(E=()=>{z(!0)},_[45]=z,_[46]=E):E=_[46],_[47]!==K?(L=K("vocab.change","Change"),_[47]=K,_[48]=L):L=_[48],_[49]!==E||_[50]!==L?(W=(0,i.jsx)(s.A,{children:(0,i.jsx)(r.A,{size:"small",variant:"outlined",color:"inherit",startIcon:N,onClick:E,children:L})}),_[49]=E,_[50]=L,_[51]=W):W=_[51],_[52]!==R||_[53]!==W?(q=(0,i.jsxs)(s.A,{sx:P,children:[R,W]}),_[52]=R,_[53]=W,_[54]=q):q=_[54],_[55]!==V||_[56]!==Y||_[57]!==G||_[58]!==K?(F=G&&(0,i.jsxs)(s.A,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:1},children:[(0,i.jsxs)(a.A,{children:[(0,i.jsx)(l.A,{variant:"h6",sx:{fontSize:"16px!important"},children:(0,i.jsx)("strong",{children:K("customer.bookedByRibbleSupport","Booked by Ribble Support")})}),(0,i.jsx)(l.A,{variant:"body2",sx:{},children:K("customer.bookedByRibbleSupportDescription","This job was booked by Ribble Support. All invoices and communication emails will be sent directly to both Ribble and the customer. If you're not a member of the Ribble support team you can ignore this.")})]}),(0,i.jsx)(s.A,{children:(0,i.jsx)(c.A,{checked:V,color:"tertiary",onChange:Y})})]}),_[55]=V,_[56]=Y,_[57]=G,_[58]=K,_[59]=F):F=_[59],_[60]!==I||_[61
1]!==q||_[62]!==F?(O=(0,i.jsxs)(a.A,{spacing:2,children:[I,q,F]}),_[60]=I,_[61]=q,_[62]=F,_[63]=O):O=_[63],O};function g(e){return e.booking.values}},90570:(e,n,t)=>{t.d(n,{A:()=>m});var i=t(6029),o=t(72091),l=t(4062),a=t(6688),s=t(82203),r=t.n(s);t(55729);var c=t(57391),d=t(8013),u=t(90944);let m=e=>{let{business:n,showCheckbox:t=!1}=e,s=(0,d.jL)(),{t:m}=(0,u.WD)();var p,h,b,g,y,f,x,v,k=null!=(v=null==n||null==(p=n.settings)?void 0:p.checkboxTermsRequired)&&v;let{values:j}=(0,d.GV)(e=>e.booking);return(0,i.jsxs)(o.A,{direction:"row",spacing:1,alignItems:"center",children:[k&&t&&(0,i.jsx)(l.A,{name:"termsAccepted",size:"small",defaultChecked:j.termsAccepted,onChange:e=>{s((0,c.vi)(e.target.checked))}}),(0,i.jsxs)(a.A,{variant:"caption",sx:{lineHeight:"14px"},children:[m("terms.bookingAgreementv2","By booking with Workshop by bikebook you are agreeing to the bikebook")," ",(0,i.jsx)(r(),{href:"/terms",target:"_blank",style:{textDecoration:"underline"},children:m("terms.termsAndConditions","terms and conditions")})," ",m("terms.andAcknowledge","and acknowledge our")," ",(0,i.jsx)(r(),{href:"/terms",target:"_blank",style:{textDecoration:"underline"},children:m("terms.privacyStatement","privacy statement")}),(null==n||null==(h=n.settings)?void 0:h.customTermsLink)!=null&&(null==n||null==(b=n.settings)?void 0:b.customTermsLink)!=""&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("span",{children:[m("terms.mechanicTerms",". Please also acknowledge the mechanic's")," ",(0,i.jsx)(r(),{href:null==n||null==(g=n.settings)?void 0:g.customTermsLink,target:"_blank",style:{textDecoration:"underline"},children:m("terms.termsAndConditions","terms and conditions")}),(null==n||null==(y=n.settings)?void 0:y.customPrivacyLink)!=null&&(null==n||null==(f=n.settings)?void 0:f.customPrivacyLink)!=""&&(0,i.jsxs)("span",{children:[" ",m("terms.and","and")," ",(0,i.jsx)(r(),{href:null==n||null==(x=n.settings)?void 0:x.customPrivacyLink,target:"_blank",style:{textDecoration:"underline"},children:m("terms.privacyStatement","privacy statement")})]})]})," "]}),m("terms.bookingDisclaimer",". The mechanic reserves the right to cancel the booking at any time. You are also agreeing to opt in to receiving SMS updates from the mechanic if you have provided your mobile number and the mechanic has opted in to sending SMS updates.")]})]})}},91132:(e,n,t)=>{t.d(n,{A:()=>j});var i=t(6029),o=t(75155),l=t(80956),a=t(72091),s=t(6688),r=t(35197),c=t(58294),d=t(45686),u=t(39725),m=t(13918),p=t(83638);t(55729);var h=t(91794),b=t(77445),g=t(59550),y=t(90944);let f=e=>{let n,t,a,s=(0,o.c)(6),{tooltip:r}=e,{t:d}=(0,y.WD)();return s[0]!==d||s[1]!==r?(n=null!=r?r:d("payment.securityInfo","A pre-payment is required to secure your booking."),s[0]=d,s[1]=r,s[2]=n):n=s[2],s[3]===Symbol.for("react.memo_cache_sentinel")?(t=(0,i.jsx)(c.v,{size:18}),s[3]=t):t=s[3],s[4]!==n?(a=(0,i.jsx)(l.A,{title:n,placement:"top",children:t}),s[4]=n,s[5]=a):a=s[5],a},x=()=>{let e,n,t,a=(0,o.c)(5),{t:s}=(0,y.WD)();return a[0]!==s?(e=s("payment.fullPaymentRequiredDescription","Full payment is required for this booking. You will be charged the full amount upfront."),a[0]=s,a[1]=e):e=a[1],a[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,i.jsx)(d.R,{}),a[2]=n):n=a[2],a[3]!==e?(t=(0,i.jsx)(l.A,{title:e,arrow:!0,children:n}),a[3]=e,a[4]=t):t=a[4],t},v=()=>{let e,n,t,a=(0,o.c)(5),{t:s}=(0,y.WD)();return a[0]!==s?(e=s("payment.distanceInfo","Price may vary based on distance, you can find an accurate amount by selecting your address below."),a[0]=s,a[1]=e):e=a[1],a[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,i.jsx)(d.R,{style:{marginBottom:-2}}),a[2]=n):n=a[2],a[3]!==e?(t=(0,i.jsx)(l.A,{title:e,arrow:!0,children:n}),a[3]=e,a[4]=t):t=a[4],t},k=e=>{let{label:n,price:t,icon:o=(0,i.jsx)(p.v,{color:"#212B36",weight:"regular",size:18}),tooltip:l}=e;return(0,i.jsx)(a.A,{direction:{xs:"column",sm:"row"},spacing:2,sx:{width:"100%"},justifyContent:"center",children:(0,i.jsxs)(s.A,{variant:"h6",sx:{fontSize:"14px!important",display:"flex",alignItems:"center",gap:1,justifyContent:"center",textAlign:"center"},children:[o,n,": ",(0,i.jsx)("strong",{children:t}),(0,i.jsx)(f,{tooltip:l})]})})},j=e=>{var n,t,l,s,c,d,p,f,j,A,C,I,P,S,w,D,B,T,R,N,E,L,W,q,F,O,_,z,H,G,M,V,U,K,Y,J,X,Q,Z,$;let ee,en,et,ei,eo,el,ea,es=(0,o.c)(63),{business:er,prePaymentConfig:ec,prePaymentRequired:ed,small:eu,collectionDueLabel:em}=e,ep=void 0!==eu&&eu,{t:eh}=(0,y.WD)();es[0]!==em||es[1]!==eh?(ee=null!=em?em:eh("payment.dueForCollection","Due today for collection"),es[0]=em,es[1]=eh,es[2]=ee):ee=es[2];let eb=ee;if(!(void 0!==ed&&ed))return null;let eg=null==(n=er.availability)?void 0:n.collectionAreas;es[3]!==er||es[4]!==eg||es[5]!==ep?(en=(0,b.sr)(eg,ep,er),es[3]=er,es[4]=eg,es[5]=ep,es[6]=en):en=es[6];let ey=en;if(ep){let e,n,o,r,u,m;return es[7]!==(null==(t=er.availability)?void 0:t.collectionEnabled)||es[8]!==er.businessType||es[9]!==(null==(l=er.collectionPrePaymentConfig)?void 0:l.enabled)||es[10]!==(null==(s=er.collectionPrePaymentConfig)?void 0:s.prePaymentConfigPaymentType)||es[11]!==ey||es[12]!==eb?(e="Location"===er.businessType&&(null==(A=er.collectionPrePaymentConfig)?void 0:A.enabled)===!0&&(null==(C=er.collectionPrePaymentConfig)?void 0:C.prePaymentConfigPaymentType)==="CollectionArea"&&(null==(I=er.availability)?void 0:I.collectionEnabled)===!0&&(0,i.jsx)(k,{label:eb,price:ey}),es[7]=null==(P=er.availability)?void 0:P.collectionEnabled,es[8]=er.businessType,es[9]=null==(S=er.collectionPrePaymentConfig)?void 0:S.enabled,es[10]=null==(w=er.collectionPrePaymentConfig)?void 0:w.prePaymentConfigPaymentType,es[11]=ey,es[12]=eb,es[13]=e):e=es[13],es[14]!==(null==(c=er.availability)?void 0:c.collectionEnabled)||es[15]!==er.businessType||es[16]!==(null==(d=er.collectionPrePaymentConfig)?void 0:d.enabled)||es[17]!==(null==(p=er.collectionPrePaymentConfig)?void 0:p.prePaymentConfigPaymentType)||es[18]!==(null==(f=er.dropOffPrePaymentConfig)?void 0:f.enabled)||es[19]!==(null==(j=er.dropOffPrePaymentConfig)?void 0:j.prePaymentConfigPaymentType)||es[20]!==eh?(n="Location"===er.businessType&&((null==(D=er.collectionPrePaymentConfig)?void 0:D.enabled)===!0&&(null==(B=er.collectionPrePaymentConfig)?void 0:B.prePaymentConfigPaymentType)==="FullValue"||(null==(T=er.dropOffPrePaymentConfig)?void 0:T.enabled)===!0&&(null==(R=er.dropOffPrePaymentConfig)?void 0:R.prePaymentConfigPaymentType)==="FullValue")&&(null==(N=er.availability)?void 0:N.collectionEnabled)===!0&&(0,i.jsx)(k,{label:eh("vocab.dueToday","Due today"),price:eh("vocab.fullPaymentRequired","Full Payment Required"),tooltip:eh("vocab.fullPaymentRequiredTooltip","Full payment is required for this booking, you will be charged the full amount upfront.")}
1),es[14]=null==(E=er.availability)?void 0:E.collectionEnabled,es[15]=er.businessType,es[16]=null==(L=er.collectionPrePaymentConfig)?void 0:L.enabled,es[17]=null==(W=er.collectionPrePaymentConfig)?void 0:W.prePaymentConfigPaymentType,es[18]=null==(q=er.dropOffPrePaymentConfig)?void 0:q.enabled,es[19]=null==(F=er.dropOffPrePaymentConfig)?void 0:F.prePaymentConfigPaymentType,es[20]=eh,es[21]=n):n=es[21],es[22]!==er||es[23]!==eh?(o="Location"===er.businessType&&(null==(O=er.dropOffPrePaymentConfig)?void 0:O.enabled)===!0&&(null==(_=er.dropOffPrePaymentConfig)?void 0:_.prePaymentConfigPaymentType)==="SetPrice"&&(null==(z=er.availability)?void 0:z.dropOffsEnabled)===!0&&(null==(H=er.dropOffPrePaymentConfig)?void 0:H.price)&&(0,i.jsx)(k,{label:eh("payment.dueForDropoff","Due today for drop-off"),price:(0,g.TI)(null!=(M=null==(G=er.dropOffPrePaymentConfig)?void 0:G.price)?M:0,!1,!1,er)}),es[22]=er,es[23]=eh,es[24]=o):o=es[24],es[25]!==er||es[26]!==eh?(r="Mobile"===er.businessType&&(null==(V=er.mobilePrePaymentConfig)?void 0:V.enabled)===!0&&"CollectionArea"!==er.mobilePrePaymentConfig.prePaymentConfigPaymentType&&"FullValue"!==er.mobilePrePaymentConfig.prePaymentConfigPaymentType&&(0,i.jsx)(k,{label:eh("payment.requiredToday","Required payment today"),price:(0,g.TI)(null==(U=er.mobilePrePaymentConfig)?void 0:U.price,!1,!1,er)}),es[25]=er,es[26]=eh,es[27]=r):r=es[27],es[28]!==er.businessType||es[29]!==er.mobilePrePaymentConfig||es[30]!==ey||es[31]!==eb?(u="Mobile"===er.businessType&&(null==(K=er.mobilePrePaymentConfig)?void 0:K.enabled)===!0&&"CollectionArea"===er.mobilePrePaymentConfig.prePaymentConfigPaymentType&&(0,i.jsx)(k,{label:eb,price:ey}),es[28]=er.businessType,es[29]=er.mobilePrePaymentConfig,es[30]=ey,es[31]=eb,es[32]=u):u=es[32],es[33]!==e||es[34]!==n||es[35]!==o||es[36]!==r||es[37]!==u?(m=(0,i.jsxs)(a.A,{spacing:1,children:[e,n,o,r,u]}),es[33]=e,es[34]=n,es[35]=o,es[36]=r,es[37]=u,es[38]=m):m=es[38],m}return es[39]===Symbol.for("react.memo_cache_sentinel")?(et={xs:"column",sm:"row"},es[39]=et):et=es[39],es[40]!==er.businessType||es[41]!==er.collectionPrePaymentConfig||es[42]!==ey||es[43]!==eg||es[44]!==eb||es[45]!==(null==ec?void 0:ec.bookingType)||es[46]!==eh?(ei="Location"===er.businessType&&er.collectionPrePaymentConfig&&(0,i.jsx)(h.A,{title:eb,preAction:(0,i.jsx)(u.e,{size:32,color:"#212B36",weight:"regular"}),subheader:(0,i.jsxs)(a.A,{spacing:.75,children:[(null==(Y=er.collectionPrePaymentConfig)?void 0:Y.prePaymentConfigPaymentType)==="CollectionArea"?(0,i.jsxs)(r.A,{children:["".concat(er.collectionPrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:ey})," ",null!=eg&&(null==eg?void 0:eg.length)>1&&(0,i.jsx)(v,{})]}):(null==(J=er.collectionPrePaymentConfig)?void 0:J.prePaymentConfigPaymentType)==="SetPrice"?(0,i.jsxs)(r.A,{children:["".concat(er.collectionPrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:(0,g.TI)(er.collectionPrePaymentConfig.price)})]}):(0,i.jsxs)(r.A,{sx:{display:"flex",alignItems:"center",gap:1},children:["".concat(er.collectionPrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:eh("payment.fullPaymentRequired","Full Payment Required")}),(0,i.jsx)(x,{})]}),er.collectionPrePaymentConfig.priceDescription&&(0,i.jsx)(r.A,{sx:{fontSize:12},children:er.collectionPrePaymentConfig.priceDescription})]}),disableButton:!0,disabled:(null==ec?void 0:ec.bookingType)!=="Collection"}),es[40]=er.businessType,es[41]=er.collectionPrePaymentConfig,es[42]=ey,es[43]=eg,es[44]=eb,es[45]=null==ec?void 0:ec.bookingType,es[46]=eh,es[47]=ei):ei=es[47],es[48]!==er.businessType||es[49]!==er.dropOffPrePaymentConfig||es[50]!==(null==ec?void 0:ec.bookingType)||es[51]!==eh?(eo="Location"===er.businessType&&er.dropOffPrePaymentConfig&&(0,i.jsx)(h.A,{title:eh("payment.dueForDropoff","Due today for drop-off"),preAction:(0,i.jsx)(m.f,{size:32,color:"#212B36",weight:"regular"}),subheader:(null==(X=er.dropOffPrePaymentConfig)?void 0:X.prePaymentConfigPaymentType)==="SetPrice"?(0,i.jsxs)(a.A,{spacing:.75,children:[(0,i.jsxs)(r.A,{children:["".concat(er.dropOffPrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:(0,g.TI)(er.dropOffPrePaymentConfig.price)})]}),er.dropOffPrePaymentConfig.priceDescription&&(0,i.jsx)(r.A,{sx:{fontSize:12},children:er.dropOffPrePaymentConfig.priceDescription})]}):(0,i.jsx)(a.A,{spacing:.75,children:(0,i.jsxs)(r.A,{sx:{display:"flex",alignItems:"center",gap:1},children:["".concat(er.dropOffPrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:eh("payment.fullPaymentRequired","Full Payment Required")}),(0,i.jsx)(x,{})]})}),disableButton:!0,disabled:(null==ec?void 0:ec.bookingType)!=="BringIn"}),es[48]=er.businessType,es[49]=er.dropOffPrePaymentConfig,es[50]=null==ec?void 0:ec.bookingType,es[51]=eh,es[52]=eo):eo=e
1s[52],es[53]!==er.businessType||es[54]!==er.mobilePrePaymentConfig||es[55]!==ey||es[56]!==eg||es[57]!==eh?(el="Mobile"===er.businessType&&(null==(Q=er.mobilePrePaymentConfig)?void 0:Q.enabled)===!0&&(0,i.jsx)(h.A,{title:eh("payment.requiredToday","Required payment today"),preAction:(0,i.jsx)(u.e,{size:32,color:"#212B36",weight:"regular"}),subheader:(0,i.jsxs)(a.A,{spacing:.75,children:[(null==(Z=er.mobilePrePaymentConfig)?void 0:Z.prePaymentConfigPaymentType)==="CollectionArea"?(0,i.jsxs)(r.A,{children:["".concat(er.mobilePrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:ey})," ",null!=eg&&(null==eg?void 0:eg.length)>1&&(0,i.jsx)(v,{})]}):(null==($=er.mobilePrePaymentConfig)?void 0:$.prePaymentConfigPaymentType)==="FullValue"?(0,i.jsxs)(r.A,{sx:{display:"flex",alignItems:"center",gap:1},children:["".concat(er.mobilePrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:eh("payment.fullPaymentRequired","Full Payment Required")}),(0,i.jsx)(x,{})]}):(0,i.jsxs)(r.A,{children:["".concat(er.mobilePrePaymentConfig.priceName,":")," ",(0,i.jsx)("strong",{children:(0,g.TI)(er.mobilePrePaymentConfig.price)})]}),er.mobilePrePaymentConfig.priceDescription&&(0,i.jsx)(r.A,{sx:{fontSize:12},children:er.mobilePrePaymentConfig.priceDescription})]}),disableButton:!0}),es[53]=er.businessType,es[54]=er.mobilePrePaymentConfig,es[55]=ey,es[56]=eg,es[57]=eh,es[58]=el):el=es[58],es[59]!==ei||es[60]!==eo||es[61]!==el?(ea=(0,i.jsxs)(a.A,{direction:et,spacing:2,children:[ei,eo,el]}),es[59]=ei,es[60]=eo,es[61]=el,es[62]=ea):ea=es[62],ea}},99256:(e,n,t)=>{t.d(n,{A:()=>et});var i=t(6029),o=t(44981),l=t(72091),a=t(38312),s=t(6688),r=t(55729),c=t(1909),d=t(16531),u=t(95051),m=t(21941),p=t(97278),h=t(46831),b=t(49428),g=t(57391),y=t(29911),f=t(47786),x=t(35197),v=t(46232),k=t(90944),j=t(63860),A=t(45401),C=t(37085),I=t(15263),P=t(74312),S=t.n(P),w=t(75155),D=t(80132),B=t(92726),T=t(73585),R=t(27512),N=t(29113),E=t(29723),L=t(58161),W=t(24341),q=t(71330),F=t(8013);let O=e=>{let{bike:n,subtext:t=null,hideButtons:o=!1,hideMerge:a=!1,onEdit:c,onDelete:d,disableDefaultDeletingAndMerging:u=!1,onMerge:m,additionalInformation:p=null,buttonsOverride:h=null,defaultImageUrl:b=null,hideBikeIcon:g=!1,hideSubText:y=!1,titleFontSize:f="16px!important",endComponent:j=null,onClick:A,small:C=!1,skeleton:I=!1,sx:P={}}=e,{t:S}=(0,k.WD)();(0,F.jL)();let[w,D]=(0,r.useState)(!1),[B,O]=(0,r.useState)(!1),[_,z]=(0,r.useState)(null);return I?(0,i.jsxs)(l.A,{spacing:1,direction:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:"center",sx:{paddingLeft:"6px","& *":{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},borderRadius:"8px",...P},children:[" ",(0,i.jsxs)(l.A,{direction:"row",spacing:2,alignItems:"center",sx:{width:"100%"},children:[(0,i.jsx)(T.A,{variant:"text",width:120,height:72,sx:{transform:"none",minWidth:"120px"}}),(0,i.jsxs)(l.A,{spacing:.5,sx:{width:"100%"},children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:C?"14px!important":f},children:(0,i.jsx)(T.A,{variant:"text",width:100,sx:{transform:"none"}})}),(0,i.jsx)(s.A,{variant:"body2",sx:{"& *":{fontSize:C?"12px!important":"14px"}},children:(0,i.jsx)(T.A,{variant:"text",width:250,sx:{transform:"none"}})})]})]}),(0,i.jsxs)(l.A,{direction:{xs:"row-reverse",sm:"column"},sx:{height:"100%",display:"flex",alignItems:"center",minWidth:"150px"},spacing:.5,children:[(0,i.jsx)(T.A,{variant:"text",height:29,width:150,sx:{borderRadius:"4px",transform:"none"}}),(0,i.jsx)(T.A,{variant:"text",height:29,width:150,sx:{borderRadius:"4px",transform:"none"}})]})]}):null==n?null:(0,i.jsxs)(l.A,{spacing:1,direction:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:"center",onClick:A,sx:{"& *":{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},cursor:"pointer",borderRadius:"8px","&:hover":{background:"#f7f8f9"},...P},children:[(0,i.jsxs)(l.A,{spacing:1,children:[" ",(0,i.jsxs)(l.A,{direction:"row",spacing:2,alignItems:"center",children:[n.thumbnailUrl&&(0,i.jsx)("img",{src:n.thumbnailUrl,height:48,width:48,style:{paddingLeft:"6px",objectFit:"contain",borderRadius:"8px",overflow:"hidden",minWidth:"120px",minHeight:"72px"}}),!n.thumbnailUrl&&(0,i.jsx)(q.A,{defaultSize:C?40:72,src:null,defaultBorderRadius:8,icon:(0,i.jsx)(R.z,{size:C?24:28,color:"#d9d9d9"}),style:{paddingLeft:"6px",objectFit:"contain",borderRadius:"6px",overflow:"hidden",minWidth:"120px",minHeight:"72px"}}),(0,i.jsxs)(l.A,{children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:C?"14px!important":f},children:(0,i.jsx)("strong",{children:n.model})}),(0,i.jsxs)(s.A,{variant:"body2",sx:{"& *":{fontSize:C?"12px!important":"14px"}},children:[n.maker,", ",n.family,", ",n.year]}),p&&p]})]}),!h&&!o&&(0,i.jsxs)(l.A,{direction:"row",spacing:1,children:[(0,i.jsx)(v.A,{color:"error",size:"small",startIcon:(0,i.jsx)(N.l,{}),onClick:()=>{D(!0)}
1,sx:{mr:1},children:S("vocab.delete")}),(0,i.jsx)(v.A,{size:"small",startIcon:(0,i.jsx)(E.I,{}),onClick:c,children:S("vocab.edit")}),!a&&(0,i.jsx)(v.A,{size:"small",startIcon:(0,i.jsx)(L.P,{}),onClick:()=>{O(!0)},children:S("vocab.merge")})]}),null!=h&&h]}),!g&&(0,i.jsx)(x.A,{sx:e=>({[e.breakpoints.down("sm")]:{display:"none"}}),children:(0,i.jsx)(W.Q,{size:C?32:40})}),j&&j]})};var _=t(99953),z=t(11510),H=t(45686);let G=e=>{let n,t,o,a,r,c,d,u,m,p,h=(0,w.c)(22),{onAutocompleteBikeSelect:b,filterMakerIds:g}=e,{t:y}=(0,k.WD)(),f=(0,B.A)(M);h[0]!==y?(n=y("bikes.searchPlaceholder"),h[0]=y,h[1]=n):n=h[1],h[2]!==g?(t={makerIds:g},h[2]=g,h[3]=t):t=h[3],h[4]===Symbol.for("react.memo_cache_sentinel")?(o=(0,i.jsx)(_.e,{style:{marginRight:"8px"},size:18}),h[4]=o):o=h[4],h[5]===Symbol.for("react.memo_cache_sentinel")?(a={fontWeight:"700"},h[5]=a):a=h[5],h[6]!==y?(r=y("bikes.searchTitle"),h[6]=y,h[7]=r):r=h[7],h[8]!==r?(c=(0,i.jsxs)(i.Fragment,{children:[o,(0,i.jsx)(s.A,{variant:"subtitle1",sx:a,children:r})]}),h[8]=r,h[9]=c):c=h[9],h[10]===Symbol.for("react.memo_cache_sentinel")?(d=(0,i.jsx)("a",{href:"https://99spokes.com",target:"_blank",children:(0,i.jsx)("img",{src:"https://cdn.bikebook.co.uk/SiteImages/partners/99spokes.svg",width:100})}),h[10]=d):d=h[10];let j=f?1200:800;return h[11]===Symbol.for("react.memo_cache_sentinel")?(u=(0,i.jsx)(O,{skeleton:!0}),h[11]=u):u=h[11],h[12]!==b||h[13]!==y?(m=(e,n,t)=>n.noResults&&!e.isFetching?(0,i.jsx)(x.A,{sx:{p:2},children:(0,i.jsx)(s.A,{variant:"body2",children:y("bikes.noResults")})}):null==n.id?null:(0,i.jsx)(O,{bike:n,hideButtons:!0,onClick:()=>{e.onClose&&e.onClose(),b(n)},sx:{mb:.5,py:.5},hideBikeIcon:!0,endComponent:(0,i.jsxs)(l.A,{direction:{xs:"row-reverse",sm:"column"},sx:{height:"100%",display:"flex",alignItems:"center",width:{xs:"100%",sm:"auto"}},spacing:.5,children:[(0,i.jsx)(v.A,{variant:"contained",fullWidth:!0,color:"tertiary",size:"small",startIcon:(0,i.jsx)(z.r,{}),children:y("bikes.selectBike")}),(0,i.jsx)(v.A,{variant:"outlined",fullWidth:!0,color:"inherit",size:"small",startIcon:(0,i.jsx)(H.R,{}),component:"a",onClick:J,href:n.url,target:"_blank",children:y("bikes.viewDetails")})]})}),h[12]=b,h[13]=y,h[14]=m):m=h[14],h[15]!==b||h[16]!==n||h[17]!==m||h[18]!==t||h[19]!==c||h[20]!==j?(p=(0,i.jsx)(D.A,{name:"",autoFocus:!1,url:"/v2/Bike/SearchSpokesBikes",multiple:!1,placeholder:n,triggerOnChangeOnInputChanges:!0,autocompleteId:"spokes-bikes-autocomplete",freeSolo:!0,getDataProperty:V,onChange:U,getDataTotalItemCountProperty:K,customDataExtraction:Y,additionalRequestParam
1s:t,onChangeOverride:b,useCursor:!0,headerContent:c,footerContent:d,scrollHeightOffset:j,skeletonComponent:u,maxHeight:"45vh",renderOption:m}),h[15]=b,h[16]=n,h[17]=m,h[18]=t,h[19]=c,h[20]=j,h[21]=p):p=h[21],p};function M(e){return e.breakpoints.down("sm")}function V(e){return"items"}function U(e,n){}function K(e){return"total"}function Y(e){return e.items}function J(e){e.stopPropagation()}var X=t(75010),Q=t(66094),Z=t(17795);let $=e=>{var n,t,o,r,c,u;let{bike:m,createResourceCollectionIfEmpty:p=!1,getValues:h,isEdit:b=!1,onImageDelete:g=null,isCustomerBooking:y=!1,watch:P,setValue:w,showNonSearchFields:D=!1,setShouldShowNonSearchFields:B,onAutocompleteBikeSelect:T,imageRefreshToken:R,forceDisableSpokes:N=!1,filterSpokesMakerIds:L,business:W}=e,{t:q}=(0,k.WD)(),O=N||(null==W||null==(n=W.settings)?void 0:n.businessCategory)!=null&&(null==W||null==(t=W.settings)?void 0:t.businessCategory)!="Bike"||!y&&null!=(u=(0,F.GV)(e=>{var n,t;return null==(t=e.business.data)||null==(n=t.settings)?void 0:n.disableInternalSpokesIntegration}))&&u||!0===y&&(null==W||null==(o=W.settings)?void 0:o.disableWidgetSpokesIntegration)===!0,_=null==(r=X.q.GetBusinessCategory(W))?void 0:r.value,z="Vehicle"===_,H=(0,Z.NXq)(null==W?void 0:W.settings,{isVehicleLayout:z,categoryIsBike:"Bike"===_}),M=H.showMake,V=H.showModel,U=H.showSerial,K=H.showType,Y=!y,J=q("bikes.nameIdentifier","{Bike} name or identifier *",{Bike:X.q.GetSingularBusinessCategoryName(!1,W)}),$=H.applyCustomizations?function(e){let n=e.trimEnd();return n.endsWith("*")?e:0===n.length?"*":"".concat(n," *")}((0,Z.H93)(H.nameFieldLabelOverride,J)):J,ee=1+ +!!M+ +!!V+ +!!U+ +!!Y,en=e=>ee<=1||ee%2==1&&e?12:6,et=!M&&!V&&!U&&!Y,ei=M&&!V&&!U&&!Y,eo=V&&!U&&!Y,el=U&&!Y;return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(l.A,{spacing:3,sx:{},children:[(0,i.jsx)(f.A,{title:q("bikes.detailsTitle","{Bike} details",{Bike:X.q.GetSingularBusinessCategoryName(!1,W)}),sx:{p:0},subheader:q("bikes.detailsDescription","The details of the {bike} such as the make and model.",{bike:X.q.GetSingularBusinessCategoryName(!0,W)})}),(0,i.jsx)(x.A,{children:(0,i.jsxs)(j.A,{container:!0,spacing:2,children:[!O&&(0,i.jsx)(j.A,{size:{xs:12,md:12},children:(0,i.jsxs)(l.A,{spacing:2,children:[(0,i.jsx)(G,{onAutocompleteBikeSelect:T,filterMakerIds:L}),!D&&(0,i.jsx)(v.A,{variant:"outlined",fullWidth:!0,color:"inherit",size:"large",onClick:()=>{B(!0)},startIcon:(0,i.jsx)(E.I,{}),children:q("bikes.enterManually")})]})}),(O||D)&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j.A,{size:{xs:12,md:12},children:(0,i.jsx)(a.A,{})}),z?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j.A,{size:{xs:12,md:6},children:(0,i.jsx)(d.o3,{name:"name",label:q("vehicles.makeOrName","Make or Name"),fullWidth:!0,placeholder:q("vehicles.makeOrNameExample","e.g. Honda, Toyota, etc.")})}),(0,i.jsx)(j.A,{size:{xs:12,md:6},children:(0,i.jsx)(d.o3,{name:"model",label:q("bikes.model","Model"),fullWidth:!0,placeholder:q("vehicles.modelPlaceholder","e.g. Civic, Corolla")})}),(0,i.jsx)(j.A,{size:{xs:12,md:6},children:(0,i.jsx)(d.o3,{name:"make",label:q("vehicle.series","Series"),fullWidth:!0,placeholder:q("vehicles.seriesPlaceholder","e.g. EX, Sport")})}),(0,i.jsx)(j.A,{size:{xs:12,md:6},children:(0,i.jsx)(d.o3,{name:"year",label:q("bikes.year","Year"),type:"number",placeholder:q("bikes.yearExample","e.g. 2020"),fullWidth:!0})}),Y&&(0,i.jsx)(j.A,{size:{xs:12,md:12},children:(0,i.jsx)(d.o3,{fullWidth:!0,name:"arn",label:q("bikes.arn","ARN")})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j.A,{size:{xs:12,md:en(et)},children:(0,i.jsx)(d.o3,{name:"name",label:$,fullWidth:!0,placeholder:q("bikes.nameExample","E.G Giant Road Bike")})}),M&&(0,i.jsx)(j.A,{size:{xs:12,md:en(ei)},children:(0,i.jsx)(d.o3,{name:"make",label:(0,Z.H93)(H.makeFieldLabelOverride,q("bikes.make")),fullWidth:!0,placeholder:q("bikes.makePlaceholder","e.g. Trek, Specialized")})}),V&&(0,i.jsx)(j.A,{size:{xs:12,md:en(eo)},children:(0,i.jsx)(d.o3,{name:"model",label:(0,Z.H93)(H.modelFieldLabelOverride,q("bikes.model")),fullWidth:!0,placeholder:q("bikes.modelPlaceholder","e.g. Domane SL 5")})}),U&&(0,i.jsx)(j.A,{size:{xs:12,md:en(el)},children:(0,i.jsx)(d.o3,{name:"serialNumber",label:(0,Z.H93)(H.serialFieldLabelOverride,q("bikes.serialNumber")),fullWidth:!0,placeholder:q("bikes.serialNumberPlaceholder","e.g. under the bottom bracket or on the steerer")})}),Y&&(0,i.jsx)(j.A,{size:{xs:12,md:en(!0)},children:(0,i.jsx)(d.o3,{fullWidth:!0,name:"arn",label:q("bikes.arn","ARN")})}),K&&(0,i.jsx)(j.A,{size:{xs:12,md:12},children:(0,i.jsx)(d.tX,{name:"type",label:(0,Z.H93)(H.typeFieldLabelOverride,q("bikes.type")),fullWidth:!0,native:!1,children:I.Sy.map(e=>(0,i.jsx)(A.A,{value:e,children:(0,I.cv)(e)},e))})})]}),(0,i.jsx)(j.A,{size:{xs:12,md:12},children:(0,i.jsx)(d.ZE,{name:"purchaseDate",label:q("bikes.purchaseDateOptional","Purchase date (optional)"),maxDate:S().utc((0,Z.jrI)(null==W||null==(c=W.settings)?void 0:c.timeZone))})})]})]})}),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.A,{}),(0,i.jsx)(f.A,{title:q("bikes.imagesTitle","Images (Optional)"),sx:{p:0},subheader:q("bikes.imagesDescription","This is for any images associated to the {bike}. Images save automatically even without saving the whole {bike}.",{bike:X.q.GetSingularBusinessCategoryName(!0,W)}
1)}),(0,i.jsx)(C.A,{useLightbox:!0,onImageDelete:g,allowDefaultImage:!0,refreshToken:R,qrCodeEnabled:!0,createIfEmpty:p,setResourceHandleCollectionId:e=>{w("resourceHandleCollectionId",e)},resourceHandleCollectionId:P("resourceHandleCollectionId"),sx:{py:0,pb:1,display:"flex",gap:"16px",flexWrap:"wrap"}})]}),b&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.A,{}),(0,i.jsx)(x.A,{children:(0,i.jsx)(f.A,{style:{padding:0},title:q("vocab.information")})}),(0,i.jsxs)(x.A,{children:[(0,i.jsxs)(x.A,{style:{display:"flex",justifyContent:"space-between"},children:[(0,i.jsx)(s.A,{variant:"subtitle2",sx:{mb:1.5},children:q("vocab.created")}),(0,i.jsx)(s.A,{variant:"body2",sx:{mb:1.5},children:m.created?(0,Q.Gl)(S()(m.created),Q.LN.NUMERIC_DATE_TIME_SECONDS):q("vocab.notAvailable")})]}),(0,i.jsx)(a.A,{style:{marginBottom:16}}),(0,i.jsxs)(x.A,{style:{display:"flex",justifyContent:"space-between"},children:[(0,i.jsx)(s.A,{variant:"subtitle2",sx:{mb:1.5},children:q("vocab.createdBy")}),(0,i.jsx)(s.A,{variant:"body2",sx:{mb:1.5},children:m.createdBy?m.createdBy:q("vocab.notAvailable")})]}),(0,i.jsx)(a.A,{style:{marginBottom:16}}),(0,i.jsxs)(x.A,{style:{display:"flex",justifyContent:"space-between"},children:[(0,i.jsx)(s.A,{variant:"subtitle2",sx:{mb:1.5},children:q("vocab.lastEdited")}),(0,i.jsx)(s.A,{variant:"body2",sx:{mb:1.5},children:m.edited?(0,Q.Gl)(S()(m.edited),Q.LN.NUMERIC_DATE_TIME_SECONDS):q("vocab.notAvailable")})]}),(0,i.jsx)(a.A,{style:{marginBottom:16}}),(0,i.jsxs)(x.A,{style:{display:"flex",justifyContent:"space-between"},children:[(0,i.jsx)(s.A,{variant:"subtitle2",sx:{mb:1.5},children:q("vocab.lastEditedBy")}),(0,i.jsx)(s.A,{variant:"body2",sx:{mb:1.5},children:m.editedBy?m.editedBy:q("vocab.notAvailable")})]})]})]})]})})};var ee=t(74987),en=t(21216);let et=e=>{var n,t,f,x,v,j,A,C;let{open:I,bike:P={},setOpen:S,business:w,setEditBikeServices:D,disableBikeSearch:B=!1,restrictServiceGroupTypes:T=null,filterSpokesMakerIds:R=null,widgetContext:N}=e,{serviceBookings:E}=(0,F.GV)(e=>e.booking.values),{mutateAsync:L}=(0,en.k2)(),{mutateAsync:W}=(0,en.cI)(),{t:q}=(0,k.WD)(),O=(0,b.Z6)(w),[_,H]=(0,r.useState)(null),[G,M]=(0,r.useState)(null!=P),V=(0,F.jL)(),[U,K]=(0,r.useState)(0),Y=m.Ik().shape({name:m.Yj().required(q("vocab.nameRequired","Name is required"))}),J={name:null!=(f=null==P?void 0:P.name)?f:"",make:null!=(x=null==P?void 0:P.make)?x:"",model:null!=(v=null==P?void 0:P.model)?v:"",serialNumber:null!=(j=null==P?void 0:P.serialNumber)?j:"",year:null!=(A=null==P?void 0:P.year)?A:"",type:null!=(C=null==P?void 0:P.type)?C:"GenericBike",customerNotes:"",services:[],resourceHandleCollectionId:null,id:(0,y.A)()},Q=(0,c.mN)({defaultValues:J,resolver:(0,o.t)(Y)}),{reset:Z,watch:et,control:ei,setValue:eo,getValues:el,handleSubmit:ea,formState:{isSubmitting:es,isValid:er}}=Q,ec=async e=>new Promise((n,t)=>{V((0,g.lp)([...E.filter(n=>n.id!=e.id),{...P,...e}])),Z(J),S(!1),K(0),D&&D(null)});(0,r.useEffect)(()=>{I&&P&&(Z(P),M((null==P?void 0:P.id)!=null))},[I]),(0,r.useLayoutEffect)(()=>{I||(K(0),Z(J))},[I]);let ed=()=>{null!=el("resourceHandleCollectionId")?V((0,b.FS)({url:"/ResourceHandle/GetDefaultImage?resourceHandleCollectionId=".concat(el("resourceHandleCollectionId")),values:{},onSuccess:e=>{if(eo("defaultImage",e.data),P&&E.some(e=>e.id==P.id)){var n=E.find(e=>e.id==P.id);V((0,g.lp)([...E.filter(e=>e.id!=P.id),{...n,defaultImage:e.data}]))}},onFinally:()=>{}})):eo("defaultImage",null)};(0,r.useEffect)(()=>{ed()},[el("resourceHandleCollectionId"),I,U]);let eu=async e=>{var n,t;eo("make",e.maker,{shouldValidate:!0}),eo("model",e.model,{shouldValidate:!0}),eo("name",e.maker+" "+(null!=(t=(null==E||null==(n=E.filter(n=>n.make==e.maker))?void 0:n.length)+1)?t:1),{shouldValidate:!0}),M(!0),await W().then(async n=>{eo("resourceHandleCollectionId",n.data.resourceHandleCollectionId),e.thumbnailUrl&&await L({params:{imageData:e.thumbnailUrl,resourceHandleCollectionId:et("resourceHandleCollectionId")}}).then(()=>{H(new Date().getTime().toString())})})};return(0,i.jsx)(u.A,{open:I,onClose:()=>S(!1),fullWidth:!0,disableTransition:!0,fullScreen:!0,maxWidth:"md",footerSx:{flexWrap:"0"==U?"wrap":"none"},paperSmSx:{},actions:[..."0"==U?[{type:"button",content:q("bike.clearBike","Clear {businessCategory}",{businessCategory:X.q.GetSingularBusinessCategoryName(!0,w)}),buttonProps:{onClick:()=>{Z({...J,resourceHandleCollectionId:el("resourceHandleCollectionId")})}},side:{sm:"left",md:"right"}},{type:"button",content:q("bike.notSure","I'm not sure"),buttonProps:{onClick:()=>{M(!0),Z({...J,name:q("bike.genericBike","Generic {businessCategory} 1",{businessCategory:X.q.GetSingularBusinessCategoryName(!0,w)}),type:"GenericBike",services:[],resourceHandleCollectionId:el("resourceHandleCollectionId")}
1),V((0,h.kw)("info",q("bike.defaultValuesInfo","We have filled in some default values for you, if the mechanic needs further information they will contact you.")))},variant:"outlined"},side:{sm:"right",md:"right"}},{type:"button",content:q("bike.selectServices","Select Services"),buttonProps:{onClick:()=>{K(1)},endIcon:(0,i.jsx)(ee.K,{}),disabled:!er,variant:"contained",color:"tertiary"},side:"right"}]:[],..."1"==U?[{type:"button",content:q("bike.removeAllServices","Remove all services"),hideOnMobile:!0,buttonProps:{onClick:()=>{eo("services",[])}},side:{sm:"right",md:"right"}},{type:"button",content:q("vocab.back","Back"),buttonProps:{onClick:()=>{K(0)},variant:"outlined"},side:{sm:"left",md:"right"}},{type:"button",content:q("vocab.saveAndClose","Save and Close"),buttonProps:{onClick:ea(ec),endIcon:(0,i.jsx)(z.r,{}),variant:"contained",color:"tertiary",disabled:0==el("services").length},side:"right"}]:[]],title:0==U?q("bike.tellUsAbout","Tell us about your {businessCategory}",{businessCategory:X.q.GetSingularBusinessCategoryName(!0,w)}):q("bike.selectYourServices","Now select your services"),subheader:0==U?(null==(n=w.settings)?void 0:n.useBikeFitterCopy)?"Please provide as much information as possible on your bike as it helps the fitter greatly.":q("bike.provideInfo","Please provide as much information as possible on your {businessCategory} as it helps the mechanic greatly.",{businessCategory:X.q.GetSingularBusinessCategoryName(!0,w)}):q("bike.selectServicesDescription","Now select the services from the list below you require for this {businessCategory}, you can always edit this later.",{businessCategory:X.q.GetSingularBusinessCategoryName(!0,w)}),children:I&&(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(d.Op,{methods:Q,onSubmit:e=>{e.preventDefault()},children:[0==U&&(0,i.jsxs)(l.A,{spacing:2,children:[(0,i.jsx)(a.A,{}),(0,i.jsx)($,{createResourceCollectionIfEmpty:!0,getValues:el,forceDisableSpokes:B,watch:et,isCustomerBooking:!0,setValue:eo,restrictServiceGroupTypes:T,showNonSearchFields:G,setShouldShowNonSearchFields:M,onAutocompleteBikeSelect:eu,imageRefreshToken:_,onImageDelete:()=>{ed()},business:w,filterSpokesMakerIds:R})]}),1==U&&(0,i.jsxs)(l.A,{spacing:2,children:[(0,i.jsx)(p.A,{business:w,disableSearch:!0,maxHeight:"unset",selectedServices:et("services"),restrictServiceGroupTypes:T,widgetContext:N,selectedServiceOnChange:(e,n)=>{el("services").some(e=>n==e.serviceId)?eo("services",el("services").filter(e=>n!=e.serviceId)):eo("services",[...el("services"),...O.filter(e=>n==e.serviceId)])}}),(0,i.jsx)(a.A,{}),(0,i.jsxs)(l.A,{children:[(0,i.jsx)(s.A,{variant:"h6",sx:{fontSize:"16px!important"},children:(0,i.jsx)("strong",{children:q("bike.additionalInfo","Additional information")})}),(0,i.jsx)(s.A,{variant:"body2",sx:{},children:(null==(t=w.settings)?void 0:t.useBikeFitterCopy)?"Provide any details about your issue or request that could assist the fitter":q("bike.provideDetails","Provide any details about your issue or request that could assist the mechanic")})]}),(0,i.jsx)(d.o3,{name:"customerNotes",multiline:!0,minRows:3,fullWidth:!0,placeholder:q("booking.customerNotes.placeholder","Add any details that help us understand your request")})]})]})})})}}}]);
2//# sourceMappingURL=5737-29fd13d1de07fc5c.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.