{"version":3,"sources":["containers/home/Home.js"],"names":["Home","homeComponentName","state","onBooking","a","props","$verifyPromo","jumpToSteps","ErrorTypes","NO_VEHICLE_AVAILABLE","Alert","error","INVALID_PROMOCODE","alert","console","log","urlParams","URLSearchParams","window","location","search","home","this","get","setState","$importHome","vehicleTypes","mapToInputPicker","store","getState","trackingSettings","googleTagContainerId","homeComponent","form","locations","primaryColor","secondaryColor","storeHours","storeHolidays","dateFormat","css","buttonColor","isAgeOnHome","isReservation","showClock","alwaysSamePickAndDrop","timeGap","showPickupDropoffAddress","hideOrDisableTimePicker","minimumBookingDays","earliestPickup","minimumDriverAge","$changeForm","$createCustomer","showLogoOnHome","homeScreenMessage","logo","$clearvehicleTypes","showPromoCode","locationNameConfig","React","Component","connect","UISettings","homeView","imports","homePage","dynamicStyle","dispatch","componentName","importHomeComponent","key","value","changeForm","$fetchVehicleType","fetchVehicleType","verifyPromotion","createCustomer","clearvehicleTypes"],"mappings":"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","file":"static/js/144.1b5fc226.chunk.js","sourcesContent":["import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { importHomeComponent } from \"../../redux/actions/importActions\";\r\nimport { changeForm, clearvehicleTypes } from \"../../redux/actions/formActions\";\r\nimport {\r\n createCustomer,\r\n fetchVehicleType,\r\n verifyPromotion,\r\n} from \"../../redux/actions/ApiActions\";\r\nimport { jumpToSteps, mapToInputPicker } from \"../../tools/utils\";\r\nimport { Alert } from \"rsuite\";\r\nimport ErrorTypes from \"../../tools/ErrorTypes\";\r\nimport store from '../../redux/createStore';\r\nimport { Helmet } from \"react-helmet\";\r\n\r\n// vehicleTypes\r\n\r\nclass Home extends React.Component {\r\n homeComponentName = \"\";\r\n\r\n state = {\r\n homeComponentName: \"\",\r\n };\r\n\r\n onBooking = async () => {\r\n try {\r\n //await this.props.$fetchVehicleType();\r\n await this.props.$verifyPromo();\r\n jumpToSteps();\r\n } catch (err) {\r\n if (err === ErrorTypes.NO_VEHICLE_AVAILABLE) {\r\n Alert.error(\"No Vehicles available. Please Select different location.\");\r\n } else if (err === ErrorTypes.INVALID_PROMOCODE) {\r\n alert(\"Invalid Corporate Code\");\r\n }\r\n console.log(err);\r\n }\r\n };\r\n\r\n urlParams = new URLSearchParams(window.location.search);\r\n\r\n componentDidMount() {\r\n const home = this.urlParams.get(\"home\");\r\n\r\n this.setState({ homeComponentName: home });\r\n }\r\n\r\n render() {\r\n if (this.state.homeComponentName) {\r\n if (this.homeComponentName !== this.state.homeComponentName) {\r\n this.homeComponentName = this.state.homeComponentName;\r\n this.props.$importHome(this.homeComponentName);\r\n }\r\n } else if (this.homeComponentName !== this.props.homeComponentName) {\r\n this.homeComponentName = this.props.homeComponentName;\r\n this.props.$importHome();\r\n }\r\n const vehicleTypes = mapToInputPicker(\r\n this.props.vehicleTypes,\r\n \"value\",\r\n \"value\",\r\n \"id\"\r\n );\r\n\r\n const state = store.getState();\r\n\r\n return (\r\n <>\r\n {state.trackingSettings.googleTagContainerId != null && (\r\n <Helmet>\r\n <script>\r\n {`(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n })(window,document,'script','dataLayer','${state.trackingSettings.googleTagContainerId}');`}\r\n </script>\r\n </Helmet>\r\n )}\r\n <this.props.homeComponent\r\n form={this.props.form}\r\n locations={this.props.locations}\r\n primaryColor={this.props.primaryColor}\r\n secondaryColor={this.props.secondaryColor}\r\n storeHours={this.props.storeHours}\r\n storeHolidays={this.props.storeHolidays}\r\n dateFormat={this.props.dateFormat}\r\n css={this.props.css || {}}\r\n onBooking={this.onBooking}\r\n buttonColor={this.props.buttonColor}\r\n isAgeOnHome={this.props.isAgeOnHome}\r\n isReservation={true}\r\n vehicleTypes={vehicleTypes}\r\n showClock={this.props.showClock === \"Y\"}\r\n alwaysSamePickAndDrop={this.props.alwaysSamePickAndDrop}\r\n timeGap={this.props.timeGap}\r\n showPickupDropoffAddress={this.props.showPickupDropoffAddress || {}}\r\n hideOrDisableTimePicker={this.props.hideOrDisableTimePicker}\r\n minimumBookingDays={this.props.minimumBookingDays}\r\n earliestPickup={this.props.earliestPickup}\r\n minimumDriverAge={this.props.minimumDriverAge}\r\n $changeForm={this.props.$changeForm}\r\n $createCustomer={this.props.$createCustomer}\r\n showLogoOnHome={this.props.showLogoOnHome}\r\n homeScreenMessage={this.props.homeScreenMessage}\r\n logo={this.props.logo}\r\n $clearvehicleTypes={this.props.$clearvehicleTypes}\r\n showPromoCode={this.props.showPromoCode}\r\n locationNameConfig={this.props.locationNameConfig}\r\n />\r\n </> \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (store) => {\r\n return {\r\n homeComponentName: store.UISettings.homeView,\r\n timeGap: store.UISettings.timeGap,\r\n dateFormat: store.UISettings.dateFormat,\r\n primaryColor: store.UISettings.primaryColor,\r\n secondaryColor: store.UISettings.secondaryColor,\r\n buttonColor: store.UISettings.buttonColor,\r\n isAgeOnHome: store.UISettings.isAgeOnHome,\r\n vehicleTypes: store.UISettings.vehicleTypes,\r\n showClock: store.UISettings.showClock,\r\n alwaysSamePickAndDrop: store.UISettings.alwaysSamePickAndDrop,\r\n homeComponent: store.imports.homePage,\r\n locations: store.locations,\r\n storeHours: store.storeHours,\r\n storeHolidays: store.storeHolidays,\r\n showPickupDropoffAddress: store.UISettings.showPickupDropoffAddress,\r\n hideOrDisableTimePicker: store.UISettings.hideOrDisableTimePicker,\r\n minimumBookingDays: store.UISettings.minimumBookingDays,\r\n earliestPickup: store.UISettings.earliestPickup,\r\n minimumDriverAge: store.UISettings.minimumDriverAge,\r\n form: store.form,\r\n css: store.imports.dynamicStyle,\r\n showLogoOnHome: store.UISettings.showLogoOnHome,\r\n homeScreenMessage: store.UISettings.homeScreenMessage,\r\n logo: store.UISettings.logo,\r\n showPromoCode: store.UISettings.showPromoCode,\r\n locationNameConfig: store.UISettings.locationNameConfig,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n $importHome: (componentName) =>\r\n dispatch(importHomeComponent(componentName)),\r\n $changeForm: (key, value) => dispatch(changeForm(key, value)),\r\n $fetchVehicleType: () => dispatch(fetchVehicleType()),\r\n $verifyPromo: () => dispatch(verifyPromotion()),\r\n $createCustomer: () => dispatch(createCustomer()),\r\n $clearvehicleTypes: () => dispatch(clearvehicleTypes()),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Home);\r\n"],"sourceRoot":""}