{"version":3,"sources":["img/background5.jpg","img/backgournd-collections.jpg","img/background6.jpg","img/powered_by_hubtiger.png","img/logo.png","config.tsx","components/styledComponents/values.tsx","components/styledComponents/Typography.jsx","components/styledComponents/General.tsx","translations/translations.js","components/styledComponents/Layout.jsx","translations/setMobileNumber.js","steps/CustomerDetails.jsx","translations/setLanguage.js","steps/ServiceOfferingsOls.jsx","steps/BikeDetails.jsx","steps/Notes.jsx","steps/SelectDate.jsx","util/distance.js","steps/PickUps.jsx","steps/Summary.jsx","components/Header.jsx","App.jsx","serviceWorker.ts","index.tsx","img/background2.jpg","img/background1.jpg","img/background3.jpg","img/background4.jpg"],"names":["module","exports","URLL","BIKE_SHOP_ID","window","location","search","split","primaryColor","H1","styled","h1","props","pb","ShopName","div","DarkOverlay","BackgroundImage","pos","language","localStorage","getItem","translate","word","en_json","es_json","pt_json","fr_json","Row","jc","ai","pa","he","fw","Full","country","setNumber","number","substring","replace","regex","CustomerDetails","getDetails","e","state","name","surname","mobileNumber","console","log","target","value","searchKeyValue","show","length","searchKey","setState","emailError","match","setYourDetails","eMail","loading","fetch","then","res","json","res2","eMailAddress","Name","Surname","MobileNumber","getBikeDetails","options","getDetailsFromEmail","email","next","nameError","surnameError","mobileError","setMobileNumber","setStep","handleKeyPress","event","key","selectPerson","person","errorMessage","nextProps","this","detailsError","src","Bg2","className","FormControl","List","component","aria-label","map","option","ListItem","button","onClick","ListItemText","primary","TextField","id","error","label","variant","onBlur","onChange","icon","faArrowLeft","faArrowRight","React","Component","setLanguage","setItem","reload","CURRENCY","ServiceOfferings","handleClick","item","toSet","open","handleSelected","service","price","selectedServices","ID","total","temp","setSelectedServices","services","shopName","shopDescription","Object","keys","checkServices","groupedServices","showFittings","queryString","parse","fittings","toLowerCase","serviceTypes","ServiceTypes","filter","x","IsFitting","CurrencySymbol","Country","forEach","GroupName","push","setPartnerInfo","OffersCollections","OffersDropOffs","Location","CollectionsDayBuffer","BikePerTimeSlot","ShopDescription","catch","Bg1","header","faChevronUp","faChevronDown","Collapse","in","timeout","unmountOnExit","Service","parseInt","Cost","Checkbox","checked","inputProps","dangerouslySetInnerHTML","__html","Extra","validated","prevState","serviceError","BikeDetails","errorCheck","bikeError","yearError","manufactureError","modelError","Manufacturer","Model","Year","bikeDetailsError","setBikeDetails","bikeOptions","Bg3","select","el","bike","MenuItem","Notes","Bg4","style","width","multiline","rows","setAdditionalNotes","showPickUP","CalendarContainer","toDay","Date","weekDays","arr","month","SelectDate","Calender","setDate","setStateDate","getFullYear","getDay","getDate","getMonth","undefined","day","index","Array","weekNum","i","dayNum","iDays","calenderDate","dayToShow","toString","dateToPush","showInvalid","collection","availableDate","includes","collectionDate","selectedDate","date","inValid","cantClick","todayDate","buildDays","returnArr","pointer","dateError","Bg5","dropOff","partnerID","distance","lat1","lon1","lat2","lon2","radlat1","Math","PI","radlat2","theta","radtheta","dist","sin","cos","acos","prototype","addDays","days","valueOf","typingTimer","theme","createMuiTheme","palette","main","secondary","light","contrastText","contrastThreshold","tonalOffset","PickUps","getAddressOptions","address","clearTimeout","setTimeout","JSON","AddressOptions","predictions","addressOptions","SelectedAddress","results","geometry","lat","lng","collectionServices","find","Radius","radius","selectedService","types","disabledDate","disabledDays","validate","wantsPickUp","wantsDropOff","collectionName","collectionPhoneNumber","pickUpDate","collectionNote","timeSlot","setCollectionInfo","collectionDayBuffer","collectionTime","pickUpService","CollectionTime","dropDown","serviceList","avalibleTimeSlots","PeopleBooked","bikePerTimeSlot","daysWithTimeSlots","Day","tempDisabledDays","faSearch","CircularProgress","color","onKeyPress","autoComplete","description","ButtonGroup","Button","ThemeProvider","utils","DateFnsUtils","DatePicker","minDate","shouldDisableDate","Select","labelId","StartTime","EndTime","type","currency","Summary","additionalNotes","Bg6","finishButtonClick","img","Link","p","selected","Header","step","PoweredBy","App","OffersPickup","OffersDropOff","setRequiredDate","requiredDate","tomorrow","serviceString","join","collectionContactDetails","obj","Bikeshop","Cyclist","Email","Mobile","Bike","DisplayDate","Jobs","RequiredDate","Platform","url","method","credentials","headers","body","stringify","ok","swal","text","renderSteps","Type","myDynamicManifest","short_name","icons","sizes","start_url","href","display","theme_color","background_color","stringManifest","blob","Blob","manifestURL","URL","createObjectURL","document","querySelector","setAttribute","class","PoweredByLogo","Boolean","hostname","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister","message"],"mappings":"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","file":"static/js/main.0c6818ee.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/background5.a430d16f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/backgournd-collections.3d85f0ef.jpg\";","module.exports = __webpack_public_path__ + \"static/media/background6.b0ed55f1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/powered_by_hubtiger.68869f91.png\";","module.exports = __webpack_public_path__ + \"static/media/logo.154be85e.png\";","//const URLL = \"http://localhost:7071\";\nconst URLL = !process.env.NODE_ENV || process.env.NODE_ENV === \"development\" ? \"https://hubtigerbookingsexternal.azurewebsites.net\" : \"https://hubtigerbookingsexternal.azurewebsites.net\";\nconst BIKE_SHOP_ID = window.location.search.split(\"=\")[1].split(\"&\")[0] || (process.env.NODE_ENV === \"development\" ? \"HUB.2B3E9A19F503444DB39B3FE9E5FA7D04D7E140D116264F3591873721C18916B7.TIGER\" : \"\"); //LIght speed demo\n\nexport { URLL, BIKE_SHOP_ID };","const primaryColor = \"rgba(21, 26, 42, 1)\";\nconst primaryAccentColor = \"#cd2647\";\nconst textColor = \"#373737\";\nconst inverseTextColor = \"#000000\";\n\nconst mainPadding = \"0 0\";\n\nexport { primaryColor, primaryAccentColor, textColor, inverseTextColor, mainPadding };\n","import styled from \"styled-components\";\nimport { textColor } from \"./values\";\n\nconst H1 = styled.h1`\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\tcolor: #898FA1;\n\tfont-size: 20px;\n\tfont-weight: 600;\n\tpadding-top: 1rem;\n\tpadding-bottom: ${props=> props.pb || \"1rem\"};\n\ttext-align: center;\n\t@media only screen and (max-width: 600px) {\n\t\tpadding-top: 1rem;\n\t\tpadding-bottom: 1rem;\n\t}\n\t@media only screen and (max-width: 790px) {\n\t\t&.hide-small {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nconst ShopName = styled.div`\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\tpadding-top: 1rem;\n\tfont-size: 24px;\n\tfont-weight: 600;\n\tpadding-bottom: 1rem;\n\ttext-align: center;\n\tcolor: ${textColor};\n\t@media only screen and (max-width: 600px) {\n\t\tpadding-top: 1rem;\n\t\tpadding-bottom: 1rem;\n\t}\n\t@media only screen and (max-width: 790px) {\n\t\t&.hide-small {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport { H1, ShopName };\n","import styled from \"styled-components\";\n\ninterface BackgroundImageProps {\n\tsrc: string;\n\tpos?: string;\n}\n\nconst DarkOverlay = styled.div`\n\tbackground-color: rgba(0, 0, 0, 0.0);\n\twidth: 100%;\n`;\n\nconst BackgroundImage = styled.div`\n\tbackground-position: ${(props) => props.pos || \"center\"};\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n`;\n\nexport { DarkOverlay, BackgroundImage };\n","import en_json from \"./en.json\";\nimport es_json from \"./es.json\";\nimport pt_json from \"./pt.json\";\nimport fr_json from \"./fr.json\";\nconst language = window.localStorage.getItem(\"language\") || \"en\";\n\nconst translate = (word) => {\n try {\n switch (language) {\n case \"en\":\n return en_json[word];\n case \"es\":\n return es_json[word];\n case \"pt\":\n return pt_json[word];\n case \"fr\":\n return fr_json[word];\n default:\n return word;\n }\n } catch {\n return word;\n }\n};\n\nexport default translate;\n","import styled from \"styled-components\";\n\nconst Row = styled.div`\n\tdisplay: flex;\n\tjustify-content: ${props => props.jc};\n\talign-items: ${props => props.ai};\n\tpadding: ${props => props.pa};\n\theight: ${props => props.he};\n\tflex-wrap: ${props => (props.fw ? \"wrap\" : \"none\")};\n\t@media only screen and (max-width: 790px) {\n\t\tjustify-content: ${props => (props.fw ? \"center\" : props.jc)};\n\t\t&.reset-height {\n\t\t\theight: 375px;\n\t\t\toverflow-y: scroll;\n\t\t}\n\t}\n\t&.reset-padding {\n\t\t@media only screen and (max-width: 600px) {\n\t\t\tpadding: 0 5%;\n\t\t}\n\t}\n`;\n\nconst Half = styled.div`\n\twidth: 45%;\n\tmin-width: 300px;\n\t@media only screen and (max-width: 1100px) {\n\t\twidth: 100%;\n\t\tmin-width: none;\n\t}\n\t.MuiFormControl-root {\n\t\twidth: 100%;\n\t}\n\t.MuiInputBase-root {\n\t\twidth: 100%;\n\t}\n`;\n\nconst Full = styled.div`\n\twidth: 100%;\n\tmin-width: 300px;\n\t@media only screen and (max-width: 1100px) {\n\t\twidth: 100%;\n\t\tmin-width: none;\n\t}\n\t.MuiFormControl-root {\n\t\twidth: 100%;\n\t}\n\t.MuiInputBase-root {\n\t\twidth: 100%;\n\t}\n`;\n\nexport { Row, Half, Full };\n","const country = window.localStorage.getItem(\"Country\");\n\nconst setNumber = number => {\n\tswitch (country) {\n\t\tcase \"US\":\n\t\tcase \"ZA\":\n\t\t\tif (number.substring(0, 1) !== \"+\") {\n\t\t\t\treturn number.replace(\"0\", \"+27\");\n\t\t\t}\n\t\t\treturn number;\n\t\tdefault:\n\t\t\treturn number;\n\t}\n};\n\nexport default setNumber;\n","import React from \"react\";\nimport { URLL, BIKE_SHOP_ID } from \"../config\";\nimport { H1 } from \"../components/styledComponents/Typography\";\nimport { BackgroundImage, DarkOverlay } from \"../components/styledComponents/General\";\nimport translate from \"../translations/translations\";\nimport Bg2 from \"../img/background2.jpg\";\nimport { Row } from \"../components/styledComponents/Layout\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faArrowRight, faArrowLeft, faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FormControl, TextField, CircularProgress } from \"@material-ui/core\";\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport setMobileNumber from \"../translations/setMobileNumber\";\nimport { mainPadding } from \"../components/styledComponents/values\";\n\nconst regex = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nclass CustomerDetails extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\terrorMessage: \"\",\n\t\t\temailError: false,\n\t\t\tnameError: false,\n\t\t\tsurnameError: false,\n\t\t\tmobileError: false,\n\t\t\toptions: [],\n\t\t\tshow: true,\n\t\t\tloading: false,\n\t\t};\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { eMail, name, surname, mobileNumber } = this.props;\n\t\tif (nextProps.detailsError) {\n\t\t\tthis.setState({ emailError: !eMail.match(regex), nameError: name === \"\", surnameError: surname === \"\", mobileError: !mobileNumber.match(/([0-9\\s\\-]{7,})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/) });\n\t\t}\n\t}\n\n\tgetDetails = (e) => {\n\t\tconst { name, surname, mobileNumber } = this.state;\n\t\tconsole.log(e.target);\n\t\tif (e.target && e.target.value) {\n\t\t\tlet searchKeyValue = e.target.value;\n\t\t\tif (this.state.show && e.target.value.length > 3) {\n\t\t\t\tthis.setState({ emailError: false });\n\t\t\t\tlet searchKey;\n\t\t\t\tif (searchKeyValue) {\n\t\t\t\t\tif (searchKeyValue.match(regex)) {\n\t\t\t\t\t\tsearchKey = \"email\";\n\t\t\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\t\t\teMail: e.target.value,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tsurname,\n\t\t\t\t\t\t\tmobileNumber,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (searchKeyValue.match(/([0-9\\s\\-]{7,})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/)) {\n\t\t\t\t\t\tsearchKey = \"phone\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.setState({ loading: true });\n\t\t\t\tfetch(`${URLL}/api/CyclistsOnPrem?searchKey=${searchKey}&searchKeyValue=${searchKeyValue}&bikeshop=${BIKE_SHOP_ID}`)\n\t\t\t\t\t.then((res) => res.json())\n\t\t\t\t\t.then((res2) => {\n\t\t\t\t\t\tthis.setState({ loading: false });\n\t\t\t\t\t\tif (res2.length === 1) {\n\t\t\t\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\t\t\t\teMail: res2[0].eMailAddress,\n\t\t\t\t\t\t\t\tname: res2[0].Name,\n\t\t\t\t\t\t\t\tsurname: res2[0].Surname,\n\t\t\t\t\t\t\t\tmobileNumber: res2[0].MobileNumber,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.props.getBikeDetails(res2[0].eMailAddress);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.setState({ options: res2 });\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\tgetDetailsFromEmail = (email) => {\n\t\tif (email.match(regex)) {\n\t\t\tconst searchKeyValue = email;\n\t\t\tthis.setState({ emailError: false });\n\t\t\tlet searchKey;\n\t\t\tif (searchKeyValue) {\n\t\t\t\tif (searchKeyValue.match(regex)) {\n\t\t\t\t\tsearchKey = \"email\";\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfetch(`${URLL}/api/CyclistsOnPrem?searchKey=${searchKey}&searchKeyValue=${searchKeyValue}&bikeshop=${BIKE_SHOP_ID}`)\n\t\t\t\t.then((res) => res.json())\n\t\t\t\t.then((res2) => {\n\t\t\t\t\tif (res2.length === 1) {\n\t\t\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\t\t\teMail: res2[0].eMailAddress,\n\t\t\t\t\t\t\tname: res2[0].Name,\n\t\t\t\t\t\t\tsurname: res2[0].Surname,\n\t\t\t\t\t\t\tmobileNumber: res2[0].MobileNumber,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.props.getBikeDetails(res2[0].eMailAddress);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\t};\n\n\tnext = () => {\n\t\tconst { eMail, name, surname, mobileNumber } = this.props;\n\t\tthis.setState({ emailError: !eMail.match(regex), nameError: name === \"\", surnameError: surname === \"\", mobileError: !mobileNumber.match(/([0-9\\s\\-]{7,})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/) }, () => {\n\t\t\tconsole.log(this.state);\n\t\t\tif (!(this.state.emailError || this.state.nameError || this.state.surnameError || this.state.mobileError)) {\n\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\teMail,\n\t\t\t\t\tname,\n\t\t\t\t\tsurname,\n\t\t\t\t\tmobileNumber: setMobileNumber(mobileNumber),\n\t\t\t\t});\n\t\t\t\tthis.props.setStep(2);\n\t\t\t}\n\t\t});\n\t};\n\n\thandleKeyPress = (event) => {\n\t\tif (event.key === \"Enter\") {\n\t\t\tthis.getDetails(event);\n\t\t}\n\t};\n\n\tselectPerson = (person) => {\n\t\tthis.setState({ show: false, emailError: false, nameError: false, surnameError: false, mobileError: false });\n\t\tthis.props.setYourDetails({\n\t\t\teMail: person.eMailAddress,\n\t\t\tname: person.Name,\n\t\t\tsurname: person.Surname,\n\t\t\tmobileNumber: person.MobileNumber,\n\t\t});\n\t\tthis.props.getBikeDetails(person.eMailAddress);\n\t};\n\n\trender() {\n\t\tconst { eMail, name, surname, mobileNumber } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

{translate(\"your_details\")}

\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t {translate(\"search_options\")} {this.state.loading && }\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonKeyPress={this.handleKeyPress}\n\t\t\t\t\t\t\t\t\t\tonBlur={this.getDetails}\n\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t\tonChange={() => this.setState({ show: true, options: [] })}\n\t\t\t\t\t\t\t\t\t\tautoComplete=\"new-password\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t\t\t\t\t{!!this.state.options.length && this.state.show ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{this.state.options.map((option) => (\n\t\t\t\t\t\t\t\t\t\t\t this.selectPerson(option)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getDetailsFromEmail(eMail);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ emailError: !eMail.match(regex) });\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teMail: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsurname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmobileNumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(!eMail || eMail.length===0){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getDetails(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ mobileError: !mobileNumber.match(/([0-9\\s\\-]{7,})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/) });\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\teMail,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsurname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmobileNumber: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t this.setState({ nameError: name === \"\" })}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\teMail,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsurname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmobileNumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t this.setState({ surnameError: name === \"\" })}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setYourDetails({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\teMail,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsurname: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmobileNumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
this.props.setStep(0)}>\n\t\t\t\t\t\t\t\t{translate(\"previous\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{translate(\"next\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default CustomerDetails;\n","const language = window.localStorage.getItem(\"language\") || \"en\";\n\nconst setLanguage = country => {\n\twindow.localStorage.setItem(\"Country\", country);\n\tswitch (country) {\n\t\tcase \"US\":\n\t\t\tif (language !== \"en\") {\n\t\t\t\twindow.localStorage.setItem(\"language\", \"en\");\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"IE\":\n\t\t\tif (language !== \"en\") {\n\t\t\t\twindow.localStorage.setItem(\"language\", \"en\");\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"ZA\":\n\t\t\tif (language !== \"en\") {\n\t\t\t\twindow.localStorage.setItem(\"language\", \"en\");\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"MX\":\n\t\t\tif (language !== \"es\") {\n\t\t\t\twindow.localStorage.setItem(\"language\", \"es\");\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"FR\":\n\t\t\tif (language !== \"fr\") {\n\t\t\t\twindow.localStorage.setItem(\"language\", \"fr\");\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twindow.localStorage.setItem(\"language\", \"en\");\n\t}\n};\n\nexport default setLanguage;\n","import React from \"react\";\nimport { URLL, BIKE_SHOP_ID } from \"../config\";\nimport { List, ListItem, ListItemText, Collapse, Checkbox } from \"@material-ui/core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faChevronDown, faChevronUp, faArrowRight } from \"@fortawesome/free-solid-svg-icons\";\n\nimport translate from \"../translations/translations\";\nimport setLanguage from \"../translations/setLanguage\";\n\nimport { BackgroundImage, DarkOverlay } from \"../components/styledComponents/General\";\n\nimport Bg1 from \"../img/background1.jpg\";\n\nimport { H1 } from \"../components/styledComponents/Typography\";\n\nimport { Row, Half, Full } from \"../components/styledComponents/Layout\";\n\nimport { mainPadding } from \"../components/styledComponents/values\";\nimport queryString from 'query-string';\n\nlet CURRENCY = \"$\";\n\nclass ServiceOfferings extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tservices: [],\n\t\t\topen: {},\n\t\t\tselectedServices: {},\n\t\t\ttotal: 0,\n\t\t\terror: false,\n\t\t\tshopName: \"\",\n\t\t\tshopDescription: \"\",\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps(nextProps, prevState) {\n\t\tif (nextProps.serviceError) {\n\t\t\treturn {\n\t\t\t\terror: nextProps.serviceError,\n\t\t\t};\n\t\t}\n\t}\n\n\tvalidated() {\n\t\tif (Object.keys(this.state.selectedServices).length) {\n\t\t\tthis.props.checkServices();\n\t\t\tthis.props.setStep(1);\n\t\t} else {\n\t\t\tthis.setState({ error: true });\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tlet groupedServices = {};\n\t\tlet showFittings = (queryString.parse(window.location.search).fittings && queryString.parse(window.location.search).fittings.toLowerCase() === 'true') || false;\n\n\t\tfetch(`${URLL}/api/ServiceTypesV2?bikeshop=${BIKE_SHOP_ID}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((res2) => {\n\t\t\t\tconst serviceTypes = showFittings ? res2.ServiceTypes.filter(x=>{return x.IsFitting}) : res2.ServiceTypes.filter(x=>{return !x.IsFitting});\n\t\t\t\tCURRENCY = res2.CurrencySymbol;\n\t\t\t\tsetLanguage(res2.Country);\n\t\t\t\tserviceTypes.forEach((e) => {\n\t\t\t\t\tif (groupedServices[e.GroupName]) {\n\t\t\t\t\t\tgroupedServices[e.GroupName].push(e);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgroupedServices[e.GroupName] = [e];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.props.setPartnerInfo(res2.OffersCollections && !showFittings, res2.OffersDropOffs && !showFittings, res2.CurrencySymbol, res2.ID, res2.Location, res2.CollectionsDayBuffer, res2.BikePerTimeSlot, res2.ShopName);\n\t\t\t\tthis.setState({ services: groupedServices, shopName: res2.ShopName, shopDescription: res2.ShopDescription });\n\t\t\t})\n\t\t\t.catch((e) => console.error(e));\n\t}\n\n\thandleClick = (item) => {\n\t\tconst toSet = this.state.open[item] ? false : true;\n\t\tthis.setState({ open: { ...this.state.open, [item]: toSet } });\n\t};\n\n\thandleSelected = (service, price) => {\n\t\tconst toSet = this.state.selectedServices[service.ID] ? false : service;\n\t\tconst key = service.ID;\n\t\tif (toSet) {\n\t\t\tthis.setState({\n\t\t\t\tselectedServices: {\n\t\t\t\t\t...this.state.selectedServices,\n\t\t\t\t\t[key]: toSet,\n\t\t\t\t},\n\t\t\t\ttotal: this.state.total + price,\n\t\t\t\terror: false,\n\t\t\t});\n\t\t} else {\n\t\t\tconst temp = this.state.selectedServices;\n\t\t\tdelete temp[key];\n\t\t\tthis.setState({\n\t\t\t\tselectedServices: temp,\n\t\t\t\ttotal: this.state.total - price,\n\t\t\t\terror: false,\n\t\t\t});\n\t\t}\n\t\tthis.props.setSelectedServices({\n\t\t\t...this.state.selectedServices,\n\t\t\t[key]: toSet,\n\t\t});\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

{translate(\"our_services_offerings\")}

\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{Object.keys(this.state.services).map((item) => (\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t this.handleClick(item)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.open[item] ? : }\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.services[item].map((services) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
this.handleSelected(services, parseInt(services.Cost))}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleSelected(services, parseInt(services.Cost))}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"checkedA\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinputProps={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"aria-label\": \"primary checkbox\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{services.Service}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{`${CURRENCY} ${services.Cost}`}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{translate(\"total\")}:{\" \"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{CURRENCY}\n\t\t\t\t\t\t\t\t\t\t{this.state.total}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{this.state.error &&
{translate(\"please_select_a_service_to_continue\")}
}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t
this.validated()}>\n\t\t\t\t\t\t\t{translate(\"next\")}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default ServiceOfferings;\n","import React from \"react\";\nimport { H1 } from \"../components/styledComponents/Typography\";\nimport { BackgroundImage, DarkOverlay } from \"../components/styledComponents/General\";\nimport translate from \"../translations/translations\";\nimport Bg3 from \"../img/background3.jpg\";\nimport { Row } from \"../components/styledComponents/Layout\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faArrowRight, faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\nimport { FormControl, TextField, MenuItem } from \"@material-ui/core\";\nimport { mainPadding } from \"../components/styledComponents/values\";\n\nclass BikeDetails extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tbikeError: false,\n\t\t\tyearError: false,\n\t\t\tmanufactureError: false,\n\t\t\tmodelError: false,\n\t\t};\n\t}\n\n\terrorCheck(next) {\n\t\tconst { Name, Manufacturer, Model, Year } = this.props;\n\t\tthis.setState({ manufactureError: Manufacturer === \"\", modelError: Model === \"\", bikeError: Name === \"\", yearError: Year === \"\" || !(Year == parseInt(Year, 10)) }, () => {\n\t\t\tconst { bikeError, yearError, manufactureError, modelError } = this.state;\n\t\t\t//if (!(bikeError || yearError || manufactureError || modelError) && next) {\n\t\t\t\tconsole.log(this.state);\n\t\t\tif (!(bikeError || manufactureError) && next) {\n\t\t\t\tthis.props.setStep(3);\n\t\t\t}\n\t\t});\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (nextProps.bikeDetailsError) {\n\t\t\tthis.errorCheck(false);\n\t\t}\n\t}\n\n\tnext = () => {\n\t\tthis.errorCheck(true);\n\t};\n\n\trender() {\n\t\tconst { Name, Year, Manufacturer, Model, setBikeDetails, bikeOptions = [] } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

{translate(\"your_bike_details\")}

\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{bikeOptions.length > 1 ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t setBikeDetails(bikeOptions.filter((el) => e.target.value === el.Name)[0])}>\n\t\t\t\t\t\t\t\t\t\t\t\t{bikeOptions.map((bike) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{bike.Name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{/* this.setState({ yearError: Year === \"\" || !(Year == parseInt(Year, 10)) })}\n\t\t\t\t\t\t\t\t\t\t\terror={this.state.yearError}\n\t\t\t\t\t\t\t\t\t\t\tlabel={translate(\"year\")}\n\t\t\t\t\t\t\t\t\t\t\tvalue={Year}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetBikeDetails({\n\t\t\t\t\t\t\t\t\t\t\t\t\tName,\n\t\t\t\t\t\t\t\t\t\t\t\t\tYear: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\tManufacturer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tModel,\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/> */}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{/* this.setState({ yearError: Year === \"\" || !(Year == parseInt(Year, 10)) })}\n\t\t\t\t\t\t\t\t\t\t\terror={this.state.yearError}\n\t\t\t\t\t\t\t\t\t\t\tlabel={translate(\"year\")}\n\t\t\t\t\t\t\t\t\t\t\tvalue={Year}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetBikeDetails({\n\t\t\t\t\t\t\t\t\t\t\t\t\tName,\n\t\t\t\t\t\t\t\t\t\t\t\t\tYear: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\tManufacturer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tModel,\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/> */}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t this.setState({ manufactureError: Manufacturer === \"\" })}\n\t\t\t\t\t\t\t\t\terror={this.state.manufactureError}\n\t\t\t\t\t\t\t\t\tlabel={translate(\"manufacturer\")}\n\t\t\t\t\t\t\t\t\tvalue={Manufacturer}\n\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\tsetBikeDetails({\n\t\t\t\t\t\t\t\t\t\t\tName,\n\t\t\t\t\t\t\t\t\t\t\tYear,\n\t\t\t\t\t\t\t\t\t\t\tManufacturer: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\tModel,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t this.setState({ modelError: Model === \"\" })}\n\t\t\t\t\t\t\t\t\t\t//error={this.state.modelError}\n\t\t\t\t\t\t\t\t\t\tlabel={translate(\"model_optional\")}\n\t\t\t\t\t\t\t\t\t\tvalue={Model}\n\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\tsetBikeDetails({\n\t\t\t\t\t\t\t\t\t\t\t\tName,\n\t\t\t\t\t\t\t\t\t\t\t\tYear,\n\t\t\t\t\t\t\t\t\t\t\t\tManufacturer,\n\t\t\t\t\t\t\t\t\t\t\t\tModel: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
this.props.setStep(1)}>\n\t\t\t\t\t\t\t\t{translate(\"previous\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{translate(\"next\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default BikeDetails;\n","import React from \"react\";\nimport { H1 } from \"../components/styledComponents/Typography\";\nimport { BackgroundImage, DarkOverlay } from \"../components/styledComponents/General\";\nimport translate from \"../translations/translations\";\nimport Bg4 from \"../img/background4.jpg\";\nimport { TextField } from \"@material-ui/core\";\nimport { Row } from \"../components/styledComponents/Layout\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faArrowRight, faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\nimport { mainPadding } from \"../components/styledComponents/values\";\n\nconst Notes = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t

{translate(\"additional_notes\")}

\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t props.setAdditionalNotes(e.target.value)} />\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
props.setStep(2)}>\n\t\t\t\t\t\t\t{translate(\"previous\")}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
props.setStep(props.showPickUP ? 4 : 5)}>\n\t\t\t\t\t\t\t{translate(\"next\")}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Notes;\n","import React from \"react\";\nimport { H1 } from \"../components/styledComponents/Typography\";\nimport { BackgroundImage, DarkOverlay } from \"../components/styledComponents/General\";\nimport translate from \"../translations/translations\";\nimport Bg5 from \"../img/background5.jpg\";\nimport styled from \"styled-components\";\nimport { Row } from \"../components/styledComponents/Layout\";\nimport { mainPadding, primaryColor } from \"../components/styledComponents/values\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faArrowRight, faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\n\nconst CalendarContainer = styled.div`\n\tborder: 2px solid ${primaryColor};\n\tborder-radius: 10px;\n\tbackground-color: ${primaryColor};\n\theight: fit-content;\n`;\n\nconst weeks = 4;\nconst days = 7;\nconst toDay = new Date();\nconst weekDays = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst arr = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\nconst month = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\nclass SelectDate extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\t}\n\n\tCalender = (setDate, setStateDate) => (\n\t\t
\n\t\t\t
\n\t\t\t\t
{toDay.getFullYear()}
\n\t\t\t\t
\n\t\t\t\t\t{weekDays[toDay.getDay()]},\n\t\t\t\t\t
{`${toDay.getDate()} ${month[toDay.getMonth()]}`}\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{month[toDay.getMonth()]}/{month[toDay.getMonth() + 1] == undefined ? month[0] : month[toDay.getMonth() + 1]}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{arr.map((day, index) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t
\n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t\t{[...Array(weeks)].map((weekNum, i) => (\n\t\t\t\t\t
\n\t\t\t\t\t\t{[...Array(days)].map((dayNum, iDays) => {\n\t\t\t\t\t\t\tconst calenderDate = this.getDay(i, iDays, setStateDate);\n\t\t\t\t\t\t\tconst dayToShow = calenderDate.getDate();\n\t\t\t\t\t\t\tconst month = calenderDate.getMonth() + 1 < 10 ? \"0\" + (calenderDate.getMonth() + 1) : calenderDate.getMonth() + 1;\n\t\t\t\t\t\t\tconst day = dayToShow < 10 ? \"0\" + dayToShow : dayToShow.toString();\n\t\t\t\t\t\t\tconst dateToPush = calenderDate.getFullYear().toString() + month + day;\n\t\t\t\t\t\t\tlet showInvalid = false;\n\t\t\t\t\t\t\tif (this.props.collection){\n\t\t\t\t\t\t\t\tshowInvalid = (!this.props.availableDate.includes(dayToShow) && setStateDate !== \"selectedRequiredDate\") || (dayToShow < new Date(this.props.collectionDate).getDate() + 1 && new Date(this.props.collectionDate).getMonth() === (parseInt(month) - 1));\n\t\t\t\t\t\t\t\tif (setStateDate === \"selectedRequiredDate\") {\n\t\t\t\t\t\t\t\t\tshowInvalid = showInvalid || (dayToShow < this.state.selectedDate + 1 && parseInt(month) <= parseInt(this.props.date.substring(4, 6))) || (dayToShow < new Date(this.props.collectionDate).getDate() + 2 && parseInt(month) <= new Date(this.props.collectionDate).getMonth() + 1);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tshowInvalid = (!this.props.availableDate.includes(dayToShow) && setStateDate !== \"selectedRequiredDate\");\n\t\t\t\t\t\t\t\tif (setStateDate === \"selectedRequiredDate\") {\n\t\t\t\t\t\t\t\t\tshowInvalid = showInvalid || (dayToShow < this.state.selectedDate + 1 && parseInt(month) <= parseInt(this.props.date.substring(4, 6)));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tif (setStateDate === \"selectedDate\") {\n\t\t\t\t\t\t\t\t\t\t\tthis.setState({ inValid: false });\n\t\t\t\t\t\t\t\t\t\t\tif (this.props.availableDate.includes(dayToShow) && !showInvalid) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ [setStateDate]: dayToShow, cantClick: false });\n\t\t\t\t\t\t\t\t\t\t\t\tsetDate(dateToPush);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ cantClick: true });\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tif(!showInvalid){\n\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ [setStateDate]: dayToShow, cantClick: false });\n\t\t\t\t\t\t\t\t\t\t\t\tsetDate(dateToPush);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tkey={iDays}>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{dayToShow}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t
\n\t\t\t\t))}\n\t\t\t
\n\t\t\n\t);\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (nextProps.dateError) {\n\t\t\tif (!this.state.selectedDate) {\n\t\t\t\tthis.setState({ inValid: true, cantClick: false });\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDay = (i, iDays, setStateDate) => {\n\t\tconst todayDate = new Date();\n\t\tif (setStateDate === \"selectedRequiredDate\" && this.state.selectedDate) {\n\t\t\ttodayDate.setDate(this.state.selectedDate);\n\n\t\t}\n\t\ttodayDate.setDate(todayDate.getDate() - todayDate.getDay() + 1 + iDays + i * 7);\n\t\treturn todayDate;\n\t};\n\n\tbuildDays = () => {\n\t\tconst day = new Date().getDay();\n\t\tconst arr = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\t\tlet returnArr = [];\n\t\tfor (var i = 0; i < arr.length; i++) {\n\t\t\tvar pointer = (i + day) % arr.length;\n\t\t\treturnArr.push(arr[pointer]);\n\t\t}\n\t\treturn returnArr;\n\t};\n\n\tnext = () => {\n\t\tif (this.state.selectedDate) {\n\t\t\tthis.props.setStep(6);\n\t\t} else {\n\t\t\tthis.setState({ inValid: true, cantClick: false });\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{(this.props.dropOff || this.props.partnerID ===110) &&
}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{translate(\"choose_a_service_date\")}

\n\t\t\t\t\t\t\t{this.Calender(this.props.setDate, \"selectedDate\")}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{/*(!this.props.dropOff && this.props.partnerID !== 110) &&
\n\t\t\t\t\t\t\t
{translate(\"choose_a_required_by_date\")}
\n\t\t\t\t\t\t\t{this.Calender(this.props.setRequiredDate, \"selectedRequiredDate\")}\n\t\t\t\t\t\t
*/}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
this.props.setStep(this.props.showPickUP ? 4:3)}>\n\t\t\t\t\t\t\t\t{translate(\"previous\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{translate(\"next\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default SelectDate;\n","const distance = (lat1, lon1, lat2, lon2) => {\n if (lat1 === lat2 && lon1 === lon2) {\n return 0;\n }\n const radlat1 = (Math.PI * lat1) / 180;\n const radlat2 = (Math.PI * lat2) / 180;\n const theta = lon1 - lon2;\n const radtheta = (Math.PI * theta) / 180;\n let dist =\n Math.sin(radlat1) * Math.sin(radlat2) +\n Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\n if (dist > 1) {\n dist = 1;\n }\n dist = Math.acos(dist);\n dist = (dist * 180) / Math.PI;\n dist = dist * 60 * 1.1515;\n dist *= 1.609344;\n return dist;\n };\n export default distance;","import DateFnsUtils from '@date-io/date-fns';\nimport {\n\tDatePicker,\n\tTimePicker,\n\tDateTimePicker,\n\tMuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport React from \"react\";\nimport { URLL, BIKE_SHOP_ID } from \"../config\";\nimport { H1 } from \"../components/styledComponents/Typography\";\nimport { BackgroundImage, DarkOverlay } from \"../components/styledComponents/General\";\nimport { Row } from \"../components/styledComponents/Layout\";\nimport { mainPadding } from \"../components/styledComponents/values\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faArrowRight, faArrowLeft, faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport Button from '@material-ui/core/Button';\nimport ButtonGroup from '@material-ui/core/ButtonGroup';\n\nimport translate from \"../translations/translations\";\nimport Bg2 from \"../img/backgournd-collections.jpg\";\nimport setMobileNumber from \"../translations/setMobileNumber\";\nimport '../styling/pickUps.scss';\nimport Autocomplete from 'react-autocomplete';\n\nimport distance from '../util/distance';\n\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport { FormControl, TextField, CircularProgress } from \"@material-ui/core\";\n\nDate.prototype.addDays = function (days) {\n\tvar date = new Date(this.valueOf());\n\tdate.setDate(date.getDate() + days);\n\treturn date;\n}\n\nconst theme = createMuiTheme({\n\tpalette: {\n\t\tprimary: {\n\t\t\t// light: will be calculated from palette.primary.main,\n\t\t\tmain: '#161616',\n\t\t\t// dark: will be calculated from palette.primary.main,\n\t\t\t// contrastText: will be calculated to contrast with palette.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\tlight: '#0066ff',\n\t\t\tmain: '#0044ff',\n\t\t\t// dark: will be calculated from palette.secondary.main,\n\t\t\tcontrastText: '#ffcc00',\n\t\t},\n\t\t// Used by `getContrastText()` to maximize the contrast between\n\t\t// the background and the text.\n\t\tcontrastThreshold: 3,\n\t\t// Used by the functions below to shift a color's luminance by approximately\n\t\t// two indexes within its tonal palette.\n\t\t// E.g., shift from Red 500 to Red 300 or Red 700.\n\t\ttonalOffset: 0.2,\n\t},\n});\n\nlet typingTimer;\nconst doneTypingInterval = 1000;\n\nclass PickUps extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tloading: false,\n\t\t\twantsPickUp: props.collection,\n\t\t\twantsDropOff: props.dropOff,\n\t\t\tpickUpDate: props.collectionDate || new Date().addDays(props.collectionDayBuffer),\n\t\t\ttimeSlot: props.collectionTime,\n\t\t\taddress: props.address,\n\t\t\taddressOptions: [],\n\t\t\tcollectionPhoneNumber: props.mobileNumber,\n\t\t\tcollectionServices: [],\n\t\t\tcollectionName: props.name,\n\t\t\tselectedService: props.pickUpService,\n\t\t\tCollectionTime: [],\n\t\t\tdisabledDays: [],\n\t\t\terror: \"\",\n\t\t\tcollectionNote: props.collectionNote,\n\t\t\tdropDown: false\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tfetch(`${URLL}/api/GetCollectionsServices?partnerId=${this.props.partnerID}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((res2) => {\n\t\t\t\tthis.setState({ collectionServices: res2.serviceList.filter(x => x.GroupName === 'Collections') })\n\n\t\t\t});\n\n\t\tfetch(`${URLL}/api/GetCollectionTimeSlots?partnerId=${this.props.partnerID}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((res2) => {\n\t\t\t\tconst avalibleTimeSlots = res2.CollectionTime.filter(x => x.PeopleBooked < this.props.bikePerTimeSlot);\n\t\t\t\tconst days = [0, 1, 2, 3, 4, 5, 6];\n\t\t\t\tconst daysWithTimeSlots = avalibleTimeSlots.map(x => x.Day);\n\t\t\t\tconst tempDisabledDays = days.filter(x => !daysWithTimeSlots.includes(x));\n\n\t\t\t\tlet temp = new Date(this.state.pickUpDate);\n\t\t\t\twhile (tempDisabledDays.length != 7 && tempDisabledDays.includes((temp.getDay() - 1) < 0 ? 6 : (temp.getDay() - 1))) {\n\t\t\t\t\ttemp = temp.addDays(1);\n\t\t\t\t}\n\t\t\t\tthis.setState({ pickUpDate: temp })\n\n\n\t\t\t\tthis.setState({ disabledDays: tempDisabledDays.map(x => (x + 1) % 7) }, console.log(this.state.disabledDays));\n\t\t\t\tthis.setState({ CollectionTime: avalibleTimeSlots })\n\t\t\t});\n\t}\n\n\tgetAddressOptions = (address) => {\n\t\tclearTimeout(typingTimer);\n\t\tthis.setState({ address });\n\t\ttypingTimer = setTimeout(() => {\n\t\t\tfetch(`${URLL}/api/GetAddressAutoComplete?address=${address}&location=${this.props.location}`)\n\t\t\t\t.then((res) => res.json())\n\t\t\t\t.then((res2) => {\n\t\t\t\t\tconsole.log(JSON.parse(res2.AddressOptions).predictions);\n\t\t\t\t\tthis.setState({ addressOptions: JSON.parse(res2.AddressOptions).predictions });\n\t\t\t\t}\n\t\t\t\t);\n\t\t}, doneTypingInterval)\n\t}\n\n\tSelectedAddress = (address) => {\n\t\tthis.setState({ address });\n\t\tfetch(`${URLL}/api/GetLocationFromAddress?address=${address}&location=${this.props.location}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((res2) => {\n\t\t\t\tif (JSON.parse(res2.Location).results.length === 1) {\n\t\t\t\t\tconst location = JSON.parse(res2.Location).results[0].geometry.location;\n\t\t\t\t\tconst dist = distance(location.lat, location.lng, this.props.location.split(',')[0], this.props.location.split(',')[1]);\n\t\t\t\t\tconst temp = this.state.collectionServices.find(x => x.Radius > dist) || { radius: dist - 1 };\n\t\t\t\t\tthis.setState({ selectedService: temp, addressOptions: [] });\n\t\t\t\t} else {\n\t\t\t\t\tconst tempDist = JSON.parse(res2.Location).results.filter(x => x.types.includes(\"street_address\"));\n\t\t\t\t\tconst location = tempDist[0].geometry.location;\n\t\t\t\t\tconst dist = distance(location.lat, location.lng, this.props.location.split(',')[0], this.props.location.split(',')[1]);\n\t\t\t\t\tconst temp = this.state.collectionServices.find(x => x.Radius > dist) || { radius: dist - 1 };\n\t\t\t\t\tthis.setState({ selectedService: temp, addressOptions: [] });\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tdisabledDate = (date) => {\n\t\treturn this.state.disabledDays.includes(date.getDay())\n\t}\n\n\tvalidate = () => {\n\t\tconst { wantsPickUp, wantsDropOff, collectionName, address, collectionPhoneNumber, pickUpDate, collectionNote, timeSlot, selectedService } = this.state;\n\t\tif (this.state.wantsPickUp) {\n\t\t\tif (!this.state.timeSlot) {\n\t\t\t\tthis.setState({ error: \"Please select a time slot to continue\" });\n\t\t\t}\n\t\t\telse if (Object.keys(this.state.selectedService).length === 0) {\n\t\t\t\tthis.setState({ error: \"Please enter an address from the dropdown which we will use to pick up your bike\" });\n\t\t\t}\n\t\t\telse if (Object.keys(this.state.selectedService).length === 1) {\n\t\t\t\tthis.setState({ error: \"Unfortunately the address you entered is too far away\" });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.props.setCollectionInfo(wantsPickUp, wantsDropOff, collectionName, address, collectionPhoneNumber, pickUpDate, collectionNote, timeSlot, selectedService);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.props.setCollectionInfo(wantsPickUp, wantsDropOff, collectionName, address, collectionPhoneNumber, pickUpDate, collectionNote, timeSlot, selectedService);\n\t\t}\n\t}\n\n\thandleKeyPress = (event) => {\n\t\tif (event.key === 'Enter') {\n\t\t\tthis.SelectedAddress(this.state.address)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { eMail, name, surname, mobileNumber } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t

{translate(\"pick_ups\")}

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {translate(\"address_search\")} {this.state.loading && }\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonKeyPress={this.handleKeyPress}\n\t\t\t\t\t\t\t\tonBlur={e => this.getAddressOptions(e.target.value)}\n\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\tonChange={(e) => this.setState({ address: e.target.value })}\n\t\t\t\t\t\t\t\tautoComplete=\"new-password\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{!!this.state.addressOptions.length ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{this.state.addressOptions.map((option) => (\n\t\t\t\t\t\t\t\t\t this.SelectedAddress(option.description)}>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) :
\n\t\t\t\t\t\t\t\t{Object.keys(this.state.selectedService).length !== 0 ?\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"bike_pick_up\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{this.state.wantsPickUp &&
\n\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"date\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setState({ pickUpDate: date })} minDate={new Date().addDays(this.props.collectionDayBuffer)} shouldDisableDate={this.disabledDate} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t\t\t\t\t\t{this.state.wantsPickUp &&
\n\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"time\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t this.setState({ timeSlot: item.target.value })}\n\t\t\t\t\t\t\t\t\t\t\t\t>{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.CollectionTime.filter(x => x.Day === this.state.pickUpDate.getDay() - 1).map(x => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{`${x.StartTime.substring(0, 5)} - ${x.EndTime.substring(0, 5)}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t\t\t\t\t\t{this.state.wantsPickUp &&
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"phone_number\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.setState({ collectionPhoneNumber: e.target.value })} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"name\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.setState({ collectionName: e.target.value })} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"instructions\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.setState({ collectionNote: e.target.value })} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t\t\t\t\t\t{!!this.state.selectedService.Cost ?
\n\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"cost\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t

{this.props.currency + \" \" + this.state.selectedService.Cost}

\n\t\t\t\t\t\t\t\t\t\t\t
: !this.state.selectedService &&
{translate(\"you_are_to_far_away_for_collections\")}
}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"bike_delivery\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{this.state.wantsDropOff &&
\n\t\t\t\t\t\t\t\t\t\t\t\t{translate(\"once_your_service_is_complete_we_will_ask_you_to_select_a_date_and_time_when_we_can_deliver_your_bike\")}\n\t\t\t\t\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t\t\t\t\t\t{(!!this.state.selectedService.Cost && this.state.wantsDropOff) ?
\n\t\t\t\t\t\t\t\t\t\t\t\t

{translate(\"cost_estimate\")}:

\n\t\t\t\t\t\t\t\t\t\t\t\t

{this.props.currency + \" \" + this.state.selectedService.Cost}

\n\t\t\t\t\t\t\t\t\t\t\t
: !this.state.selectedService &&
{translate(\"you_are_to_far_away_for_collections\")}
}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
:\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{translate(\"if_you_dont_want_a_pick_up_or_drop_off_click_next\")}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
}\n\t\t\t\t\t
\n\t\t\t\t\t{this.state.error &&
{this.state.error}
}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
this.props.setStep(3)}>\n\t\t\t\t\t\t\t\t{translate(\"previous\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{translate(\"next\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default PickUps;\n","import React from \"react\";\nimport { H1 } from \"../components/styledComponents/Typography\";\nimport { BackgroundImage, DarkOverlay } from \"../components/styledComponents/General\";\nimport translate from \"../translations/translations\";\nimport Bg6 from \"../img/background6.jpg\";\nimport { Row } from \"../components/styledComponents/Layout\";\nimport { TextField } from \"@material-ui/core\";\nimport { mainPadding } from \"../components/styledComponents/values\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faArrowRight, faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\n\nconst month = [\"Jan\", \"Feb\", \"March\", \"April\", \"May\", \"June\", \"july\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\nclass Summary extends React.Component {\n\trender() {\n\t\tconst { name, surname, mobileNumber, Name, date = \"\", additionalNotes, selectedServices, Manufacturer, Model, loading, address, collectionTime } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

{translate(\"summary\")}

\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{translate(\"your_details\")}
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{!address ?
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
: }\n\n\t\t\t\t\t\t\t{address &&
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{translate(\"service_details\")}
\n\t\t\t\t\t\t\t (index === 0 ? selectedServices[key].Service : `\\n${selectedServices[key].Service}`))}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!address ?
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
: }\n\t\t\t\t\t\t\t{address &&
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
this.props.setStep(5)}>\n\t\t\t\t\t\t\t\t{translate(\"previous\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tif (!loading) {\n\t\t\t\t\t\t\t\t\t\tthis.props.finishButtonClick();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{translate(\"book\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default Summary;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Row } from \"./styledComponents/Layout\";\nimport { primaryColor, inverseTextColor } from \"./styledComponents/values\";\nimport LogoImage from \"../img/logo.png\";\nimport translate from \"../translations/translations\";\nimport \"../styling/App.scss\";\n\nconst Logo = styled.img`\n\theight: 3.5rem;\n`;\n\nconst Link = styled.p`\n\tfont-weight: ${(props) => (props.selected ? \"600\" : \"400\")};\n\tmargin: 0.5rem;\n\tcolor: ${(props) => (props.selected ? 'white' : primaryColor)};\n\tfont-size: ${(props) => (props.selected ? \"1rem\" : \"1rem\")};\n\tbackground: ${(props) => (props.selected ? primaryColor : 'transparent')};\n\tpadding: 8px 16px;\n\tborder-radius: 4px;\n\t&:hover {\n\t\tcursor: pointer;\n\t}\n\t@media only screen and (max-width: 971px) {\n\t\tdisplay: none;\n\t}\n`;\n\nconst Header = ({ step, setStep, showPickUP }) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t setStep(0)}>\n\t\t\t\t\t{translate(\"select_service\")}\n\t\t\t\t\n\t\t\t\t setStep(1)}>\n\t\t\t\t\t{translate(\"your_details\")}\n\t\t\t\t\n\t\t\t\t setStep(2)}>\n\t\t\t\t\t{translate(\"your_bike_details\")}\n\t\t\t\t\n\t\t\t\t setStep(3)}>\n\t\t\t\t\t{translate(\"additional_notes\")}\n\t\t\t\t\n\t\t\t\t{showPickUP && setStep(4)}>\n\t\t\t\t\t{translate(\"pick_up\")}\n\t\t\t\t}\n\t\t\t\t setStep(5)}>\n\t\t\t\t\t{translate(\"select_date\")}\n\t\t\t\t\n\t\t\t\t setStep(6)}>\n\t\t\t\t\t{translate(\"summary\")}\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default Header;\n","import React from \"react\";\nimport CustomerDetails from \"./steps/CustomerDetails\";\nimport ServiceOfferings from \"./steps/ServiceOfferingsOls\";\nimport BikeDetails from \"./steps/BikeDetails\";\nimport Notes from \"./steps/Notes\";\nimport SelectDate from \"./steps/SelectDate\";\nimport PickUps from \"./steps/PickUps\";\nimport Summary from \"./steps/Summary\";\nimport Header from \"./components/Header\";\nimport { URLL, BIKE_SHOP_ID } from \"./config\";\nimport swal from \"sweetalert\";\nimport translate from \"./translations/translations\";\nimport { ShopName } from \"./components/styledComponents/Typography\";\nimport styled from \"styled-components\";\nimport PoweredByLogo from \"./img/powered_by_hubtiger.png\";\n\nimport setMobileNumber from \"./translations/setMobileNumber\";\n\nimport \"./styling/App.scss\";\n\nconst PoweredBy = styled.img`\n\theight: 24px;\n\tmargin-top: 32px;\n`;\n\nconst month = [\"Jan\", \"Feb\", \"March\", \"April\", \"May\", \"June\", \"july\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\nconst regex = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nclass App extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tstep: 0,\n\t\t\tselectedServices: [],\n\t\t\teMail: \"\",\n\t\t\tname: \"\",\n\t\t\tsurname: \"\",\n\t\t\tmobileNumber: \"\",\n\t\t\tName: \"Add a new bike\",\n\t\t\tManufacturer: \"\",\n\t\t\tModel: \"\",\n\t\t\tYear: \"\",\n\t\t\tbikeOptions: [{ Name: \"Add a new bike\" }],\n\t\t\tavailableDate: [],\n\t\t\trequiredDate: \"\",\n\t\t\tadditionalNotes: \"\",\n\t\t\tloading: false,\n\t\t\tserviceError: false,\n\t\t\tlocation: \"\",\n\t\t\tpartnerID: 0,\n\t\t\tcurrency: \"R\",\n\t\t\tOffersPickup: false,\n\t\t\tOffersDropOff: false,\n\t\t\tcollection: false,\n\t\t\tdropOff: false,\n\t\t\tcollectionName: '',\n\t\t\taddress: '',\n\t\t\tcollectionContactDetails: '',\n\t\t\tcollectionDate: '',\n\t\t\tcollectionNote: '',\n\t\t\tcollectionTime: '',\n\t\t\tcollectionDayBuffer: 0,\n\t\t\tbikePerTimeSlot: 0,\n\t\t\tpickUpService: {},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tvar myDynamicManifest = {\n\t\t\tshort_name: \"Hubtiger App\",\n\t\t\tname: \"Hubtiger online booking app\",\n\t\t\ticons: [\n\t\t\t\t{\n\t\t\t\t\tsrc: \"https://onlinebooking.z6.web.core.windows.net/images/icons-512.png\",\n\t\t\t\t\ttype: \"image/png\",\n\t\t\t\t\tsizes: \"512x512\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tstart_url: window.location.href,\n\t\t\tdisplay: \"standalone\",\n\t\t\ttheme_color: \"#000000\",\n\t\t\tbackground_color: \"#ffffff\",\n\t\t};\n\t\tconst stringManifest = JSON.stringify(myDynamicManifest);\n\t\tconst blob = new Blob([stringManifest], { type: \"application/json\" });\n\t\tconst manifestURL = URL.createObjectURL(blob);\n\t\tdocument.querySelector(\"#my-manifest-placeholder\").setAttribute(\"href\", manifestURL);\n\t}\n\n\tsetPartnerInfo = (OffersPickup, OffersDropOff, currency, partnerID, location, collectionDayBuffer, bikePerTimeSlot, shopName) => {\n\t\tthis.setState({ OffersPickup, OffersDropOff, currency, partnerID, location, collectionDayBuffer, bikePerTimeSlot, shopName })\n\t}\n\n\tsetRequiredDate = (date) => {\n\t\tthis.setState({ requiredDate: date });\n\t};\n\n\tcheckServices = () => {\n\t\tconst date = new Date();\n\t\tconst tomorrow = new Date(new Date().setDate(new Date().getDate() + 1));\n\t\tconst serviceString = Object.keys(this.state.selectedServices)\n\t\t\t.map((key) => this.state.selectedServices[key].Service)\n\t\t\t.join(\",\");\n\t\tfetch(\n\t\t\t`${URLL}/api/ServiceAvailabilitiesV2?bikeshop=${BIKE_SHOP_ID}&Date=${tomorrow.getFullYear()}-${tomorrow.getMonth() + 1}-${tomorrow.getDate()}&DaysToGet=${\n\t\t\t28 - date.getDay()\n\t\t\t}&services=${serviceString}`,\n\t\t)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((res2) =>\n\t\t\t\tthis.setState({\n\t\t\t\t\tavailableDate: res2,\n\t\t\t\t}),\n\t\t\t);\n\t};\n\n\tgetBikeDetails = (email) => {\n\t\tfetch(`${URLL}/api/Bikes?email=${email}&bikeshop=${BIKE_SHOP_ID}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((res2) => {\n\t\t\t\tif (res2.length === 0) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tbikeOptions: [{ Name: \"Add a new bike\", Year: \"\", Manufacturer: \"\", Model: \"\" }, ...res2],\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tbikeOptions: [{ Name: \"Add a new bike\", Year: \"\", Manufacturer: \"\", Model: \"\" }, ...res2],\n\t\t\t\t\t\tName: \"\",\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t};\n\n\tsetSelectedServices = (selectedServices) => {\n\t\tthis.setState({ selectedServices });\n\t};\n\n\tsetYourDetails = ({ eMail, name, surname, mobileNumber }) => {\n\t\tthis.setState({ eMail, name, surname, mobileNumber });\n\t};\n\n\tsetBikeDetails = ({ Name, Year, Manufacturer, Model }) => {\n\t\tthis.setState({ Name, Year, Manufacturer, Model });\n\t};\n\n\tsetAdditionalNotes = (additionalNotes) => {\n\t\tthis.setState({ additionalNotes });\n\t};\n\n\tsetDate = (date) => {\n\t\tthis.setState({ date });\n\t};\n\n\tfinishButtonClick = () => {\n\t\tconst { collection, dropOff, collectionName, address, collectionContactDetails, collectionDate, collectionNote, collectionTime } = this.state;\n\t\tconst obj = {\n\t\t\tBikeshop: BIKE_SHOP_ID,\n\t\t\tCyclist: {\n\t\t\t\tName: this.state.name,\n\t\t\t\tSurname: this.state.surname,\n\t\t\t\tEmail: this.state.eMail,\n\t\t\t\tMobile: this.state.mobileNumber,\n\t\t\t},\n\t\t\tBike: {\n\t\t\t\tYear: this.state.Year,\n\t\t\t\tManufacturer: this.state.Manufacturer,\n\t\t\t\tModel: this.state.Model,\n\t\t\t\tName: this.state.Name,\n\t\t\t},\n\t\t\tService: {\n\t\t\t\tDisplayDate: `${this.state.date.substring(6, 8)} ${month[parseInt(this.state.date.substring(4, 6)) - 1]}, ${this.state.date.substring(0, 4)}`,\n\t\t\t\tDate: this.state.date,\n\t\t\t\tJobs: Object.keys(this.state.selectedServices)\n\t\t\t\t\t.map((e) => this.state.selectedServices[e].Service)\n\t\t\t\t\t.join(\",\"),\n\t\t\t\tNotes: this.state.additionalNotes,\n\t\t\t\tRequiredDate: this.state.requiredDate,\n\t\t\t\tcollection,\n\t\t\t\tdropOff,\n\t\t\t\tcollectionName,\n\t\t\t\taddress,\n\t\t\t\tcollectionContactDetails,\n\t\t\t\tcollectionDate: collectionDate ? collectionDate.getFullYear() + \"\" + (collectionDate.getMonth() + 1 < 10 ? 0 + \"\" + (collectionDate.getMonth() + 1) : collectionDate.getMonth() + 1) + \"\" + (collectionDate.getDate() < 10 ? '0' + collectionDate.getDate() : collectionDate.getDate()) : '',\n\t\t\t\tcollectionNote: collectionNote || \"\",\n\t\t\t\tcollectionTime\n\t\t\t},\n\t\t\tPlatform: \"Widget\",\n\t\t};\n\n\t\tthis.setState({ loading: true });\n\n\t\tconst url = `${URLL}/api/Services${(collection || dropOff) ? 'V3' : 'V2'}`\n\n\t\tfetch(url, {\n\t\t\tmethod: \"POST\",\n\t\t\tcredentials: \"same-origin\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t\tbody: JSON.stringify(obj),\n\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tif (res.ok) {\n\t\t\t\t\tswal(translate(\"service_booked\"), translate(\"your_service_has_been_booked_Have_a_good_day\"), \"success\").then(() => {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tswal(\"Service Not Booked!\", \"An error has occurred. We are currently working on it.\", \"error\").then(() => {\n\t\t\t\t\t\tfetch(\"https://hooks.slack.com/services/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\", {\n\t\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\t\t\ttext: `Error happened to: ${URLL}/api/ServicesV2 \\`\\`\\`PWA\\`\\`\\` \\`\\`\\`${JSON.stringify(obj)}\\`\\`\\` \\`\\`\\`POST\\`\\`\\``,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t});\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tswal(\"Service Not Booked!\", \"An error has occurred. We are currently working on it.\", \"error\").then(() => {\n\t\t\t\t\tfetch(\"https://hooks.slack.com/services/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\", {\n\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\t\ttext: `Error happened to: ${URLL}/api/ServicesV2 \\`\\`\\`PWA\\`\\`\\` \\`\\`\\`${JSON.stringify(obj)}\\`\\`\\` \\`\\`\\`POST\\`\\`\\``,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t});\n\t\t\t});\n\t};\n\n\tsetStep = (step) => {\n\t\tif (step > this.state.step) {\n\t\t\tswitch (this.state.step) {\n\t\t\t\tcase 0:\n\t\t\t\t\tif (this.state.selectedServices.length === 0) {\n\t\t\t\t\t\tthis.setState({ serviceError: true });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.checkServices();\n\t\t\t\t\t\tthis.setState({ step });\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tconst { eMail, name, surname, mobileNumber } = this.state;\n\t\t\t\t\tif (eMail.match(regex) && name !== \"\" && surname !== \"\" && mobileNumber.match(/([0-9\\s\\-]{7,})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/)) {\n\t\t\t\t\t\tthis.setState({ step });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setState({ detailsError: true });\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tconst { Manufacturer, Model, Name, Year } = this.state;\n\t\t\t\t\tif (Manufacturer !== \"\" /*&& Model !== \"\" && Year !== \"\" && Year == parseInt(Year, 10)*/ && Name !== \"\") {\n\t\t\t\t\t\tthis.setState({ step });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setState({ bikeDetailsError: true });\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.setState({ step });\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tthis.setState({ step });\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tif (!this.state.date) {\n\t\t\t\t\t\tthis.setState({ dateError: true });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setState({ step });\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.setState({ step });\n\t\t\t}\n\t\t} else {\n\t\t\tthis.setState({ step });\n\t\t}\n\t};\n\n\trenderSteps = (step) => {\n\t\tconst {\n\t\t\tdateError,\n\t\t\tbikeDetailsError,\n\t\t\tdetailsError,\n\t\t\teMail,\n\t\t\tname,\n\t\t\tsurname,\n\t\t\tmobileNumber,\n\t\t\tName,\n\t\t\tManufacturer,\n\t\t\tModel,\n\t\t\tbikeOptions,\n\t\t\tYear,\n\t\t\tadditionalNotes,\n\t\t\tdate,\n\t\t\tavailableDate,\n\t\t\trequiredDate,\n\t\t\tserviceError,\n\t\t\tlocation,\n\t\t\tpartnerID,\n\t\t\tcurrency,\n\t\t\tcollectionDayBuffer,\n\t\t\tbikePerTimeSlot,\n\t\t\tcollection,\n\t\t\tdropOff,\n\t\t\tcollectionName,\n\t\t\taddress,\n\t\t\tcollectionContactDetails,\n\t\t\tcollectionDate,\n\t\t\tcollectionNote,\n\t\t\tcollectionTime,\n\t\t\tpickUpService\n\t\t} = this.state;\n\t\tswitch (step) {\n\t\t\tcase 0:\n\t\t\t\treturn ;\n\t\t\tcase 1:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 2:\n\t\t\t\treturn ;\n\t\t\tcase 3:\n\t\t\t\treturn ;\n\t\t\tcase 4:\n\t\t\t\treturn ;\n\t\t\tcase 5:\n\t\t\t\treturn ;\n\t\t\tcase 6:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn ;\n\t\t}\n\t};\n\n\tsetCollectionInfo = (collection, dropOff, collectionName, address, collectionContactDetails, collectionDate, collectionNote, collectionTime, selectedService) => {\n\t\tconsole.log(selectedService);\n\t\tthis.setState({ collection, dropOff, collectionName, address, collectionContactDetails: setMobileNumber(collectionContactDetails), collectionDate, collectionNote, collectionTime, pickUpService: selectedService });\n\t\tif (Object.keys(selectedService).length !== 0) {\n\t\t\tselectedService.Service = selectedService.Type;\n\t\t\tthis.setState({ selectedServices: { ...this.state.selectedServices, [selectedService.ID]: selectedService } });\n\t\t}\n\t\tthis.setStep(5);\n\t}\n\n\trender() {\n\t\tconst { step } = this.state;\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t{this.state.shopName}\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{this.renderSteps(step)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = __webpack_public_path__ + \"static/media/background2.0671fe8d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/background1.721af71b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/background3.03638570.jpg\";","module.exports = __webpack_public_path__ + \"static/media/background4.d271c481.jpg\";"],"sourceRoot":""}