{"version":3,"file":"static/chunks/pages/video-consultation-b883d3042f74c5d4.js","mappings":"AEACA,CAAAA,KAAK,gBAAmB,CAAGA,KAAK,gBAAmB,EAAI,EAAE,EAAEC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAEnE,MACC,SAASC,uBAAuB,CAAEC,wBAAwB,CAAEC,mBAAmB,CAAE,CFDxF,CAAAC,OAAAC,QAAA,CAAAD,OAAAC,QAAA,MAAAL,IAAA,EACA,sBACA,UAAe,CACf,OAAAG,oBAAA,MACA,EACA,CAKA,iBAAAF,uBAAA,CAAAK,mBAAA,CAAAH,mBAAA,eAAAA,oBAAAI,CAAA,CAAAD,qBAAAH,oBAAAK,CAAA,CAAAF,oBAAA,2BAAAG,OAAA,QAAAC,+CAAAP,oBAAA,OAAAQ,qDAAAR,oBAAA,OAAAS,qDAAAT,oBAAA,OAAAU,4CAAAV,oBAAA,OAAAW,6CAAAX,oBAAA,OAAAY,sDAAAZ,oBAAA,OAAAa,8CAAAb,oBAAA,OAAAc,4CAAAd,oBAAA,OAAAe,qDAAAf,oBAAA,OAAAgB,4CAAAhB,oBAAA,OAAAiB,mCAAAjB,oBAAA,OAAAkB,oCAAAlB,oBAAA,OCZAmB,8CAAAnB,oBAAA,OA0CM,IAAAoB,kBANJ,OACA,CAMA,IAAMC,MAAA,CAAAC,OAAW,CAAAC,QAAA,CAAAC,KAAA,CAAAC,MAAA,CAAAC,KAAA,CAAAC,KAAA,EAAAC,MACXC,SAAU,GAAAlB,6CAAyBmB,EAAA,IACnC,CAACC,QAAAC,WAAU,CAAY,GAAGd,oCAAAe,QAAA,IAAS,EACnC,CAACC,SAAAC,YAAY,CAAa,GAAGjB,oCAAAe,QAAA,MAE7B,CAAAG,WAAAC,aAAyB,CAAK,GAAAnB,oCAAgCe,QAAA,MAAAK,aAAA,MAAAC,IAAAA,KAAAC,MAAA,GAI9D,CAAAC,eAAgBC,kBAAA,IAAAxB,oCAAAe,QAAA,MACpBU,cAAO,CACPC,MAAA,GACAC,WAAW,GACXC,UAAO,GACPC,MAAK,GACLC,IAAA,GACAtB,MAAM,GACNa,KAAM,GACNU,KAAA,GAASC,QACP,CACFC,KAAA,EACA,EACAC,cAAA,GACAC,uBAAe,GACfC,cAAA,GACAC,oBAAW,GACXC,UAAQ,CAAA7B,MAAAA,MAAA,OAAAA,MAAA8B,MAAA,eAAA9B,MAAAA,MAAA,OAAAA,MAAA8B,MAAA,aACRhC,OAAA,GACAiC,YAAO,GACPC,MAAA,GACFC,SAAApC,UAAAA,KAEA,EACEqC,QAAU,GAAA1C,8CAAA2C,EAAA,GACVC,SAAA,GAAAnD,sDAAeoD,CAAA,EAAAhD,4CAAAiD,EAAA,EACfC,cAAMvB,cACRwB,KAAA,WAEA,GAEAC,eAAAP,QAAAQ,KAAA,WAAgB,GAAAnD,oCACVoD,SAAA,OAIiB,GAHnBzC,CAAAA,MAAAA,SAA2C,OAAQA,SAAAA,QAAA,GACpDgC,QAAAU,QAAA,iBAAA1C,SAAAA,QAAA,EAGCA,MAAAA,SAA+B,OAAAA,SAAA2C,KAAA,EAC/B,IAAAC,KAAQZ,QAASa,SAAA,kBAClBb,QAAAU,QAAA,iBAAAE,KAAA5C,SAAA2C,KAAA,CAED,EACE3C,MAAAA,SAAwC,KAAoB,EAAAA,SAAb8C,GAAS,GACzDd,QAAAU,QAAA,8BAAAK,MAAA,CAAA/C,SAAA8C,GAAA,EAEA,GAAU9C,SAEb,EAAgB,GAAAX,oCACFoD,SAAA,UAAA7C,OAGR,CAFF,IAAAoD,IAAQC,KAMRjB,QAAQU,QAAQ,CAAC,UAAA9C,MAAAA,OAA0B,cAAAoD,CAAAA,IAAApD,OAAAsD,YAAA,GAAAF,KAAA,IAAAA,IAAA,cAAAC,CAAAA,KAAAD,IAAAG,IAAA,GAAAF,KAAA,IAAAA,KAAA,OAAAA,KAAAG,UAAA,EAAAxD,OAAAsD,YAAA,CAAAC,IAAA,CAAAC,UAAA,KAC3CpB,QAAQU,QAAQ,CAAC,cAAa9C,OAAIyD,IAAA,EAClCrB,QAAAU,QAAgB,iBAChBpC,YAAA,IAA0B,GAAApB,qDACPoE,EAAA,YACjBC,KAAM3D,OAAO2D,IAAI,CACjBF,KAAAzD,OAASyD,IAAA,CAAAG,QACP,CACAC,KAAK7D,OAAO8D,SAAU,GAAG,CAAAD,IAAG,CAC9BE,IAAA/D,OAAA8D,SAAA,IAAAC,GAAA,CAEH,EACA,IAAQ/D,OAEX,EAAgB,GAAAP,oCACHoD,SAAA,OACT5C,QACAmC,QAAQU,QAAQ,SAAA7C,MAAA+D,IAAA,CAAAC,EAAA,EACjB7B,QAAA8B,OAAA,UACA,GAAOjE,MAEV,EAAgB,GAAAR,oCACqBoD,SAAM,WACvCsB,WAAc7D,QAAK8D,MAAA,IACrBC,EAAAC,KAAA,GAAA3B,gBAE4B,GAAAwB,WAGlBI,MACA,EAEE,GALV,IAAAnB,IAAQC,KAAAmB,KAASC,KAAAC,KACjBtC,QAAAU,QAAA,sBAAAM,CAAAA,IAAAe,UAAA,MAAAf,KAAA,IAAAA,IAAgB,OAAAA,IAAUuB,KAAA,KAAArF,qDACHoE,EAAI,YACzBC,KAAM,IAAa,GAAbN,CAAAA,KAAAc,UAAU,CAAC,EAAE,GAAbd,KAAA,IAAAA,KAAA,OAAAA,KAAeM,IAAI,CACzBF,KAAA,IAAS,GAATe,CAAAA,KAASL,UAAA,MAAAK,KAAA,IAAAA,KAAA,OAAAA,KAAAf,IAAA,CAAAG,QACH,CACJC,KAAK,IAAa,GAAbY,CAAAA,KAAAN,UAAW,GAAE,GAAbM,KAAA,IAAAA,KAAA,OAAAA,KAAeb,OAAQ,CAAAC,IAAG,CACjCE,IAAA,OAAAW,CAAAA,KAAAP,UAAA,MAAAO,KAAA,IAAAA,KAAA,OAAAA,KAAAd,OAAA,CAAAG,GAAA,CAEH,EACA,IAAgBpB,eAEnB,EAAqB,IACnBiC,OAAA,IACE,GAAA9F,+CAAA+F,IAAA,EAAA/F,+CAAAgG,QAAA,EAAAC,SACI,CACW,CAAAtE,UACY,GAAA3B,+CAA2CkG,GAAA,EAAAjG,qDAAAkG,EAAA,EAChEC,QAAO,WAAG9C,QAAU+C,SAAU,CAAAC,MAAA,EAAW,CAAA9E,QAAOiE,MAAA,CAGhDI,MAAA,GAASxB,MAAA,CAAApD,UAAAA,MAAA,oCAAAoD,MAAA,CAAApD,UAAAA,MAAA,mBACTsF,SAAO,+BACPf,MAAA3D,WACE,OAAA2E,cAAaC,KAAA,CACb3E,aAAM2E,MAAoC,IAAkBC,eAAAF,cAAAG,GAAA,eAC1D,EACAd,MAAOe,MAAAA,aAAA,OAAAA,aAAcjC,IAAA,CACrBa,MAAMoB,MAAAA,aAAA,OAAAA,aAAcC,aAAI,CACxBlC,KAAMiC,MAAAA,aAAA,OAAAA,aAAcjC,IAAI,CACxBE,KAAA+B,MAAAA,aAAS,OAAAA,aAAA/B,IAAc,CACzBC,QAAA8B,MAAAA,aAAA,OAAAA,aAAA9B,OAAA,IAC2B,GACzB4B,eAAMjB,MAAa,EACnB,IAAAqB,WAAW,GAAAvG,4CAAAwG,EAAA,EAAAL,eAAA,SACXjF,WAAQqF,YAAwCxD,QAC9CU,QAAA,UAAoB8C,UAAA,IAAAtB,KAAA,EACtBwB,eAAA,EACD,EACH,EAIH,GACgBxF,QACbiE,MAIC,IAHC,CAAA9D,UACI,GAAA3B,+CACmBkG,GAAA,EAAAjG,qDAAAgH,EAAA,EAEzBpB,MAAA,GAAQxB,MAIP,CAAApD,UAAAA,MAHW,+BACN,qBAGNiG,OAAA,GAAS7C,MAAA,CAAApD,UAAAA,MAAA,2GAAAO,QAAAA,OAAA,MAQjB2F,SAAM,MAAWC,MAAA,CACjB,IAAAC,SAASD,IAETC,CAAAA,SAAIxE,aAAkB,CAAE5B,UAAAA,MAAA,sBACtBoG,SAASpE,SAAA,EACVoE,CAAAA,SAAAxE,aAAA,CAAA5B,UAAAA,MAAA,uBAGDkB,kBAAM,IAAM,MACV,GAAAzB,mCAAQ4G,EAAA,GACRC,OAAoC,OACpCC,IAAA,GAAAnD,MAAS,6DAAAoD,QACP,CACF,iCACA,EAECL,KAAKC,QAAM,GAAAK,IAAA,CAUR,KATF,IAAApD,IAAU,GAAA9D,qDACImH,EAAA,GACZC,WAAM,EACNjD,KAAM3D,SAAA6G,IAAA,CACNC,KAAA,cACAC,QAAM,GACRC,KAAAhH,SAAAgH,IAAA,GAOD,GAAAzH,4CAAY0H,EAAA,EAAAlH,QAAAmH,YAAA,CAAA7F,KAAA,EAAAtB,MAAAA,QAAA,cAAAuD,CAAAA,IAAAvD,QAAAmH,YAAA,GAAA5D,KAAA,IAAAA,IAAA,OAAAA,IAAA6D,IAAA,MAAAhG,kBAAA,GAAAiG,KACX,MASF,KATY,GAAA5H,qDACImH,EAAA,GACZC,WAAM,EACNjD,KAAM3D,SAAA6G,IAAA,CACNC,KAAA,aACAC,QAAM,GACRC,KAAAhH,SAAAgH,IAAA,GAEA7F,kBAAgB7B,8CAAa+H,EAAC,EAChC,MAAA/H,8CAAA+H,EAAA,GAGJ,EACE,SAAArI,+CAAA+F,IAAA,EAAA/F,+CAAAgG,QAAA,EAAAC,SAAA,CACc,GAAAjG,+CAAakG,GAAA,EAAA/F,4CAAAmI,EAAA,EAAAjG,MAAAtB,QAAAsB,KAAA,GAEvB,GAAArC,+CAAAkG,GAAA,EAAAhG,qDAACqI,CAAA,EAAQtC,SAAmB,GAAAjG,+CAAgBkG,GAAA,EAAAhG,qDAAAsI,CAAA,EAAEC,SAAQ1H,QAAI2H,OAAA,CAAAD,QAAA,CAAAE,OAAA,GAC3C1C,SAAY,GAAAjG,+CAAAkG,GAAA,EAAAtF,8CAAAgI,EAAA,KAAAtF,OACvB,CAAC2C,SAAuB,GAAAjG,+CAAa+F,IAAA,UAAAoB,SAAA7D,QAAAuF,YAAA,CAAA1B,UAAAlB,SAAA,CAEnC,GAAAjG,+CAAAkG,GAAA,EAACjG,qDAAM6I,EAAA,KAAS,GAAA9I,+CAAAkG,GAAA,EAAAjG,qDAAA8I,EAAA,EAAAjI,OAAAA,MAAA,GACX,CAAU,EAAAd,+CAAAkG,GAAA,SAAA8C,UAAA,QAEf,GAAAhJ,+CAAAkG,GAAA,EAACJ,OAAA,IACC,GAAA9F,+CAAckG,GAAA,EAAAjG,qDAAAgJ,EAAA,EACdlH,aAAcA,aACdmH,SAAO,GAAAhC,OAAA,kHAEJ,CAAU,EAAAlH,+CAAAkG,GAAA,SAAA8C,UAAA,QACA,GAAAhJ,+CAAAkG,GAAA,EAAAjG,qDAAAkJ,EAAA,EAAAC,SAAA,KAEf,GAAApJ,+CAAAkG,GAAA,EAACjG,qDAAAoJ,EAAQ,KACT,GAAArJ,+CAAAkG,GAAA,EAACjG,qDAAKqJ,EAAA,KACN,GAAAtJ,+CAAAkG,GAAA,EAACjG,qDAAGsJ,EAAA,KACM,GAAAvJ,+CAAAkG,GAAA,EAAAjG,qDAAAuJ,EAAA,EACRJ,SAAO,GAAAlC,OAAA,+EAGC,GAAAlH,+CAAAkG,GAAA,EAAAjG,qDAAAwJ,EAAA,EACRL,SAAM,GACNvD,MAAA,sBACAqB,OAAA,qDAA6CwC,eAAAzI,UAAAA,MAAA,UAG/C,GAAAjB,+CAAAkG,GAAA,EAACjG,qDAAM0J,EAAA,KAAC,GAAA3J,+CAAgBkG,GAAA,EAAAjG,qDAAA2J,EAAA,EAAA1H,eACrBA,eAAsB+D,SAAAlF,QAAA2H,OAAA,CAAAmB,MAAA,cAoDvC,CAAwChJ,CAAAA,kBAAAiJ,eAAA,IAExC,IAAA/J,QAAA,EAAgCH,CAAAA,oBAAA,QAAAiB,iBAAA,YAAApB,mBAAA,EAAAA,oBAAAsK,CAAA,yDAAAtK,oBAAAA,oBAAAuK,CAAA,UAAAC,KAAAxK,oBAAAsK,CAAA","sources":["webpack://_N_E/?a28b","webpack://_N_E/./src/pages/video-consultation.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/video-consultation\",\n function () {\n return require(\"private-next-pages/video-consultation.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/video-consultation\"])\n });\n }\n ","import {\n AuthFill,\n Button,\n ClosestDealers,\n Comments,\n Date,\n Email,\n FindDealer,\n FirstName,\n LastName,\n MarketingConsent,\n Models,\n Tel,\n Title,\n} from '@components/form/fields'\nimport { FormStep, FormWrapper } from '@components/form/layout'\nimport { Nav } from '@components/ui'\nimport { useCampaign } from '@contexts/index'\nimport { yupResolver } from '@hookform/resolvers/yup'\nimport { ERROR_MESSAGE } from '@utils/constants'\nimport {\n closeOverlay,\n getModels,\n getPageData,\n removeDuplicate,\n} from '@utils/helpers'\nimport { formEvent, updateDatalayer } from '@utils/helpers/tracking'\nimport { VideoConsultationSchema } from '@utils/schemas'\nimport axios from 'axios'\nimport type { GetServerSideProps } from 'next'\nimport { useEffect, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { upperCaseFirst } from 'upper-case-first'\n\nconst VideoConsultation = ({\n models,\n content,\n tracking,\n brand,\n dealer,\n model,\n query,\n}) => {\n const campaign = useCampaign()\n const [dealers, setDealers] = useState([])\n const [isDealer, setIsDealer] = useState(false)\n const [searchTerm, setSerchTerm] = useState('')\n\n const availability = (date) => date.getDay() !== 0 // exclude sunday\n\n const [submitResponse, setSubmitResponse] = useState('')\n\n const initialValues = {\n title: '',\n first_name: '',\n last_name: '',\n email: '',\n tel: '',\n model: '',\n date: '',\n time: '',\n consent: {\n user: false,\n },\n response_code: '',\n campaign_response_code: '',\n campaign_code: '',\n crm_response_source: '',\n is_dealer: query?.source === 'dealer' || query?.source === 'centre',\n dealer: '',\n dealer_name: '',\n notes: '',\n is_lexus: brand === 'lexus',\n }\n\n const methods = useForm({\n resolver: yupResolver(VideoConsultationSchema),\n defaultValues: initialValues,\n mode: 'onTouched',\n })\n\n const selectedDealer = methods.watch('dealer')\n\n useEffect(() => {\n if (campaign?.campaign) {\n methods.setValue('campaign_code', campaign.campaign)\n }\n\n if (campaign?.media) {\n const code = methods.getValues('campaign_code')\n methods.setValue('campaign_code', code + campaign.media)\n }\n\n if (campaign?.utm) {\n methods.setValue('crm_response_source', `Web ${campaign.utm}`)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [campaign])\n\n useEffect(() => {\n if (dealer) {\n methods.setValue(\n 'dealer',\n dealer?.applications?.NMSC?.externalID\n ? dealer.applications.NMSC.externalID\n : '',\n )\n methods.setValue('dealer_name', dealer.name)\n methods.setValue('is_dealer', true)\n setIsDealer(true)\n updateDatalayer('dealer', {\n uuid: dealer.uuid,\n name: dealer.name,\n address: {\n city: dealer.addresses[0].city,\n zip: dealer.addresses[0].zip,\n },\n })\n }\n }, [dealer])\n\n useEffect(() => {\n if (model) {\n methods.setValue('model', model.d4t4.id)\n methods.trigger('model')\n }\n }, [model])\n\n useEffect(() => {\n const dealerName = dealers.filter((i) => {\n return i.value === selectedDealer\n })\n\n if (dealerName.length >= 1) {\n methods.setValue('dealer_name', dealerName[0]?.label)\n updateDatalayer('dealer', {\n uuid: dealerName[0]?.uuid,\n name: dealerName[0]?.name,\n address: {\n city: dealerName[0]?.address.city,\n zip: dealerName[0]?.address.zip,\n },\n })\n }\n }, [selectedDealer])\n\n const Dealer = () => {\n return (\n <>\n {!isDealer && (\n {\n setSerchTerm(term)\n const dealersOptions = dealersSearch.map((dealerSearch) => ({\n label: dealerSearch?.name,\n value: dealerSearch?.localDealerID,\n name: dealerSearch?.name,\n uuid: dealerSearch?.uuid,\n address: dealerSearch?.address,\n }))\n if (dealersOptions.length) {\n const dealerList = removeDuplicate(dealersOptions, 'value')\n setDealers(dealerList)\n methods.setValue('dealer', dealerList[0].value, {\n shouldValidate: true,\n })\n }\n }}\n />\n )}\n\n {dealers.length > 0 && !isDealer && (\n \n )}\n \n )\n }\n\n const onSubmit = async (data) => {\n const formData = data\n formData.response_code = brand === 'lexus' ? 'RC116737' : 'RC120152'\n\n if (formData.is_dealer) {\n formData.response_code = brand === 'lexus' ? 'RC116737' : 'RC120153'\n }\n\n setSubmitResponse('')\n await axios({\n method: 'post',\n url: `${process.env.NEXT_PUBLIC_API}/video-consultation`,\n headers: {\n 'Content-Type': 'application/json',\n },\n data: formData,\n })\n .then(() => {\n formEvent({\n conversion: 1,\n name: tracking.form,\n step: 'form-submit',\n variant: '',\n page: tracking.page,\n })\n closeOverlay(\n content.confirmation.title,\n content?.confirmation?.copy || '',\n setSubmitResponse,\n )\n })\n .catch(() => {\n formEvent({\n conversion: 0,\n name: tracking.form,\n step: 'form-error',\n variant: '',\n page: tracking.page,\n })\n setSubmitResponse(ERROR_MESSAGE)\n throw new Error(ERROR_MESSAGE)\n })\n }\n\n return (\n <>\n