{"version":3,"sources":["lib/hooks/useDebounce.js","components/Shared/svgs/cross.svg","components/Shared/svgs/tick.svg","components/Shared/svgs/loading-tick.svg","components/Shared/FormComponents/InputButton/index.js","components/Shared/TickAnim/index.js","components/Shared/FormComponents/InputText/index.js","lib/api/rate-handler.js","lib/maintenance/es6.js","lib/api/client.js","lib/api/localstorage.js","lib/api/api-calls.js","lib/api/customer-details.js","lib/api/user.js","components/Shared/StringManipulation/index.js","components/Shared/Form/index.js","components/Pages/Login/LoginBox/LoginForm/index.js","components/Pages/Login/LoginBox/CreateForm/index.js","components/Pages/Login/LoginBox/index.js","components/Shared/svgs/logo.svg","components/Shared/LoginWrapper/index.js","components/Shared/svgs/dash-pass.svg","components/Pages/CreatePass/CreatePassBox/index.js","components/Pages/Login/ResetPasswordConfirm/index.js","components/Pages/ForgotPassword/ForgotForm/index.js","components/Pages/CheckContactEmail/index.js","components/Shared/RouteSwitch/index.js","components/Pages/Login/index.js","components/Shared/ServerLogging/index.js","lib/hooks/useLogin.js","components/Shared/svgs/brand-instagram.svg","components/Shared/svgs/brand-facebook.svg","components/Shared/svgs/brand-x.svg","components/Shared/svgs/brand-linkedin.svg","components/Shared/svgs/person.svg","components/Shared/svgs/question-mark.svg","components/Shared/svgs/export.svg","components/Shared/DashboardWrapper/index.js","components/Shared/CrossSellBanner.js","lib/api/cross-sell.js","components/Shared/WhiteButton/index.js","components/Shared/svgs/wave-ef-white.svg","components/Shared/svgs/wave-ef-magenta.svg","components/Shared/svgs/meter-ef-white.svg","components/Shared/svgs/meter-ef-magenta.svg","components/Shared/svgs/bill-ef-white.svg","components/Shared/svgs/bill-ef-magenta.svg","lib/hooks/useConfig.js","components/Pages/Dashboard/DashboardContent/index.js","components/Shared/PaymentButton/index.js","components/Shared/EncodingManipulation/index.js","lib/api/payments.js","components/Shared/Payment/AmountChoice.js","components/Shared/svgs/water-ef-magenta.svg","lib/api/premises.js","components/Pages/Dashboard/Home/index.js","components/Shared/svgs/loading-search-icon.svg","components/Pages/Dashboard/Meters/SearchMeters/SearchBox/index.js","components/Shared/svgs/chevron-left.svg","components/Shared/Pagination/index.js","components/Shared/Skeletons/index.js","components/Shared/svgs/plus.svg","components/Pages/Dashboard/Meters/SearchMeters/index.js","components/Shared/svgs/dropdown.svg","components/Shared/svgs/tick-ef-black.svg","components/Shared/FormComponents/DatePicker/YearPicker/index.js","components/Shared/FormComponents/DatePicker/TextBox/index.js","components/Shared/FormComponents/DatePicker/index.js","components/Pages/Dashboard/Meters/EditMeter/MeterEntry/index.js","components/Pages/Dashboard/Meters/EditMeter/Skeleton.js","components/Pages/Dashboard/Meters/EditMeter/index.js","components/Pages/Dashboard/Meters/index.js","components/Shared/FormComponents/InputSelect2/index.js","lib/api/billing.js","components/Pages/Dashboard/Billing/Skeleton.js","components/Shared/svgs/download.svg","lib/api/deviceandbrowserdetector.js","lib/api/documentdownloader.js","components/Pages/Dashboard/Billing/Transactions/index.js","components/Pages/Dashboard/Billing/Bills/index.js","components/Shared/DirectDebitMandate/index.js","components/Pages/Dashboard/Billing/index.js","components/Pages/Dashboard/Customer/Skeleton.js","components/Pages/Dashboard/Customer/index.js","components/Pages/Dashboard/index.js","lib/api/external-link.js","components/Pages/NotFound/index.js","components/Pages/Maintenance/index.js","components/Shared/PopUp/index.js","components/Shared/Analytics/index.js","liveChatLoader.js","components/Pages/CardPayment/index.js","components/Pages/CardPayment/ThankYou/index.js","components/Pages/CardPayment/Cancel/index.js","App.js","registerServiceWorker.js","index.js"],"names":["useDebounce","delay","initVal","_useState","useState","_useState2","_slicedToArray","string","setString","_useState3","_useState4","debounced","setDebounced","useEffect","timeout","setTimeout","clearTimeout","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","id","transform","className","d","_ref","svgRef","title","props","x","y","viewBox","style","enableBackground","xmlSpace","ref","ForwardRef","forwardRef","type","width","height","interval","cx","cy","r","TickAnim","size","React","LoadingTick","InputText","onChange","value","label","labelFor","name","password","placeholder","readOnly","tick","cross","req","error","onBlur","onFocus","loadingTick","thin","maxLength","_useDebounce","_useDebounce2","active","setActive","focus","classes","push","join","htmlFor","Tick","ev","percent","InputButton","onClick","disabled","selected","loading","fitWidth","useRef","console","log","anim","current","animating","classList","contains","setProperty","loadTime","add","setInterval","clearInterval","finishTime","remove","animate","concat","preventDefault","window","mixpanel","track","button","rateHandler","task","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","rej","response","wrap","_context","prev","next","retries","showRetry","try","of","sent","abrupt","t0","data","status","success","formStatus","stop","_x","_x2","action","event","CustomEvent","detail","dispatchEvent","checkMaintenance","_maintenance$split$ma","process","split","map","time","outputTime","moment","hour","minutes","isDST","format","_maintenance$split$ma2","start","end","ooo","utc","client","Axios","create","interceptors","request","use","logout","then","document","location","reject","getLocalStorage","JSON","parse","localStorage","getItem","err","setLocalStorage","accessToken","accountNumber","contactName","account","token","setItem","stringify","getAccessToken","getAccountNumber","WebAPI","_this","_classCallCheck","getFromWebApiWithAccessTokenAsync","_callee2","endpoint","payload","_context2","_ref2","bearerToken","endpointWithPayload","form","message","getEndpointWithQuerystringPayload","get","headers","resp","catch","_x3","_x4","postToWebApi","_ref3","_callee4","params","_context4","_ref4","_callee3","_context3","post","_x7","_x8","_x5","_x6","postToWebApiWithAccessTokenAsync","_ref5","_callee6","_context6","_ref6","_callee5","_context5","_x11","_x12","_x9","_x10","result","queryString","fetchCustomerDetails","contact","payment","billing","_yield$Promise$all","_yield$Promise$all2","contactResp","paymentResp","billingResp","getCustomerDetails","getPaymentDetails","getBillingDetails","all","overview","companyName","billingAddress","address1","billingAddressLine1","address2","billingAddressLine2","address3","billingAddressLine3","townOrCity","billingTownOrCity","county","billingCounty","postcode","billingPostcode","contactEmail","billingEmail","contactPhone","contactNumber","mobilePhone","mobileNumber","otherMobilePhone","otherMobileNumber","accountBalance","balance","expectedBilling","billingDay","paymentMethod","paymentMethodName","billingTerms","terms","bankAccount","accountNumberLastThree","bankSort","sortCodeLastTwo","contractStart","contractStartDate","contractEnd","contractEndDate","webApi","updateCustomerDetails","tryLogin","username","captcha","loginResp","login","access_token","removeItem","cookie","stripUsernameChars","val","callback","replace","Form","initialValues","validationSchema","onSubmit","children","Formik","validateOnChange","values","setFieldValue","handleSubmit","errors","handleChange","validateField","handleBlur","touched","dangerouslySetInnerHTML","__html","formSchema","Yup","shape","required","LoginForm","useLocation","recaptchaRef","setLoading","setGlobalErr","expired","search","history","useHistory","loginUser","useCallback","setErrors","setFormStatus","trim","recaptchaValue","reset","setStatus","Fragment","ReCAPTCHA","sitekey","badge","CreateForm","setSuccess","succeeded","createAccount","LoginBox","tab","setTab","match","useRouteMatch","section","Link","to","href","rel","LoginWrapper","noLink","margin","Logo","fillRule","clipRule","strokeLinejoin","strokeMiterlimit","TickWrapper","CrossWrapper","Cross","DashWrapper","Dash","Icon","dash","CreatePass","setPassword","password2","setPassword2","_useState5","_useState6","passTouch","setPassTouch","_useState7","_useState8","pass2Touch","setPass2Touch","_useState9","_useState10","_useState11","_useState12","searchParams","temp","substring","confirmToken","check","pass","checks","minLength","digit","upper","lower","special","find","code","Error","confirmAccount","ResetPass","passwordToken","msg","forgotConfirmPassword","forgotSchema","CheckContactEmail","crossLink","buttonText","buttonLink","NotFoundPage","CustomNotFoundPage","CustomSwitch","Switch","Login","Route","exact","path","ForgotForm","ResetPassConfirm","CreatePassBox","Log","content","signal","AbortController","requestOptions","method","body","logContent","fetch","ok","sendData","WarningLog","InformationLog","ErrorLog","useLogin","loggedIn","setLoggedIn","init","setInit","pathname","fill","DashboardWrapper","helpLink","mobileExpanded","setMobileExpanded","user","logoutUser","_window","_window$mixpanel","onNavigate","_window2","_window2$mixpanel","QuestionMark","Person","LogOut","src","_window3","_window3$mixpanel","link","SocialInstaIcon","_window4","_window4$mixpanel","SocialFbIcon","_window5","_window5$mixpanel","SocialXIcon","_window6","_window6$mixpanel","SocialLnkdInIcon","CrossSellBanner","dismissed","setDismissed","setMessage","html","getElementsByTagName","onDismiss","sessionStorage","position","zIndex","top","left","opacity","right","WhiteButton","useConfig","config","setConfig","fetchData","json","controller","abort","DashboardContent","ccConfig","HomeOn","HomeOff","MetersOn","MetersOff","BillsOn","BillsOff","PaymentButton","_ref$enabled","enabled","togglePaymentAmountChoice","paymentButtonOpen","setPaymentButtonOpen","PoundSymbol","PoundCurrency","formattedValue","floatVal","parseFloat","Math","abs","toFixed","paymentUrl","payAmount","PaymentAmountChoice","otherAmount","setOtherAmount","option","setOption","submitting","setSubmitting","amountValidationError","setAmountValidationError","onCustomAmountSelected","submitChoice","warn","toString","redirectUrl","forwardTo","targetUrl","from","defaultChecked","min","defaultValue","e","searchSPIDs","page","perPage","url","fetchMeterData","spid","meters","locations","meterResp","locationResp","listMeters","listPremises","_callee7","_context7","_ref7","generalSpid","_x13","submitReading","_ref9","_callee9","_ref8","spidMeterId","meterSerial","reading","date","validationPassed","failureReasons","_context9","toISOString","_ref10","_callee8","readDate","_context8","_x15","_x16","_x14","validateReading","_ref12","_callee11","_ref11","_context11","_ref13","_callee10","_context10","_x18","_x19","_x17","Home","loadError","setLoadError","customerData","setCustomerData","meterData","setMeterData","isLoading","setIsLoading","paymentEnabled","setPaymentEnabled","showPaymentAmountChoice","setShowPaymentAmountChoice","loadCustomerDetails","loadMeterDetails","cardPaymentEnabled","WaterIcon","totalResults","results","reduce","sum","metersOnSPID","amount","subtract","SearchBox","searchLoader","setLength","inc","setInc","timer","glassTo","checkTo","timerVal","loaderEl","circle","querySelector","initLength","getTotalLength","strokeDasharray","transitionProperty","transitionTimingFunction","transitionDuration","strokeOpacity","showLoader","hideLoader","startTimer","strokeDashoffset","endTimer","LoadingSearchIcon","stroke","Pagination","pages","buttons","_toConsumableArray","slice","Chevron","index","color","SkeletonText","spacing","inheritFontSize","noPulse","fontSize","borderRadius","marginBottom","SkeletonInput","SideSkeleton","SkeletonPagination","SearchMeters","setSearch","setPage","setResults","startSearch","setStartSearch","searchRef","doSearch","skeletonHelper","address","premisesAddressLineOne","premisesAddressLineTwo","premisesAddressLineThree","premisesAddressLineFour","premisesAddressLineFive","premisesPostcode","hasMeters","linkUri","linkId","Plus","maxPage","variantsLeft","hidden","enter","exit","variantsRight","months","YearPicker","close","show","setShow","blockFuture","blockPast","setLeft","checkClick","addEventListener","removeEventListener","year","setYear","setMonth","toSet","newShow","_","cloneDeep","month","parseInt","AnimatePresence","motion","ul","initial","variants","transition","duration","blocked","DateDisplay","onSelect","resetHeight","yearPicker","setYearPicker","daysInMonth","firstDay","lastDay","cells","startExtra","endExtra","showSelected","newMonth","day","currentDay","selectDate","Portal","divId","alertRoot","getElementById","ReactDOM","createPortal","DatePicker","setSelected","showPicker","setShowPicker","setHeight","setPosition","inputRef","clientHeight","getBoundingClientRect","scrollY","scrollX","returnVal","hideOnResize","positionStyle","innerWidth","TextBox","ModalBackground","ConfirmModal","serial","doReading","setShowConfirmModal","ukDate","text","Number","SoftValidationModal","setShowSoftValidateModal","description","ReadingSchema","typeError","matches","max","Date","dateVal","original","toDate","MeterEntry","item","expanded","setExpanded","showConfirmModal","showSoftValidateModal","setError","_useState13","_useState14","setFailureReasons","_useState15","_useState16","readingObject","setReadingObject","_useState17","expand","display","showElementById","elementId","element","meterLocationDescription","meterReadDate","meterReadValue","meterReadType","DropDown","hideElementById","firstError","onTouchCallback","resetTick","BlackInverseTick","Skeleton","EditMeter","pageData","setPageData","loadData","SkeletonPage","premisesAddressLinePostcode","premisesAddressLinePostCode","goLive","goLiveDate","border","Meters","InputSelect","options","open","setOpen","listRef","contRef","clickOff","require","BillsSkeleton","rows","Array","v","borderTop","DeviceAndBrowserDetector","userAgent","productName","operatingSystem","defineProperty","_getOperatingSystem","writable","navigator","platform","userAgentData","includes","_classPrivateFieldLooseBase","_getOperatingSystemByOtherMeans","test","MSStream","_getBrowserProduct","_downloadForBrowserType","_classPrivateFieldLooseKey","_createLinkForOtherBrowsers","_createLinkForSafari","_getDocAsBlob","_getByteArraysForDocBlob","_getDocumentFromAPI","_getDocDetails","_getFileNameFromHeader","DocumentDownloader","downloadDocumentUsingBase64","webDocument","docDetails","setAttribute","click","alert","docDataBase64","toLowerCase","fileName","contentType","docContentType","docFileName","bytArys","blob","URL","createObjectURL","Blob","byts","atob","byteArrays","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","docId","hdrs","disposition","startsWith","TransactionResults","transactions","strike","rebilled","removed","transactionReference","transactionType","effectiveDate","total","Documents","ReactTooltip","paging","pageNumber","getDocument","downloader","pdfId","data-tip","Dl","csvId","Transactions","setTransactions","getFullYear","loadTransactions","_err$response","getTransactions","finally","yearRange","dates","InputSelect2","BillsResults","bills","invoiceNumber","dateGenerated","dateFrom","dateTo","Bills","setBills","loadBills","_err$response2","getBills","DirectDebitMandate","Billing","buttonClasses","activeButtonClasses","SkeletonBlock","rowBlock","SkeletonCustomer","EditableInput","editing","maxlength","empty","setEmpty","EditableEmail","EditablePhone","pattern","getEmailsFromDom","emailData","forEach","fName","domEl","BillingEmail","BillingEmail1","BillingEmail2","BillingEmail3","BillingEmail4","filter","a","undefined","Customer","setEditing","saving","setSaving","_useState18","_useState19","_useState20","additionalEmails","setAdditionalEmails","formRef","_useState21","_useState22","deviceAndBrowser","emails","billingEmailsArray","onSave","CombinedBillingEmail","checkValidity","onBillingEmailChange","newErrors","state","_step","inputs","_iterator","_createForOfIteratorHelper","s","n","done","inp","dataset","originalValue","f","_step2","textareas","_iterator2","Dashboard","sethelpLink","faqLink","DashboardHome","NotFound","_process$env$REACT_AP","tz","_process$env$REACT_AP2","Maintenance","useCountdown","secs","setTimer","LoadingCircle","version","xmlns","strokeWidth","PopUp","modal","_useCountdown","_useCountdown2","countdown","setCountdown","attempt","setAttempt","failed","setFailed","eventHandler","Box","background","GoogleAnalytics","_Component","_inherits","_super","_createSuper","_createClass","logPageChange","prevLocation","_this$props$location","isDifferentPathname","isDifferentSearch","ReactGA","set","_objectSpread","origin","pageview","Component","component","isGAEnabled","CONTEXT","initialize","LiveChatLoader","isLiveChatEnabled","setIsLiveChatEnabled","licenseKey","setLicenseKey","LiveChatWidget","license","visibility","CardPayment","setSource","scrollTo","iterator","ValidateAccessSource","testUrl","validationUrl","RegExp","ValidatePaymentUrl","cardPaymentUrl","ThankYou","merchantReference","URLSearchParams","Cancel","App","_useLogin","analyticsCookiesAccepted","setAnalyticsCookiesAccepted","isFramePage","debug","debugMode","track_pageview","persistence","identify","handleAccept","handleRevoke","Analytics","Redirect","render","Boolean","hostname","baseUrl","getAttribute","rootElement","BrowserRouter","basename","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.4ac60c1b.chunk.js","sourcesContent":["import {useState, useEffect} from 'react';\r\n\r\nexport const useDebounce = (delay, initVal) => {\r\n if(!delay) delay = 500\r\n\r\n const [string, setString] = useState();\r\n const [debounced, setDebounced] = useState(initVal);\r\n\r\n useEffect(()=>{\r\n const timeout = setTimeout(()=>{\r\n setDebounced(string)\r\n }, delay)\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n }\r\n }, [string, delay])\r\n\r\n return [debounced, setString];\r\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-6\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"times-light\",\n transform: \"translate(9.818182 9.818182)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n className: \"\",\n d: \"M0.1-1.64l5.24-5.24l1.08-1.08c0.16-0.16,0.16-0.42,0-0.58L5.27-9.7c-0.16-0.16-0.42-0.16-0.58,0 l-6.33,6.33L-7.96-9.7c-0.16-0.16-0.42-0.16-0.58,0L-9.7-8.54c-0.16,0.16-0.16,0.42,0,0.58l6.33,6.33L-9.7,4.69 c-0.16,0.16-0.16,0.42,0,0.58l1.16,1.16c0.16,0.16,0.42,0.16,0.58,0l6.33-6.33l5.24,5.24l1.08,1.08c0.16,0.16,0.42,0.16,0.58,0 l1.16-1.16c0.16-0.16,0.16-0.42,0-0.58L0.1-1.64z\"\n})));\nvar SvgCross = function SvgCross(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 16.36 16.36\",\n style: {\n enableBackground: \"new 0 0 16.36 16.36\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCross, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/cross.eabce5f4.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\r\\n\\t.st0{display:none;}\\r\\n\\t.st1{display:inline;}\\r\\n\\t.st2{fill:none;}\\r\\n\\t.st3{fill:#2BFF9C;}\\r\\n\");\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n className: \"st0\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n x: -9.61,\n y: -8.11,\n className: \"st1\",\n width: 45.8,\n height: 36.5\n}));\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1\"\n}, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Large-DesktopFormValid\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Rectangle\",\n className: \"st2\",\n d: \"M-3-5h22v22H-3V-5z\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"check-light\",\n transform: \"translate(3 5)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n className: \"st3\",\n d: \"M11.85-4.87L1.73,5.25l-3.58-3.58c-0.17-0.17-0.44-0.17-0.61,0l-0.41,0.41 c-0.17,0.17-0.17,0.44,0,0.61l4.29,4.29c0.17,0.17,0.44,0.17,0.61,0L12.87-3.85c0.17-0.17,0.17-0.44,0-0.61l-0.41-0.41 C12.29-5.04,12.02-5.04,11.85-4.87z\"\n})))));\nvar SvgTick = function SvgTick(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 16 12.11\",\n style: {\n enableBackground: \"new 0 0 16 12.11\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTick, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/tick.0a8031f0.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\r\\n\\t.st0{fill:#26FF9D;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st1{fill:none;}\\r\\n\");\nvar _ref3 = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st0\",\n cx: 26.2,\n cy: 26.2,\n r: 24.8\n});\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Large-DesktopFormValid\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"check-light\",\n transform: \"translate(3 5)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n d: \"M33.8,12.2L18.3,27.7l-5.5-5.5c-0.3-0.3-0.7-0.3-0.9,0l-0.6,0.6c-0.3,0.3-0.3,0.7,0,0.9l6.6,6.5 c0.3,0.3,0.7,0.3,0.9,0l16.6-16.5c0.3-0.3,0.3-0.7,0-0.9l-0.6-0.6C34.4,12,34,12,33.8,12.2z\"\n})));\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-Copy\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Rectangle\",\n className: \"st1\",\n d: \"M8.2,9h35.1v35.1H8.2V9z\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"search-light\",\n transform: \"translate(3 3)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"M35.4,34.8l-6.4-6.4c-0.1-0.1-0.3-0.2-0.4-0.2H28c1.7-1.9,2.8-4.3,2.8-7c0-5.7-4.6-10.4-10.4-10.4 c-5.7,0-10.4,4.6-10.4,10.4c0,5.7,4.6,10.4,10.4,10.4c2.7,0,5.2-1,7-2.8v0.5c0,0.2,0.1,0.3,0.2,0.4l6.4,6.4c0.2,0.2,0.6,0.2,0.8,0 l0.5-0.5C35.6,35.4,35.6,35,35.4,34.8z M20.4,29.9c-4.9,0-8.8-3.9-8.8-8.8c0-4.9,3.9-8.8,8.8-8.8c4.9,0,8.8,3.9,8.8,8.8 C29.1,26,25.2,29.9,20.4,29.9z\"\n})));\nvar SvgLoadingTick = function SvgLoadingTick(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 53 53\",\n style: {\n enableBackground: \"new 0 0 53 53\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLoadingTick, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/loading-tick.f073f31e.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useRef, useState } from 'react';\r\n\r\nconst loadTime = 6;\r\nconst finishTime = 3;\r\nvar percent = 0;\r\nvar interval;\r\n\r\nconst InputButton = ({label, id, onClick, className, selected, disabled, error, loading, fitWidth}) => {\r\n\r\n const ref = useRef();\r\n\r\n const preventProxy = ev => {\r\n ev.preventDefault()\r\n if (window && window.mixpanel && window.mixpanel.track && id) {\r\n window.mixpanel.track(\"Button Click\", { button: id })\r\n }\r\n onClick && onClick(ev);\r\n }\r\n\r\n console.log('loading', loading)\r\n\r\n const animate = () => {\r\n const anim = ref && ref.current;\r\n\r\n if(!anim) return;\r\n\r\n const animating = anim.classList.contains('loading');\r\n\r\n if(loading && !animating){\r\n // start animation\r\n console.log('loading animation start')\r\n anim.style.setProperty('--load-time', loadTime + 's')\r\n anim.classList.add('loading');\r\n interval = setInterval(()=>{\r\n percent += 1;\r\n if(percent >= 100){\r\n percent = 100;\r\n clearInterval(interval);\r\n }\r\n }, loadTime * 1000 / 50)\r\n return;\r\n }\r\n\r\n if(!loading && animating){\r\n // stop animation\r\n anim.style.setProperty('--finish-delay', '-' + (finishTime / 100 * percent) + 's')\r\n anim.style.setProperty('--finish-time', finishTime + 's')\r\n clearInterval(interval);\r\n anim.classList.add('finish');\r\n setTimeout(()=>{\r\n // reset animation\r\n anim.classList.remove('loading');\r\n anim.classList.remove('finish');\r\n percent = 0;\r\n }, 1000)\r\n return\r\n }\r\n };\r\n\r\n\r\n useEffect(()=>{\r\n animate();\r\n \r\n }, [loading])\r\n \r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {error ? (\r\n
{error}
\r\n ) : null}\r\n
\r\n )\r\n}\r\n\r\nexport default InputButton;\r\n","import React from \"react\";\r\nimport {ReactComponent as LoadingTick} from '../svgs/loading-tick.svg'\r\n\r\nconst TickAnim = ({size}) => {\r\n if(!size) size = \"20px\";\r\n \r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\nexport default TickAnim","import React, { useState } from 'react';\r\nimport { useDebounce } from '../../../../lib/hooks/useDebounce';\r\nimport {ReactComponent as Cross} from '../../../Shared/svgs/cross.svg'\r\nimport {ReactComponent as Tick} from '../../../Shared/svgs/tick.svg'\r\nimport TickAnim from '../../../Shared/TickAnim';\r\n\r\nconst InputText = ({ onChange, value, label, labelFor, name, password, placeholder, className, readOnly, tick, cross, req, error, id, onBlur, onFocus, loadingTick, thin, maxLength }) => {\r\n\r\n const [active, setActive] = useDebounce(100);\r\n \r\n const focus = active || !!value;\r\n\r\n const classes = [\r\n 'input-text'\r\n ]\r\n\r\n if(className) classes.push(className);\r\n if(focus) classes.push('focus');\r\n\r\n if(tick) classes.push('tick');\r\n if(error || cross) classes.push('cross');\r\n\r\n return (\r\n
\r\n
\r\n {label ? (\r\n \r\n ) : null}\r\n {tick ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n {loadingTick ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n { setActive(true); onFocus && onFocus(ev) }}\r\n onBlur={ev => { setActive(false); onBlur && onBlur(ev) }}\r\n readOnly={!!readOnly}\r\n className={className}\r\n maxLength={maxLength}\r\n />\r\n
\r\n {error ? (\r\n
{error}
\r\n ) : null}\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport default InputText","const timeout = 30;\r\nconst retries = 3;\r\nconst delay = 2;\r\n\r\nexport const rateHandler = (task) => {\r\n return new Promise(async (res, rej) => {\r\n\r\n console.log('ratelimit start')\r\n\r\n var response;\r\n for(var i = 0; i < (retries + 1); i++) {\r\n try{\r\n\r\n showRetry('requesting', {try: i, of: retries});\r\n\r\n if(i > 0) await new Promise(res => setTimeout(res, delay * 1000));\r\n\r\n \r\n response = await new Promise(task);\r\n\r\n showRetry('hide');\r\n\r\n return res(response);\r\n }catch(err){\r\n\r\n if(!(err && err.data && err.status === 429)) {\r\n showRetry('hide');\r\n return rej(err);\r\n }\r\n showRetry('show');\r\n\r\n if(i < retries){\r\n\r\n showRetry('startTimer', timeout)\r\n await new Promise(res => setTimeout(res, timeout * 1000));\r\n }\r\n }\r\n }\r\n\r\n showRetry('failed')\r\n \r\n // add fallback form response\r\n rej({\r\n success: false,\r\n formStatus: 'Server busy'\r\n });\r\n })\r\n}\r\n\r\nconst showRetry = (action, data) => {\r\n const event = new CustomEvent('retryMessage', { detail: {action, data} });\r\n window.dispatchEvent(event);\r\n} \r\n","import moment from 'moment';\r\n\r\nexport const checkMaintenance = () => {\r\n const maintenance = process.env.REACT_APP_MAINTENANCE\r\n if(!maintenance) return false;\r\n\r\n const [start, end] = maintenance.split('-').map(i => {\r\n let time = i.split(':');\r\n if (time.length === 1) time.push(0)\r\n\r\n let outputTime = moment().hour(time[0]).minutes(time[1])\r\n\r\n if (moment().isDST()) {\r\n outputTime = outputTime.add(1, 'h')\r\n console.log(outputTime)\r\n }\r\n return outputTime.format('HHmm')\r\n });\r\n\r\n if(start === end) return false;\r\n \r\n console.log('es6')\r\n console.log('Original Maintenance Times', maintenance, 'Actual start', start, 'Actual end', end);\r\n\r\n var ooo = false;\r\n const current = moment.utc().format('HHmm');\r\n\r\n console.log('current', current)\r\n\r\n if(start < end){\r\n console.log('start less than')\r\n if(current >= start && current < end) ooo = true;\r\n }else{\r\n console.log('start overnight')\r\n if(current >= start || current < end) ooo = true;\r\n }\r\n\r\n console.log('under maintenance ', ooo)\r\n return ooo;\r\n}","import Axios from 'axios';\r\nimport { logout } from './user';\r\nimport {checkMaintenance} from \"../maintenance/es6\";\r\n\r\nconst client = Axios.create({\r\n})\r\n\r\nclient.interceptors.request.use(function (request){\r\n if(checkMaintenance())\r\n {\r\n logout().then(()=>{\r\n document.location = '/maintenance'\r\n })\r\n }\r\n return request;\r\n});\r\n\r\nclient.interceptors.response.use(function (response) {\r\n return response;\r\n }, function (error) {\r\n\r\n console.log('error response in axios client', error.response.status);\r\n\r\n // check and log out on expired session\r\n if(error.response.status === 401 && (error.response.data === 'TokenExpired' || error.response.data === 'Unauthorized')){\r\n logout().then(()=>{\r\n document.location = '/login?session-expired=1'\r\n })\r\n return Promise.reject(error);\r\n }else if(error.response.status === 401 && (error.response.data === 'Under maintenance.')){\r\n logout().then(()=>{\r\n document.location = '/maintenance'\r\n })\r\n return Promise.reject(error)\r\n }\r\n return Promise.reject(error)\r\n});\r\n\r\nexport default client;","\r\nexport const getLocalStorage = () => {\r\n\r\n var data = {};\r\n try {\r\n data = JSON.parse(localStorage.getItem('account'));\r\n if (!data) data = {};\r\n }\r\n catch (err)\r\n { }\r\n return data;\r\n}\r\n\r\n\r\nexport const setLocalStorage = (accessToken, accountNumber, contactName) => {\r\n const account = {\r\n token: accessToken,\r\n accountNumber: accountNumber,\r\n name: contactName\r\n }\r\n\r\n localStorage.setItem('account', JSON.stringify(account));\r\n}\r\n\r\n\r\nexport const getAccessToken = () => {\r\n const account = getLocalStorage();\r\n return account.token;\r\n}\r\nexport const getAccountNumber = () => {\r\n const account = getLocalStorage();\r\n return account.accountNumber;\r\n}","import client from './client';\r\nimport queryString from 'query-string';\r\nimport {getAccessToken, getAccountNumber} from './localstorage';\r\nimport {rateHandler} from './rate-handler';\r\n\r\n// class to provide wrappers allowing us to make repeatable calls to webapi endpoints, with optional payloads & methods which allow\r\n// access-token to be included for when we need to be authenticated. Access token must live in the localstorage on t\r\n\r\nclass WebAPI {\r\n\r\n getFromWebApiWithAccessTokenAsync = async (endpoint, payload) => {\r\n const task = async (res, rej) => {\r\n\r\n const bearerToken = getAccessToken();\r\n const accountNumber = getAccountNumber();\r\n if (!bearerToken) {\r\n const error = {success: false, form: {}}\r\n error.message = 'no_access_token';\r\n return rej(error);\r\n }\r\n\r\n const endpointWithPayload = this.getEndpointWithQuerystringPayload(endpoint, payload);\r\n\r\n await client.get(endpointWithPayload, {\r\n headers: {\r\n 'Authorization': bearerToken\r\n }\r\n })\r\n .then(resp => {\r\n console.log(resp);\r\n if (resp.data.hasOwnProperty('accountNumber') && accountNumber) {\r\n resp.data.accountNumber = accountNumber;\r\n }\r\n return res({success: true, data: resp.data, headers: resp.headers })\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n return rej(error);\r\n\r\n })\r\n }\r\n return rateHandler(task);\r\n }\r\n\r\n postToWebApi = async (endpoint, params) => {\r\n const task = async (res, rej) => {\r\n\r\n await client.post(endpoint, params, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(resp => {\r\n console.log(resp);\r\n return res({success: true, data: resp.data, headers: resp.headers })\r\n })\r\n .catch(err => {\r\n console.log(err.response.data);\r\n return rej(err.response.data);\r\n })\r\n }\r\n return rateHandler(task);\r\n }\r\n\r\n postToWebApiWithAccessTokenAsync = async (endpoint, params) => {\r\n const task = async (res, rej) => {\r\n\r\n const bearerToken = getAccessToken();\r\n if (!bearerToken) {\r\n const error = {success: false, form: {}}\r\n error.message = 'no_access_token';\r\n return rej(error);\r\n }\r\n\r\n await client\r\n .post(endpoint, params, {\r\n headers: {\r\n 'Authorization': bearerToken,\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(resp => {\r\n console.log(resp);\r\n return res({success: true, data: resp.data, headers: resp.headers })\r\n })\r\n .catch(err => {\r\n console.log(err.response.data);\r\n return rej(err.response.data);\r\n })\r\n }\r\n return rateHandler(task);\r\n }\r\n\r\n getEndpointWithQuerystringPayload = (endpoint, payload) => {\r\n let result = endpoint;\r\n if (payload) {\r\n result += `?${queryString.stringify(payload)}`;\r\n }\r\n return result;\r\n }\r\n\r\n}\r\n\r\nexport default WebAPI;\r\n\r\n","import {getAccountNumber} from './localstorage';\r\nimport {rateHandler} from './rate-handler';\r\nimport WebAPI from \"./api-calls\";\r\n\r\n\r\nexport const fetchCustomerDetails = () => {\r\n const task = async (res, rej) => {\r\n try {\r\n const contact = getCustomerDetails();\r\n const payment = getPaymentDetails();\r\n const billing = getBillingDetails();\r\n const accountNumber = getAccountNumber();\r\n const [contactResp, paymentResp, billingResp] = await Promise.all([contact, payment, billing]);\r\n\r\n const response = {\r\n overview: {\r\n accountNumber: accountNumber,\r\n companyName: contactResp.data.data.companyName,\r\n contactName: contactResp.data.data.contactName,\r\n billingAddress: {\r\n address1: contactResp.data.data.billingAddressLine1,\r\n address2: contactResp.data.data.billingAddressLine2,\r\n address3: contactResp.data.data.billingAddressLine3,\r\n townOrCity: contactResp.data.data.billingTownOrCity,\r\n county: contactResp.data.data.billingCounty,\r\n postcode: contactResp.data.data.billingPostcode\r\n }\r\n },\r\n contact: {\r\n contactEmail: contactResp.data.data.contactEmail,\r\n billingEmail: contactResp.data.data.billingEmail,\r\n contactPhone: contactResp.data.data.contactNumber,\r\n mobilePhone: contactResp.data.data.mobileNumber,\r\n otherMobilePhone: contactResp.data.data.otherMobileNumber\r\n },\r\n accountBalance: {\r\n accountBalance: billingResp.data.data.balance,\r\n expectedBilling: billingResp.data.data.billingDay,\r\n paymentMethod: billingResp.data.data.paymentMethodName,\r\n billingTerms: billingResp.data.data.terms\r\n },\r\n payment: {\r\n bankAccount: paymentResp.data.data.accountNumberLastThree,\r\n bankSort: paymentResp.data.data.sortCodeLastTwo,\r\n contractStart: paymentResp.data.data.contractStartDate,\r\n contractEnd: paymentResp.data.data.contractEndDate\r\n }\r\n }\r\n return res(response);\r\n\r\n } catch (err) {\r\n return rej(err);\r\n }\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const getCustomerDetails = () => {\r\n const task = async (res, rej) => {\r\n\r\n const webApi = new WebAPI();\r\n await webApi.getFromWebApiWithAccessTokenAsync('/api/account-customer-details')\r\n .then(resp => {\r\n if (!resp) {\r\n return res({success: false});\r\n }\r\n return res({success: true, data: resp.data})\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n });\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const getPaymentDetails = () => {\r\n const task = async (res, rej) => {\r\n const webApi = new WebAPI();\r\n await webApi.getFromWebApiWithAccessTokenAsync('/api/account-customer-payment')\r\n .then(resp => {\r\n if (!resp) {\r\n return res({success: false});\r\n }\r\n return res({success: true, data: resp.data})\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n });\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const getBillingDetails = () => {\r\n const task = async (res, rej) => {\r\n\r\n const webApi = new WebAPI();\r\n await webApi.getFromWebApiWithAccessTokenAsync('/api/account-customer-billing')\r\n .then(resp => {\r\n if (!resp) {\r\n return res({success: false});\r\n }\r\n return res({success: true, data: resp.data})\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n });\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const updateCustomerDetails = async (data) => {\r\n const task = async (res, rej) => {\r\n const webApi = new WebAPI(); \r\n await webApi.postToWebApiWithAccessTokenAsync('/api/account-customer-update', data)\r\n .then(resp => {\r\n if (!resp) {\r\n return res({success: false});\r\n }\r\n return res({success: true, data: resp.data})\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n });\r\n }\r\n return rateHandler(task);\r\n}\r\n","/**\r\n * User functions\r\n *\r\n */\r\nimport {rateHandler} from './rate-handler';\r\nimport WebAPI from \"./api-calls\";\r\nimport {setLocalStorage} from \"./localstorage\";\r\nimport {getCustomerDetails} from \"./customer-details\";\r\n\r\nexport const tryLogin = (username, password, captcha) => {\r\n const task = async (res, rej) => {\r\n\r\n try{\r\n const loginResp = await login(username, password, captcha);\r\n const contact = await getCustomerDetails();\r\n\r\n const account = {\r\n token: loginResp.token,\r\n accountNumber: username,\r\n name: contact.data.data.contactName\r\n }\r\n\r\n setLocalStorage(account.token, account.accountNumber, account.name)\r\n\r\n return res(account);\r\n }catch (err) {\r\n return rej(err);\r\n }\r\n }\r\n\r\n return rateHandler(task);\r\n}\r\n\r\nexport const login = async (username, password, captcha) => {\r\n const task = async (res, rej) => {\r\n if (!username || !password) {\r\n const error = {success: false, form: {}}\r\n\r\n if (!username) error.form.account = 'Please enter your account number';\r\n if (!password) error.form.password = 'Please enter your password';\r\n\r\n return rej(error);\r\n }\r\n\r\n let webApi = new WebAPI();\r\n\r\n await webApi.postToWebApi('/api/account-login', {username, password, captcha})\r\n .then(resp => {\r\n console.log('resp', resp.data)\r\n\r\n const account = {\r\n token: resp.data.access_token,\r\n accountNumber: username,\r\n }\r\n\r\n setLocalStorage(account.token, account.accountNumber, \"\")\r\n\r\n return res(account)\r\n })\r\n .catch(err => {\r\n\r\n if (err && err.data && err.status === 429) return rej(err);\r\n if(!err.error){\r\n err = 'An unexpected error has occurred.';\r\n }\r\n\r\n if (err && err.error) {\r\n if (err.error === 'invalid_grant') {\r\n err = 'Incorrect Account number or Password'\r\n }\r\n }\r\n\r\n return rej({\r\n success: false,\r\n formStatus: err\r\n })\r\n })\r\n }\r\n\r\n return rateHandler(task);\r\n}\r\n\r\nexport const logout = () => {\r\n return new Promise((res, rej) => {\r\n // no api as of yet\r\n console.log('removing keys')\r\n localStorage.removeItem('account');\r\n document.cookie = 'bearer=; Max-Age=-99999999;';\r\n res({\r\n success: true\r\n })\r\n })\r\n}\r\n\r\nexport const createAccount = accountNumber => {\r\n const task = (res, rej) => {\r\n let webApi = new WebAPI();\r\n webApi.postToWebApi('/api/account-setup', {accountNumber})\r\n .then(resp => {\r\n console.log(resp);\r\n //Added as a temp hack, as the Auth service if the acc num is not valid still returns an OK Response, which won't hit the catch\r\n if (!resp.data.succeeded) {\r\n rej({\r\n success: false,\r\n formStatus: 'Please check your Account Number',\r\n })\r\n }\r\n res({success: true})\r\n })\r\n .catch(err => {\r\n if (err && err.response && err.response.status === 429) return rej(err);\r\n\r\n if (err && err.response && err.response.data) {\r\n return rej({\r\n success: false,\r\n formStatus: err.response.data,\r\n })\r\n }\r\n\r\n rej({\r\n success: false,\r\n formStatus: 'An error has occurred'\r\n })\r\n })\r\n }\r\n\r\n return rateHandler(task);\r\n}\r\n\r\nexport const confirmAccount = data => {\r\n const task = (res, rej) => {\r\n let webApi = new WebAPI();\r\n webApi.postToWebApi('/api/account-confirm', data)\r\n .then(resp => {\r\n console.log(resp);\r\n if (!resp.data.succeeded) {\r\n if (resp.data.errors.find(i => i.code == 'InvalidToken')) {\r\n rej(new Error('Invalid Confirm Token'));\r\n }\r\n rej(new Error('An Error Occurred'));\r\n }\r\n res({success: true})\r\n })\r\n .catch(err => {\r\n if (err && err.response && err.response.status === 429)\r\n {\r\n rej(new Error('Too Many Requests'));\r\n }\r\n\r\n if (err && err.response && err.response.data) {\r\n rej(new Error('Account created, please log in.'));\r\n }\r\n\r\n rej(new Error('An error has occurred'));\r\n })\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const forgotPassword = accountNumber => {\r\n const task = async (res, rej) => {\r\n let webApi = new WebAPI();\r\n await webApi.postToWebApi('/api/account-forgot-password', JSON.stringify({accountNumber}))\r\n .then(resp => {\r\n if (!resp.data.succeeded) {\r\n if (resp.data.errors.find(i => i.code == 'InvalidToken')) {\r\n rej(new Error('Invalid Confirm Token'));\r\n }\r\n rej(new Error('An Error Occurred'));\r\n }\r\n res(resp);\r\n })\r\n .catch(err => {\r\n console.log('error response', err.response.data)\r\n if (err && err.response && err.response.status === 429) return rej(err);\r\n rej({\r\n success: false,\r\n formStatus: err && err.response && err.response.data || 'An unexpected error has occurred.'\r\n })\r\n })\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const forgotConfirmPassword = data => {\r\n const task = async (res, rej) => {\r\n const webApi = new WebAPI();\r\n\r\n await webApi.postToWebApi('/api/account-forgot-password-confirm', data)\r\n .then(resp => {\r\n if (!resp.data.succeeded) {\r\n if (resp.data.errors.find(i => i.code == 'InvalidToken')) {\r\n rej(new Error('Invalid Confirm Token'));\r\n }\r\n rej(new Error('An Error Occurred'));\r\n }\r\n\r\n console.log('confirmer success')\r\n res({success: true})\r\n })\r\n .catch(err => {\r\n console.log('confirmer failed', err)\r\n if (err && err.response && err.response.status === 429) return rej(err);\r\n const msg = err && err.response && err.response.data || 'An unexpected error has occurred';\r\n\r\n rej({\r\n success: false,\r\n formStatus: msg\r\n })\r\n })\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const getValidAccountNumber = accountNumber => {\r\n return accountNumber.replace(/[^a-zA-Z\\-0-9]+/g, '');\r\n}","export const stripUsernameChars = (val, callback) => {\r\n callback(val.replace(/[^a-zA-Z\\-0-9]+/g, ''));\r\n}\r\n","import React from 'react';\r\nimport { Formik } from \"formik\";\r\n\r\nconst Form = ({initialValues, validationSchema, onSubmit, children, className}) => {\r\n console.log('validating schema', validationSchema)\r\n\r\n if(!initialValues) initialValues = {};\r\n if(!onSubmit) onSubmit = () => console.log('onSubmit not set');\r\n\r\n return(\r\n \r\n {({values, setFieldValue, handleSubmit, errors, status, validateField, handleChange, handleBlur, touched}) => { \r\n\r\n /*\r\n\r\n const handleChange2 = e => {\r\n setFieldValue(e.target.id, e.target.value);\r\n try{\r\n if(e.target.value){\r\n// console.log('validating val', e.target.value)\r\n validateField(e.target.id)\r\n }\r\n }catch(err){\r\n// console.log(err);\r\n }\r\n };\r\n*/\r\n \r\n\r\n return(\r\n
\r\n {status ? (\r\n
\r\n ) : null}\r\n {children({values, setFieldValue, errors, handleChange, handleBlur, handleSubmit, touched})}\r\n
\r\n )\r\n }}\r\n \r\n )\r\n}\r\n\r\nexport default Form;","import React, {useCallback, useRef, useState} from \"react\";\r\nimport InputText from \"../../../../Shared/FormComponents/InputText\";\r\nimport InputButton from \"../../../../Shared/FormComponents/InputButton\";\r\nimport {tryLogin} from '../../../../../lib/api/user';\r\nimport {stripUsernameChars} from '../../../../Shared/StringManipulation';\r\nimport {useHistory} from \"react-router\";\r\nimport * as Yup from 'yup';\r\nimport {useLocation} from \"react-router-dom\";\r\nimport Form from \"../../../../Shared/Form\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\n\r\n\r\nconst LoginForm = () => {\r\n\r\n const location = useLocation();\r\n\r\n const recaptchaRef = useRef()\r\n\r\n const[loading, setLoading] = useState();\r\n const [globalErr, setGlobalErr] = useState();\r\n\r\n const expired = location && location.search.indexOf('session-expired') > -1;\r\n\r\n const history = useHistory();\r\n const loginUser = useCallback(async (account, password, setErrors, setFormStatus)=> {\r\n\r\n var recaptchaValue;\r\n \r\n setLoading(true);\r\n await tryLogin(account.trim(), password, recaptchaValue)\r\n .then(()=>{\r\n setLoading(false);\r\n setTimeout(() => {\r\n history.push('/dashboard/home');\r\n }, 500);\r\n })\r\n .catch(err => {\r\n // error handle\r\n recaptchaRef.current.reset();\r\n console.log('loginpage error', err);\r\n setLoading(false);\r\n if(!err) setFormStatus('An unexpected error has occurred.')\r\n if(err.formStatus) setFormStatus(err.formStatus)\r\n })\r\n }, [setLoading, setGlobalErr, history])\r\n\r\n return (\r\n loginUser(account, password, setErrors, setStatus)}\r\n >\r\n {({values, setFieldValue, handleSubmit, errors, status, validateField, handleChange, handleBlur, touched}) => {\r\n return(\r\n <>\r\n {expired ? (\r\n
Your session has expired, please log in.
\r\n ) : null}\r\n {status ? (\r\n
{status}
\r\n ) : null}\r\n stripUsernameChars(ev.target.value, val => setFieldValue('account', val))}\r\n error={touched && touched.account && errors && errors.account}\r\n onBlur={handleBlur}\r\n placeholder=\"e.g EFW000000-00\"\r\n />\r\n \r\n \r\n \r\n\r\n \r\n )\r\n }}\r\n \r\n )\r\n}\r\n\r\nconst formSchema = Yup.object().shape({\r\n account: Yup.string().required('Please enter your account number'),\r\n password: Yup.string().required('Please enter your password')\r\n})\r\n\r\nexport default LoginForm","import React, {useState} from \"react\"\r\nimport InputText from \"../../../../Shared/FormComponents/InputText\";\r\nimport InputButton from \"../../../../Shared/FormComponents/InputButton\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Form from '../../../../Shared/Form';\r\nimport { stripUsernameChars } from '../../../../Shared/StringManipulation';\r\nimport { createAccount, getValidAccountNumber } from \"../../../../../lib/api/user\";\r\nimport * as Yup from 'yup';\r\n\r\nconst CreateForm = () => {\r\n const history = useHistory();\r\n const [loading, setLoading] = useState();\r\n const [success, setSuccess] = useState()\r\n \r\n const submit = ({account}, {setErrors, setStatus}) => {\r\n setLoading(true);\r\n const validAccountNumber = getValidAccountNumber(account);\r\n createAccount(validAccountNumber)\r\n .then(()=>{\r\n setSuccess(true)\r\n setTimeout(()=>history.push('/login/check-email'), 1000)\r\n })\r\n .catch(err => {\r\n setLoading(false);\r\n setSuccess(false)\r\n if (err.formStatus == \"Please check your Account Number\") {\r\n setStatus(`You have already registered for this account, please log in here`)\r\n } else {\r\n setStatus(err.formStatus)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n {({values, setFieldValue, errors, handleSubmit, handleChange}) => (\r\n <>\r\n stripUsernameChars(ev.target.value, val => setFieldValue('account', val))}\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst formSchema = Yup.object().shape({\r\n account: Yup.string().required('Please enter your account number')\r\n})\r\n\r\nexport default CreateForm\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport LoginForm from './LoginForm';\r\nimport CreateForm from './CreateForm';\r\nimport { useRouteMatch } from 'react-router';\r\n\r\nconst LoginBox = () => {\r\n const [tab, setTab] = useState('login');\r\n\r\n const match = useRouteMatch('/login/:section?/:param?')\r\n const section = match && match.params && match.params.section\r\n\r\n useEffect(() => {\r\n if (!section && tab !== 'login') return setTab('login');\r\n if (section && section !== tab) return setTab(section);\r\n }, [section])\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {section === 'create' ? (\r\n
\r\n

Register for the

\r\n

Everflow Customer Portal

\r\n
\r\n ) : (\r\n
\r\n

Welcome to the

\r\n

Everflow Customer Portal

\r\n
\r\n )\r\n }\r\n
\r\n
\r\n {tab == 'login' ? (\r\n \r\n ) : null}\r\n {tab == 'create' ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n {section === 'create' ? (\r\n
\r\n Return to Login\r\n
\r\n ) : (\r\n
\r\n Forgotten your password?

\r\n Not registered? Create your account here\r\n
\r\n )\r\n }\r\n
\r\n
\r\n This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default LoginBox","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n\\t\\t\\t.cls-1 {\\r\\n\\t\\t\\tfill: #fff;\\r\\n\\t\\t\\tstroke-width: 0px;\\r\\n\\t\\t\\t}\\r\\n\\t\\t\"));\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m1881.98,161.16c-12.46,0-22.58-10.13-22.58-22.58,0-4.56,1.35-8.95,3.9-12.69,2.53-3.71,12.13-20.58,18.7-32.21,6.73,11.88,16.61,29.21,18.66,32.21,2.55,3.74,3.91,8.13,3.91,12.69,0,12.45-10.13,22.58-22.58,22.58m9.99,24.28c0,33.74-27.46,61.2-61.2,61.2s-61.19-27.46-61.19-61.2c0-12.35,3.66-24.25,10.59-34.42,6.72-9.86,37.29-63.98,50.63-87.7,6.3,11.15,16.46,29.09,26,45.77-2.51,4.33-4.45,7.57-5.26,8.77-4.17,6.12-6.37,13.28-6.37,20.71,0,20.3,16.51,36.82,36.81,36.82,3.09,0,6.09-.39,8.97-1.11.67,3.66,1.03,7.39,1.03,11.15m26.82-46.86c0-7.43-2.2-14.59-6.38-20.71-1.99-2.92-15.92-27.43-24.24-42.18l-6.21-11.04-6.19,11.05c-3.16,5.64-7.03,12.51-10.76,19.08-13.96-24.49-27.87-49.17-28.03-49.46l-6.22-11.03-6.19,11.05c-.48.86-48.03,85.75-56.16,97.66-8.54,12.54-13.06,27.21-13.06,42.43,0,41.59,33.83,75.43,75.42,75.43s75.43-33.83,75.43-75.43c0-5.93-.69-11.79-2.04-17.5,8.89-6.73,14.64-17.38,14.64-29.36\"\n}), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2033.85,54.12c0-2.77,2.35-5.11,5.11-5.11h45.68c2.78,0,5.12,2.35,5.12,5.11v15.48h-55.91v-15.48Zm-43.62,30.2h142.67c4.07,0,7.36-3.3,7.36-7.36s-3.29-7.36-7.36-7.36h-28.42v-15.48c0-10.93-8.89-19.83-19.83-19.83h-45.68c-10.93,0-19.83,8.9-19.83,19.83v15.48h-28.91c-4.06,0-7.36,3.3-7.36,7.36s3.3,7.36,7.36,7.36\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2061.81,225.56c4.06,0,7.36-3.3,7.36-7.36v-70.62c0-4.06-3.3-7.35-7.36-7.35s-7.36,3.29-7.36,7.35v70.62c0,4.06,3.3,7.36,7.36,7.36\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2097.12,225.56c4.06,0,7.36-3.3,7.36-7.36v-70.62c0-4.06-3.3-7.35-7.36-7.35s-7.36,3.29-7.36,7.35v70.62c0,4.06,3.3,7.36,7.36,7.36\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2026.5,225.56c4.06,0,7.36-3.3,7.36-7.36v-70.62c0-4.06-3.3-7.35-7.36-7.35s-7.36,3.29-7.36,7.35v70.62c0,4.06,3.3,7.36,7.36,7.36\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2125.54,217.94c0,15.55-12.65,28.21-28.21,28.21h-71.78c-15.25,0-27.65-12.4-27.65-27.65v-98.88h127.65v98.32Zm7.36-113.03h-142.37c-4.06,0-7.36,3.3-7.36,7.36v106.23c0,23.36,19.01,42.36,42.37,42.36h71.78c23.67,0,42.93-19.25,42.93-42.92v-105.67c0-4.06-3.3-7.36-7.36-7.36\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2307.38,245.06c-25.79,0-50.03-10.04-68.27-28.28-7.69-7.69-14.06-16.71-18.78-26.48h67.6c6.64,0,12.25,4.62,12.25,10.09s-5.61,10.09-12.25,10.09h-15.33c-3.98,0-7.21,3.22-7.21,7.21s3.23,7.21,7.21,7.21h2.6c.73.02,2.62.04,8.61.04,4.38,0,10.97-.01,20.9-.03,1.47,0,2.44,0,2.67,0,.96,0,1.91-.03,2.87-.06.29.03.58.06.89.06.58,0,1.13-.07,1.67-.2,22.12-1.59,42.68-12.81,55.97-30.76.07-.07.14-.14.2-.21,1.92-2.17,4.68-3.42,7.57-3.42,5.56,0,10.09,4.53,10.09,10.09,0,2.46-.89,4.83-2.52,6.67-.26.29-.48.61-.69.93-18.45,23.56-46.12,37.07-76.05,37.07m-30.83-105.63c-15.1,0-27.38-12.28-27.38-27.38s12.28-27.38,27.38-27.38c3.98,0,7.21-3.23,7.21-7.21,0-15.1,12.29-27.38,27.38-27.38,12.88,0,23.71,8.94,26.61,20.95-7.39,1.44-14.3,4.84-19.98,9.96-2.96,2.66-3.19,7.22-.53,10.17,2.66,2.96,7.22,3.2,10.17.54,5.03-4.53,11.54-7.03,18.31-7.03,15.1,0,27.38,12.28,27.38,27.38s-12.28,27.38-27.38,27.38-27.38-12.28-27.38-27.38c0-3.98-3.23-7.21-7.21-7.21s-7.21,3.22-7.21,7.21c0,15.1-12.28,27.38-27.38,27.38m124.5,60.96c0-13.51-10.99-24.5-24.5-24.5-6.6,0-12.91,2.67-17.51,7.37-.48.39-.93.84-1.31,1.38-9.47,13.17-23.69,22.02-39.39,24.86v-65.89c7.34,6.38,16.91,10.24,27.38,10.24,23.05,0,41.79-18.74,41.79-41.79,0-20.78-15.24-38.05-35.12-41.25-3.21-19.89-20.48-35.12-41.25-35.12s-38.05,15.24-41.25,35.12c-19.89,3.2-35.12,20.48-35.12,41.25,0,23.04,18.74,41.79,41.79,41.79,10.46,0,20.04-3.86,27.38-10.24v37.21c-4.46-3.08-10-4.92-16-4.92h-78.4s-.06,0-.1,0c-.15,0-.31.01-.46.02-.1.01-.19.02-.28.03-.13.01-.25.03-.39.06-.12.02-.24.04-.36.07-.1.02-.2.05-.29.07-.14.04-.28.08-.42.13-.03.01-.07.02-.1.03-.06.02-.1.04-.15.06-.14.05-.28.11-.41.17-.1.04-.18.08-.27.13-.12.06-.23.12-.34.18-.11.06-.21.12-.31.19-.09.06-.18.11-.27.18-.11.08-.22.16-.32.24-.07.06-.15.12-.22.18-.11.1-.22.19-.32.29-.06.06-.12.12-.19.19-.1.1-.19.2-.28.31-.07.07-.13.15-.19.23-.08.1-.16.2-.23.3-.07.1-.13.19-.19.28-.06.1-.12.19-.17.29-.06.11-.12.22-.18.33-.05.09-.09.19-.13.28-.06.12-.11.24-.15.36-.04.1-.07.2-.11.29-.04.12-.07.24-.11.36-.03.11-.06.23-.09.34-.02.11-.05.22-.07.32-.02.14-.05.27-.06.41-.01.09-.02.18-.03.27-.02.16-.02.32-.02.48,0,.05-.01.1-.01.15,0,.03,0,.06,0,.1,0,.15.01.31.02.47.01.09.02.18.03.27.01.13.03.26.06.39.02.12.04.24.07.35.02.1.05.2.08.3.03.14.07.28.12.42.01.03.02.07.03.1,5.47,15.47,14.52,29.81,26.19,41.47,20.96,20.96,48.82,32.5,78.46,32.5,17.49,0,34.23-3.96,49.76-11.76,14.8-7.43,27.98-18.31,38.13-31.45.1-.13.19-.27.28-.4,3.56-4.37,5.51-9.82,5.51-15.47\"\n}), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-1\",\n cx: 2585.89,\n cy: 148.78,\n r: 10.19\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2635.15,148.44c0-17.55-9.45-33.9-24.66-42.68-4.06-2.35-9.26-.95-11.6,3.11-2.35,4.06-.95,9.26,3.11,11.6,9.97,5.76,16.17,16.48,16.17,27.97s-6.28,22.37-16.39,28.1c-4.08,2.31-5.51,7.5-3.2,11.58,1.56,2.76,4.44,4.31,7.4,4.31,1.42,0,2.86-.36,4.18-1.11,15.42-8.74,25-25.17,25-42.88Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2569.79,177.1c-9.97-5.76-16.17-16.48-16.17-27.98s6.18-22.18,16.12-27.95c4.06-2.35,5.44-7.55,3.09-11.61s-7.55-5.44-11.61-3.09c-15.17,8.79-24.59,25.13-24.59,42.64s9.45,33.9,24.66,42.69c1.34.77,2.8,1.14,4.24,1.14,2.94,0,5.79-1.52,7.36-4.25,2.34-4.06.95-9.26-3.11-11.6Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2543.38,208.51c-.05-.04-.1-.09-.16-.12-19.35-13.72-30.9-36.05-30.9-59.74s12.06-47.03,32.27-60.68l.35-.24.33-.27c6.57-5.47,10.33-13.5,10.33-22.04,0-15.81-12.87-28.68-28.68-28.68-5.88,0-11.54,1.77-16.35,5.12-.02.01-.03.03-.05.04h0c-34.69,24.5-55.41,64.46-55.41,106.89,0,21.25,5.22,42.36,15.08,61.03,9.53,18.04,23.38,33.83,40.05,45.67.02.01.03.03.05.04,4.9,3.5,10.67,5.35,16.7,5.35,15.85,0,28.75-12.9,28.75-28.75,0-9.43-4.61-18.22-12.35-23.6Zm-16.4,35.37c-2.47,0-4.83-.75-6.83-2.18,0,0-.02-.01-.03-.02h0c-30.09-21.34-48.05-56.07-48.05-92.9s17.99-71.62,48.13-92.95c.01,0,.03-.02.04-.03,1.96-1.36,4.26-2.08,6.66-2.08,6.45,0,11.7,5.25,11.7,11.69,0,3.36-1.43,6.53-3.94,8.76-24.64,16.84-39.33,44.64-39.33,74.47s14.23,56.69,38.07,73.59c0,0,.02.01.03.02.04.03.08.06.12.09,3.25,2.2,5.19,5.85,5.19,9.76,0,6.49-5.28,11.76-11.76,11.76Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m2660.93,41.89h0s-.03-.02-.05-.03c-4.82-3.35-10.47-5.12-16.35-5.12-15.81,0-28.68,12.87-28.68,28.68,0,8.54,3.77,16.57,10.33,22.04l.33.27.35.24c20.2,13.65,32.27,36.33,32.27,60.68s-11.55,46.02-30.9,59.74c-.06.04-.11.09-.16.13-7.74,5.38-12.35,14.17-12.35,23.6,0,15.85,12.9,28.75,28.75,28.75,6.03,0,11.8-1.85,16.7-5.35.02-.01.03-.02.04-.04,16.67-11.84,30.52-27.63,40.06-45.67,9.87-18.67,15.08-39.78,15.08-61.03,0-42.42-20.71-82.39-55.41-106.89Zm-9.63,199.79h0s-.02.01-.02.02c-2,1.43-4.36,2.18-6.83,2.18-6.49,0-11.76-5.28-11.76-11.76,0-3.91,1.94-7.56,5.19-9.76.04-.03.08-.06.12-.09.01,0,.02-.01.04-.02,23.84-16.9,38.07-44.41,38.07-73.59s-14.69-57.63-39.33-74.47c-2.51-2.22-3.94-5.4-3.94-8.76,0-6.45,5.25-11.69,11.69-11.69,2.4,0,4.7.72,6.66,2.08.01,0,.03.02.04.03,30.14,21.34,48.13,56.08,48.13,92.95s-17.96,71.56-48.05,92.9Z\"\n})));\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_6\",\n \"data-name\": \"Layer 6\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_6-2\",\n \"data-name\": \"Layer 6-2\"\n}, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m184.81,177.46H54.01c4.78,27.56,23.15,42.62,51.07,42.62,19.47,0,37.47-6.62,51.81-19.84l23.15,33.07c-19.84,18.01-47.02,27.56-77.89,27.56C40.05,260.86,0,223.39,0,165.7c0-54.38,38.21-94.79,95.16-94.79s90.02,36.37,90.02,92.22c0,6.62,0,10.29-.37,14.33h0Zm-51.81-31.96c-1.47-22.04-15.43-35.63-37.47-35.63s-35.63,13.6-40.78,35.63h78.26,0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m259.04,257.18l-66.5-182.6h56.58l38.95,117.57c1.83,5.14,2.94,9.18,4.78,14.69,1.47-5.51,2.94-9.55,4.42-14.69l36.74-117.57h55.48l-66.5,182.6h-63.93Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m580.89,177.46h-130.8c4.78,27.56,23.15,42.62,51.07,42.62,19.47,0,37.47-6.62,51.81-19.84l23.15,33.07c-19.84,18.01-47.02,27.56-77.89,27.56-62.09,0-102.14-37.47-102.14-95.16,0-54.38,38.21-94.79,95.16-94.79s90.02,36.37,90.02,92.22c0,6.62,0,10.29-.37,14.33h0Zm-51.81-31.96c-1.47-22.04-15.43-35.63-37.47-35.63s-35.63,13.6-40.78,35.63h78.26,0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m613.94,257.18V74.59h49.23v34.17c8.45-21.31,24.98-36.01,51.43-36.01,7.35,0,12.86.74,17.27,1.47v48.86c-6.98-2.94-15.06-3.67-23.15-3.67-28.29,0-41.51,18.01-41.51,39.67v98.1h-53.27Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m775.98,257.18V116.47h-26.82v-41.88h14.33c9.56,0,12.49-3.31,12.49-13.97v-4.41c0-32.7,24.98-56.22,69.07-56.22,14.33,0,24.61,2.2,36.37,6.62l-11.02,39.31c-5.51-3.67-13.22-5.88-20.2-5.88-15.43,0-24.25,8.08-24.25,23.52v11.02h48.5v41.88h-45.56v140.71h-52.91,0Zm119.78,0V3.67h53.27v253.51h-53.27Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m981.73,165.7c0-53.64,41.51-94.79,98.83-94.79s99.2,41.15,99.2,94.79-41.51,95.16-99.2,95.16-98.83-41.15-98.83-95.16Zm144.76,0c0-29.76-19.11-50.7-45.92-50.7s-45.56,20.95-45.56,50.7,19.11,51.07,45.56,51.07,45.92-20.95,45.92-51.07Z\"\n}), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m1188.58,74.59h54.74l27.56,117.57c1.1,5.14,1.83,9.55,3.31,14.69,1.1-5.14,1.83-9.55,3.3-14.69l30.87-117.57h57.69l31.6,117.57c1.47,5.14,2.58,9.55,3.67,14.69l2.94-14.69,26.82-117.57h54.74l-52.54,182.6h-63.56l-29.03-112.05c-1.47-5.14-2.21-9.18-3.31-14.33l-3.31,14.33-29.03,112.05h-63.56l-52.91-182.6h.02Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m1507.86,62.46c0-35.63,27.92-62.46,63.93-62.46s63.56,27.19,63.56,62.82-27.56,62.46-63.56,62.46-63.93-27.19-63.93-62.83h0Zm111.33.38c0-27.56-19.47-47.4-47.39-47.4s-47.76,19.85-47.76,47.4,20.2,47.4,47.76,47.4,47.39-20.2,47.39-47.4Zm-73.48,29.76V29.03h28.66c15.81,0,25.35,8.45,25.35,20.95,0,8.45-5.51,15.43-14.69,18.01,1.47.74,2.58,2.58,3.67,4.42l12.86,20.2h-18.01l-11.39-18.37c-1.47-2.21-2.2-2.21-4.41-2.21h-6.25v20.57h-15.8Zm15.81-34.17h11.76c6.61,0,10.29-2.58,10.29-8.08,0-5.14-4.04-7.72-10.29-7.72h-11.76v15.8Z\"\n})))));\nvar SvgLogo = function SvgLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n viewBox: \"0 0 2716.34 260.87\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo.f5e51fde.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {ReactComponent as Logo} from '../svgs/logo.svg'\r\n\r\nconst LoginWrapper = ({noLink, children}) => (\r\n \r\n
{noLink ? : }
\r\n
\r\n {children}\r\n
\r\n
\r\n \r\n
\r\n © Everflow 2023\r\n
\r\n
\r\n \r\n)\r\n\r\nexport default LoginWrapper;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1,0,0,1,4,10)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"bars-light\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"M13.813,1.5L0.188,1.5C0.084,1.5 0,1.388 0,1.25L0,0.25C-0,0.112 0.084,0 0.188,0L13.813,0C13.916,0 14,0.112 14,0.25L14,1.25C14,1.388 13.916,1.5 13.813,1.5Z\"\n}))));\nvar SvgDashPass = function SvgDashPass(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 22 22\",\n style: {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n strokeLinejoin: \"round\",\n strokeMiterlimit: 2\n },\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDashPass, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/dash-pass.6fd5d5bd.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useState } from 'react';\r\nimport InputButton from '../../../Shared/FormComponents/InputButton';\r\nimport InputText from '../../../Shared/FormComponents/InputText';\r\nimport {ReactComponent as Cross} from '../../../Shared/svgs/cross.svg'\r\nimport {ReactComponent as Tick} from '../../../Shared/svgs/tick.svg'\r\nimport {ReactComponent as Dash} from '../../../Shared/svgs/dash-pass.svg'\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport queryString from 'query-string';\r\nimport { confirmAccount } from '../../../../lib/api/user';\r\n\r\n\r\n\r\nconst CreatePass = () => {\r\n\r\n const location = useLocation()\r\n const history = useHistory();\r\n\r\n\r\n const [password, setPassword] = useState();\r\n const [password2, setPassword2] = useState();\r\n const [passTouch, setPassTouch] = useState(false);\r\n const [pass2Touch, setPass2Touch] = useState(false);\r\n const [formStatus, setFormStatus] = useState();\r\n const [loading, setLoading] = useState();\r\n\r\n const searchParams = location.search ? (function(){\r\n // compensate for base64 being url encoded, and expected back as url encoded\r\n // all broswer functions to get query params url decode by default\r\n\r\n var temp = location.search.indexOf('?') == 0 ? location.search.substring(1) : location.search;\r\n temp = temp.split('&');\r\n const data = {};\r\n temp.map(i => {\r\n if(i.indexOf('accountNumber') == 0) data.accountNumber = i.replace('accountNumber=', '');\r\n if(i.indexOf('confirmToken') == 0) data.confirmToken = i.replace('confirmToken=', '');\r\n })\r\n\r\n return data;\r\n\r\n })() : {};\r\n\r\n const {accountNumber, confirmToken} = searchParams;\r\n\r\n console.log('confirm password params', searchParams)\r\n\r\n const check = (() => {\r\n\r\n const pass = password ? password : ''\r\n const checks = {\r\n minLength: pass.length >= 8,\r\n digit: !!pass.match(/\\d+/),\r\n upper: !!pass.match(/[A-Z]+/),\r\n lower: !!pass.match(/[a-z]+/),\r\n special: !!pass.match(/[!\"£$%^&*\\(\\)_\\-=+'@\\#]+/)\r\n };\r\n\r\n checks.all = !Object.keys(checks).find(i => !checks[i])\r\n\r\n return checks;\r\n })()\r\n\r\n const doConfirm = () => {\r\n setPassTouch(true)\r\n setPass2Touch(true)\r\n\r\n if(!check.all) return;\r\n const data = {\r\n password: password,\r\n accountNumber,\r\n confirmToken\r\n }\r\n\r\n if(!password || !password2 || password !== password2) return;\r\n\r\n if(!accountNumber || !confirmToken) return setFormStatus('Invalid confirmation link.');\r\n\r\n setLoading(true);\r\n\r\n confirmAccount(data)\r\n .then(resp => {\r\n setLoading(false)\r\n setFormStatus('Account Setup Complete')\r\n setTimeout(()=>{\r\n history.push('/login');\r\n }, 2000)\r\n })\r\n .catch(err => {\r\n setLoading(false)\r\n setFormStatus(err.message)\r\n })\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n

Create your password

\r\n \r\n
\r\n {formStatus ? (\r\n
{formStatus}
\r\n ) : null}\r\n setPassword(ev.target.value)}\r\n tick={check.all}\r\n error={passTouch && !check.all ? 'Please check password requirements' : false}\r\n onBlur={()=>setPassTouch(true)}\r\n />\r\n setPassword2(ev.target.value)}\r\n tick={password2 && password2 == password}\r\n onBlur={()=>setPass2Touch(true)}\r\n />\r\n
\r\n
Password requirements:
\r\n
    \r\n
  • Minimum length of 8 characters
  • \r\n
  • Contains a digit
  • \r\n
  • Contains an uppercase character
  • \r\n
  • Contains a lowercase character
  • \r\n
  • Contains a special character
  • \r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst TickWrapper = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst CrossWrapper = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst DashWrapper = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst Icon = ({tick, dash}) => {\r\n if(dash && !tick) return \r\n if(tick) return \r\n return \r\n}\r\n\r\nexport default CreatePass","import React, { useCallback, useState } from 'react';\r\nimport InputButton from '../../../Shared/FormComponents/InputButton';\r\nimport InputText from '../../../Shared/FormComponents/InputText';\r\nimport {ReactComponent as Cross} from '../../../Shared/svgs/cross.svg'\r\nimport {ReactComponent as Tick} from '../../../Shared/svgs/tick.svg'\r\nimport {ReactComponent as Dash} from '../../../Shared/svgs/dash-pass.svg'\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport queryString from 'query-string';\r\nimport { forgotConfirmPassword } from '../../../../lib/api/user';\r\n\r\n\r\n\r\nconst ResetPass = () => {\r\n\r\n const location = useLocation()\r\n const history = useHistory();\r\n\r\n const [password, setPassword] = useState();\r\n const [password2, setPassword2] = useState();\r\n const [passTouch, setPassTouch] = useState(false);\r\n const [pass2Touch, setPass2Touch] = useState(false);\r\n const [formStatus, setFormStatus] = useState();\r\n const [loading, setLoading] = useState();\r\n\r\n const searchParams = location.search ? (function(){\r\n // compensate for base64 being url encoded, and expected back as url encoded\r\n // all broswer functions to get query params url decode by default\r\n\r\n var temp = location.search.indexOf('?') == 0 ? location.search.substring(1) : location.search;\r\n temp = temp.split('&');\r\n const data = {};\r\n temp.map(i => {\r\n if(i.indexOf('accountNumber') == 0) data.accountNumber = i.replace('accountNumber=', '');\r\n if(i.indexOf('passwordToken') == 0) data.passwordToken = i.replace('passwordToken=', '');\r\n })\r\n\r\n return data;\r\n\r\n })() : {};\r\n\r\n const {accountNumber, passwordToken} = searchParams;\r\n\r\n console.log('confirm password params', searchParams)\r\n\r\n const check = (() => {\r\n\r\n const pass = password ? password : ''\r\n const checks = {\r\n minLength: pass.length >= 8,\r\n digit: !!pass.match(/\\d+/),\r\n upper: !!pass.match(/[A-Z]+/),\r\n lower: !!pass.match(/[a-z]+/),\r\n special: !!pass.match(/[!\"£$%^&*\\(\\)_\\-=+'@\\#]+/)\r\n };\r\n\r\n checks.all = !Object.keys(checks).find(i => !checks[i])\r\n\r\n return checks;\r\n })()\r\n\r\n const doConfirm = () => {\r\n setPassTouch(true)\r\n setPass2Touch(true)\r\n\r\n if(!check.all) return;\r\n const data = {\r\n password,\r\n accountNumber,\r\n passwordToken\r\n }\r\n\r\n if(!password || !password2 || password !== password2) return;\r\n\r\n if(!accountNumber || !passwordToken) return setFormStatus('Invalid confirm link.');\r\n\r\n setLoading(true);\r\n\r\n forgotConfirmPassword(data)\r\n .then(resp => {\r\n setLoading(false)\r\n setFormStatus('Password reset successfully')\r\n setTimeout(()=>{\r\n history.push('/login');\r\n }, 2000)\r\n })\r\n .catch(err => {\r\n setLoading(false)\r\n setFormStatus(err.formStatus)\r\n })\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n

Reset your password

\r\n \r\n
\r\n {formStatus ? (\r\n
{formStatus}
\r\n ) : null}\r\n setPassword(ev.target.value)}\r\n tick={check.all}\r\n error={passTouch && !check.all ? 'Please check password requirements' : false}\r\n onBlur={()=>setPassTouch(true)}\r\n />\r\n setPassword2(ev.target.value)}\r\n tick={password2 && password2 == password}\r\n onBlur={()=>setPass2Touch(true)}\r\n />\r\n
\r\n
Password requirements:
\r\n
    \r\n
  • Minimum length of 8 characters
  • \r\n
  • Contains a digit
  • \r\n
  • Contains an uppercase character
  • \r\n
  • Contains a lowercase character
  • \r\n
  • Contains a special character
  • \r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst TickWrapper = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst CrossWrapper = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst DashWrapper = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst Icon = ({tick, dash}) => {\r\n if(dash && !tick) return \r\n if(tick) return \r\n return \r\n}\r\n\r\nexport default ResetPass","import React, { useState } from 'react';\r\nimport InputButton from '../../../Shared/FormComponents/InputButton';\r\nimport InputText from '../../../Shared/FormComponents/InputText';\r\nimport { forgotPassword } from '../../../../lib/api/user';\r\nimport {stripUsernameChars} from '../../../Shared/StringManipulation';\r\nimport Form from '../../../Shared/Form';\r\nimport * as Yup from 'yup';\r\nimport { Link, useHistory } from 'react-router-dom';\r\n\r\nconst LoginBox = () => { \r\n\r\n const [loading, setLoading] = useState();\r\n const [success, setSuccess] = useState();\r\n const history = useHistory()\r\n \r\n const resetPass = ({account}, {setStatus, setErrors}) => {\r\n console.log('running resetPass function for account:' + account);\r\n setLoading(true);\r\n forgotPassword(account.trim())\r\n .then(resp => {\r\n console.log('success', resp);\r\n setLoading(false);\r\n setSuccess(true);\r\n setTimeout(() => {\r\n history.push('/login/forgot/check-email');\r\n }, 1000)\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err)\r\n setLoading(false);\r\n setErrors({ account: 'Unable to issue password reset.' });\r\n })\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Forgotten your password?

\r\n

No worries! Simply submit your account number to reset it

\r\n \r\n {({values, handleChange, setFieldValue, errors, touched, handleBlur, handleSubmit}) => {\r\n return(\r\n <>\r\n stripUsernameChars(ev.target.value, val => setFieldValue('account', val))}\r\n onBlur={handleBlur}\r\n tick={success}\r\n />\r\n \r\n \r\n ) \r\n }}\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n Return to Login\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst forgotSchema = Yup.object().shape({\r\n account: Yup.string().required('Please enter your account number')\r\n})\r\n\r\nexport default LoginBox","import React from 'react';\r\nimport InputButton from '../../Shared/FormComponents/InputButton';\r\nimport {ReactComponent as Cross} from '../../Shared/svgs/cross.svg'\r\nimport { Link, useHistory } from 'react-router-dom';\r\n\r\n\r\nconst CheckContactEmail = ({crossLink, title, buttonText, buttonLink, children}) => {\r\n const history = useHistory();\r\n\r\n\r\n return (\r\n
\r\n {crossLink ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n

{title}

\r\n

{children}

\r\n {buttonLink ? (\r\n
\r\n history.push(buttonLink)}\r\n label={buttonText}\r\n fitWidth\r\n className=\"m-auto\"\r\n />\r\n
\r\n ) : null}\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default CheckContactEmail;","import React, {useEffect} from 'react';\r\nimport { Switch, useHistory, useRouteMatch } from \"react-router-dom\";\r\n\r\nfunction NotFoundPage({ CustomNotFoundPage }) {\r\n const history = useHistory();\r\n useEffect(() => {\r\n history.push(\"/404\");\r\n }, []);\r\n return null;\r\n}\r\n\r\n\r\n\r\n\r\nfunction CustomSwitch({location, key, children}) {\r\n return (\r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CustomSwitch;","import React, {useState} from 'react';\r\nimport LoginBox from './LoginBox';\r\nimport LoginWrapper from '../../Shared/LoginWrapper';\r\nimport {\r\n useLocation\r\n } from \"react-router-dom\";\r\n\r\nimport { Route } from 'react-router';\r\nimport CreatePassBox from '../CreatePass/CreatePassBox';\r\nimport ResetPassConfirm from './ResetPasswordConfirm'\r\nimport ForgotForm from '../ForgotPassword/ForgotForm'\r\nimport CheckContactEmail from '../CheckContactEmail';\r\nimport CustomSwitch from '../../Shared/RouteSwitch'\r\n\r\nconst Login = () => {\r\n\r\n const location = useLocation();\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n We’ve sent you an email with a link to reset your password.
Please check the inbox of the contact email linked to your account. \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n We’ve sent you an email with a link to set your password.
Please check the inbox of the contact email linked to your account.\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport default Login;","function Log(path, content)\r\n{\r\n const controller = new AbortController();\r\n const signal = controller.signal;\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({ logContent: content })\r\n };\r\n\r\n const sendData = async (path, requestOptions, signal) =>\r\n {\r\n await fetch(path, requestOptions, { signal: signal })\r\n .then(response =>\r\n {\r\n if (!response.ok)\r\n {\r\n throw new Error(\"Failed to generate log\");\r\n }\r\n });\r\n }\r\n\r\n sendData(path, requestOptions, signal)\r\n .catch(error =>\r\n {\r\n if (error.name === 'AbortError')\r\n {\r\n WarningLog('Aborted Action: Generating Log');\r\n }\r\n else\r\n {\r\n WarningLog(\"Error Generating Log:\", error);\r\n }\r\n });\r\n\r\n return;\r\n}\r\n\r\nexport function VerboseLog(content)\r\n{\r\n return Log(`/api/ServerLogging/log-verbose`, content);\r\n};\r\n\r\nexport function DebugLog(content)\r\n{\r\n return Log(`/api/ServerLogging/log-debug`, content);\r\n};\r\n\r\nexport function InformationLog(content)\r\n{\r\n return Log(`/api/ServerLogging/log-information`, content);\r\n};\r\n\r\nexport function WarningLog(content)\r\n{\r\n return Log(`/api/ServerLogging/log-warning`, content);\r\n};\r\n\r\nexport function ErrorLog(content)\r\n{\r\n return Log(`/api/ServerLogging/log-error`, content);\r\n};\r\n\r\nexport function FatalLog(content)\r\n{\r\n return Log(`/api/ServerLogging/log-fatal`, content);\r\n};\r\n\r\nexport default InformationLog;","import { InformationLog } from '../../components/Shared/ServerLogging';\r\nimport { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router\"\r\n\r\nexport const useLogin = () =>\r\n{\r\n const [loggedIn, setLoggedIn] = useState({})\r\n const [init, setInit] = useState();\r\n const history = useHistory();\r\n const path = history.location.pathname\r\n\r\n useEffect(() =>{\r\n var data = localStorage.getItem('account');\r\n try {\r\n data = JSON.parse(data);\r\n if(!data) data = {};\r\n }catch(err){\r\n data = {}\r\n }\r\n\r\n setLoggedIn(data);\r\n setInit(true)\r\n }, [path])\r\n\r\n return {loading: init ? false : true, account: loggedIn};\r\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar SvgBrandInstagram = function SvgBrandInstagram(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 35 35\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5038 8.52644C12.6797 8.52644 8.78857 12.5329 8.78857 17.5C8.78857 22.4671 12.6797 26.4736 17.5038 26.4736C22.3279 26.4736 26.219 22.4671 26.219 17.5C26.219 12.5329 22.3279 8.52644 17.5038 8.52644ZM17.5038 23.334C14.3863 23.334 11.8378 20.7177 11.8378 17.5C11.8378 14.2823 14.3788 11.666 17.5038 11.666C20.6288 11.666 23.1698 14.2823 23.1698 17.5C23.1698 20.7177 20.6212 23.334 17.5038 23.334V23.334ZM28.6083 8.15938C28.6083 9.32305 27.6981 10.2524 26.5755 10.2524C25.4453 10.2524 24.5427 9.31524 24.5427 8.15938C24.5427 7.00351 25.4529 6.06633 26.5755 6.06633C27.6981 6.06633 28.6083 7.00351 28.6083 8.15938ZM34.3805 10.2837C34.2516 7.47992 33.6296 4.99637 31.6347 2.95018C29.6475 0.903994 27.2354 0.263584 24.5124 0.123006C21.7059 -0.0410019 13.2941 -0.0410019 10.4876 0.123006C7.77217 0.255774 5.36012 0.896184 3.36525 2.94237C1.37039 4.98856 0.755996 7.47211 0.619465 10.2759C0.460178 13.1655 0.460178 21.8267 0.619465 24.7163C0.74841 27.5201 1.37039 30.0036 3.36525 32.0498C5.36012 34.096 7.76458 34.7364 10.4876 34.877C13.2941 35.041 21.7059 35.041 24.5124 34.877C27.2354 34.7442 29.6475 34.1038 31.6347 32.0498C33.622 30.0036 34.244 27.5201 34.3805 24.7163C34.5398 21.8267 34.5398 13.1733 34.3805 10.2837V10.2837ZM30.7549 27.8169C30.1632 29.3476 29.0179 30.5269 27.5236 31.1439C25.2861 32.0576 19.9765 31.8468 17.5038 31.8468C15.0311 31.8468 9.71394 32.0498 7.48394 31.1439C5.99727 30.5347 4.85192 29.3554 4.25271 27.8169C3.36525 25.5129 3.57005 20.046 3.57005 17.5C3.57005 14.954 3.37284 9.47925 4.25271 7.18314C4.84434 5.6524 5.98968 4.47311 7.48394 3.85613C9.72153 2.94237 15.0311 3.15324 17.5038 3.15324C19.9765 3.15324 25.2936 2.95018 27.5236 3.85613C29.0103 4.4653 30.1557 5.64459 30.7549 7.18314C31.6423 9.48706 31.4375 14.954 31.4375 17.5C31.4375 20.046 31.6423 25.5208 30.7549 27.8169Z\",\n style: {\n fill: \"currentcolor\"\n }\n }));\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBrandInstagram, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/brand-instagram.e1976ff2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar SvgBrandFacebook = function SvgBrandFacebook(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 22 39\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.1238 21.9375L21.2128 14.8794H14.404V10.2992C14.404 8.36824 15.3552 6.48604 18.4046 6.48604H21.5V0.476836C21.5 0.476836 18.691 0 16.0053 0C10.3981 0 6.73292 3.38051 6.73292 9.50016V14.8794H0.5V21.9375H6.73292V39H14.404V21.9375H20.1238Z\",\n style: {\n fill: \"currentcolor\"\n }\n }));\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBrandFacebook, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/brand-facebook.7e6e0d0d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar SvgBrandX = function SvgBrandX(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\",\n style: {\n fill: \"currentcolor\"\n }\n }));\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBrandX, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/brand-x.a13715cf.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar SvgBrandLinkedin = function SvgBrandLinkedin(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 35 35\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.11054 35H1.06161V11.6323H8.11054V35ZM4.58228 8.44472C2.32826 8.44472 0.5 6.5228 0.5 4.20244C0.5 3.08788 0.930096 2.01898 1.69567 1.23087C2.46125 0.442755 3.49959 0 4.58228 0C5.66496 0 6.70331 0.442755 7.46888 1.23087C8.23446 2.01898 8.66455 3.08788 8.66455 4.20244C8.66455 6.5228 6.83554 8.44472 4.58228 8.44472ZM34.4924 35H27.4587V23.6247C27.4587 20.9137 27.4055 17.4371 23.7938 17.4371C20.1289 17.4371 19.5673 20.3825 19.5673 23.4294V35H12.526V11.6323H19.2865V14.8199H19.3852C20.3263 12.9839 22.625 11.0463 26.0546 11.0463C33.1886 11.0463 34.5 15.8824 34.5 22.1638V35H34.4924Z\",\n style: {\n fill: \"currentcolor\"\n }\n }));\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBrandLinkedin, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/brand-linkedin.89249153.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .cls-1 {\\r\\n fill: #fff;\\r\\n }\\r\\n \"));\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m54.95,3.83C42.02-2.53,26.04-.89,14.76,8.14,3.03,17.53-2.64,33.24,1.18,47.92c1.55,5.93,4.46,11.31,8.48,15.81.08.15.18.29.3.42,1.11,1.18,2.29,2.28,3.53,3.32.25.21.51.42.77.63.02.02.04.04.07.05.19.15.37.3.56.45,2.13,1.64,4.44,3.02,6.87,4.14,2.24,1.05,4.58,1.88,7.01,2.46,0,0,0,0,.01,0,.06.02.13.03.19.04.41.1.82.19,1.23.27.04,0,.08.01.12.02.03,0,.06.01.09.02.01,0,.03,0,.04,0,.38.07.79.14,1.23.21.04,0,.07.02.09.02,2.05.39,4.22.48,6.32.44.1,0,.2,0,.3,0,.32,0,.64-.01.96-.03.06,0,.12,0,.19-.01.29-.01.59-.04.88-.06.26-.02.52-.04.77-.06.24-.02.47-.05.7-.08.33-.04.66-.08.99-.12.02,0,.05,0,.07,0,.03,0,.06-.01.09-.02,1.81-.27,3.58-.67,5.32-1.19.21-.06.42-.12.63-.19.66-.21,1.32-.45,1.97-.7.37-.14.74-.28,1.1-.44.57-.24,1.13-.49,1.69-.76.18-.08.36-.15.54-.24,1.75-.87,3.42-1.87,5.01-2.98.04-.03.07-.05.11-.08.4-.28.79-.56,1.18-.86.14-.1.27-.21.41-.32.28-.22.56-.44.84-.66.4-.33.79-.66,1.18-1.01,0,0,.02-.01.02-.02.06-.05.12-.1.18-.16,6.42-5.78,10.61-13.73,12.08-22.21.35-2.03.52-4.08.53-6.14-.07-14.26-7.98-27.7-20.89-34.04Zm9.36,53.55c-4.47-6.19-10.96-10.73-18.48-12.55-8.84-2.15-18.45-.32-25.93,4.83-3.05,2.1-5.72,4.72-7.92,7.69-1.65-2.17-3.03-4.55-4.11-7.08-2.66-6.27-3.23-13.62-1.68-19.99.77-3.19,1.75-5.65,3.28-8.34.35-.62.72-1.22,1.11-1.82.21-.32.42-.64.64-.95.09-.13.19-.27.28-.4.02-.03.03-.04.04-.06.05-.07.11-.14.16-.21.93-1.2,1.94-2.35,3.01-3.43,4.11-4.11,9.44-7.08,15.36-8.51,5.97-1.45,12.51-1.01,18.38.99,11.43,3.9,19.96,14.36,21.71,26.28.23,1.55.33,2.92.34,4.45-.04,6.86-2.14,13.64-6.2,19.09Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m43.67,12.11c-4.98-2.17-10.55-1.11-14.57,2.48-4.23,3.76-5.64,9.97-3.71,15.24.98,2.67,2.94,4.99,5.35,6.49,1.14.71,2.44,1.23,3.74,1.55.37.09.71.12,1.08.16.08.02.67.12.73.13.85.07,1.71.1,2.56.01,6.96-.72,12.37-6.84,12.48-13.79-.07-5.17-2.8-10.14-7.66-12.27Z\"\n})));\nvar SvgPerson = function SvgPerson(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n viewBox: \"0 0 75.84 76.23\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPerson, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/person.b1634ef7.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .cls-1 {\\r\\n fill: #fff;\\r\\n }\\r\\n\\r\\n .cls-2 {\\r\\n fill: #ff0082;\\r\\n }\\r\\n \"));\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m54.95,3.83C42.02-2.53,26.04-.89,14.76,8.14,3.03,17.53-2.64,33.24,1.18,47.92c2.15,8.26,6.96,15.46,13.71,20.67,3.34,2.58,7.12,4.49,11.12,5.82.91.3,1.84.56,2.77.79.54.13,1.08.26,1.62.35.31.05.63.06.94.1-.04.01.32.11.42.13,2.46.47,5.09.51,7.58.4,8.87-.39,17.3-4.04,23.88-9.96,6.42-5.78,10.61-13.73,12.08-22.21.35-2.03.52-4.08.53-6.14-.07-14.26-7.98-27.7-20.89-34.04Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m33.42,45.14l.11-8.32c3.58-.26,6.2-.93,7.84-2.01,1.64-1.08,2.46-2.61,2.46-4.61,0-1.51-.59-2.75-1.78-3.74-1.19-.98-2.71-1.47-4.56-1.47s-3.43.42-4.75,1.24c-1.32.83-2.47,2-3.45,3.51l-5.66-4.64c1.09-1.51,2.36-2.79,3.79-3.85,1.43-1.06,3.05-1.86,4.84-2.41,1.79-.55,3.74-.82,5.86-.82,2.75,0,5.18.49,7.27,1.47,2.09.98,3.75,2.32,4.98,4.02s1.84,3.64,1.84,5.83c0,1.89-.42,3.61-1.24,5.18-.83,1.57-2.03,2.87-3.59,3.91-1.57,1.04-3.48,1.73-5.74,2.06v4.64h-8.21Zm4.19,13.07c-1.43,0-2.66-.47-3.68-1.41-1.02-.94-1.53-2.13-1.53-3.57,0-1.36.51-2.51,1.53-3.45,1.02-.94,2.24-1.41,3.68-1.41s2.71.47,3.71,1.41c1,.94,1.5,2.09,1.5,3.45,0,1.43-.5,2.62-1.5,3.57-1,.94-2.24,1.41-3.71,1.41Z\"\n}));\nvar SvgQuestionMark = function SvgQuestionMark(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n viewBox: \"0 0 75.84 76.23\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgQuestionMark, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/question-mark.b099b65c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .cls-1 {\\r\\n fill: #fff;\\r\\n }\\r\\n\\r\\n .cls-2 {\\r\\n fill: #ff0082;\\r\\n }\\r\\n \"));\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m54.95,3.83C42.02-2.53,26.04-.89,14.76,8.14,3.03,17.53-2.64,33.24,1.18,47.92c2.15,8.26,6.96,15.46,13.71,20.67,3.34,2.58,7.12,4.49,11.12,5.82.91.3,1.84.56,2.77.79.54.13,1.08.26,1.62.35.31.05.63.06.94.1-.04.01.32.11.42.13,2.46.47,5.09.51,7.58.4,8.87-.39,17.3-4.04,23.88-9.96,6.42-5.78,10.61-13.73,12.08-22.21.35-2.03.52-4.08.53-6.14-.07-14.26-7.98-27.7-20.89-34.04Z\"\n}), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m44.33,47.89v4.71h-20.8v-30.54h20.8v5.84c0,2.33,3.2,1.82,3.2-.25v-7.44c0-.91-.53-1.61-1.49-1.61h-24c-.88,0-1.71,1.03-1.71,1.86v34c0,.91.53,1.61,1.49,1.61h24c.88,0,1.71-1.03,1.71-1.86v-6.57c0-2.33-3.2-1.82-3.2.25Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m60.17,37.79c.22-.58.2-1.25-.23-1.75-2.43-2.83-4.86-5.67-7.3-8.5-1.36-1.59-3.71,1.12-2.44,2.6l4.69,5.47h-20.86c-1.94,0-2.41,3.46-.22,3.46h21.3c-1.58,1.77-3.15,3.54-4.73,5.31-.58.65-.82,1.75-.18,2.45.61.68,1.69.49,2.26-.15,2.35-2.64,4.7-5.28,7.04-7.91.32-.24.54-.59.67-.98Z\"\n})));\nvar SvgExport = function SvgExport(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n viewBox: \"0 0 75.84 76.23\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgExport, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/export.4f87d0c9.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useState } from 'react';\r\nimport { ReactComponent as Logo } from '../../Shared/svgs/logo.svg'\r\nimport { ReactComponent as SocialInstaIcon } from '../../Shared/svgs/brand-instagram.svg';\r\nimport { ReactComponent as SocialFbIcon } from '../../Shared/svgs/brand-facebook.svg';\r\nimport { ReactComponent as SocialXIcon } from '../../Shared/svgs/brand-x.svg';\r\nimport { ReactComponent as SocialLnkdInIcon } from '../../Shared/svgs/brand-linkedin.svg';\r\nimport { ReactComponent as Person } from '../../Shared/svgs/person.svg'\r\nimport { ReactComponent as QuestionMark } from '../../Shared/svgs/question-mark.svg'\r\nimport { ReactComponent as LogOut } from '../../Shared/svgs/export.svg'\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport { logout } from '../../../lib/api/user'\r\nimport { useHistory } from \"react-router\";\r\nimport { useLogin } from '../../../lib/hooks/useLogin';\r\n\r\nconst DashboardWrapper = ({ children, helpLink }) => {\r\n const loggedIn = useLogin();\r\n const [mobileExpanded, setMobileExpanded] = useState(false);\r\n\r\n const user = loggedIn && loggedIn.account && loggedIn.account.token;\r\n\r\n const history = useHistory()\r\n const logoutUser = useCallback(()=>{\r\n logout().then(()=>{\r\n if (window?.mixpanel?.track) {\r\n window.mixpanel.track(\"User Logged Out\")\r\n }\r\n history.push('/login');\r\n })\r\n }, [history])\r\n\r\n const onNavigate = () => {\r\n if (mobileExpanded) {\r\n setMobileExpanded(false)\r\n }\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default DashboardWrapper\r\n","import React, { useState, useEffect } from 'react'\r\nimport { getCrossSellMessage } from '../../lib/api/cross-sell'\r\n\r\nconst CrossSellBanner = ({ dismissed, setDismissed }) => {\r\n const [message, setMessage] = useState()\r\n const html = window.document.getElementsByTagName(\"html\")[0]\r\n\r\n const onDismiss = () => {\r\n html.classList.remove('overflow-y-hidden')\r\n window.sessionStorage.setItem('CrossSellBannerDismissed', true)\r\n setDismissed(true)\r\n }\r\n\r\n useEffect(() => {\r\n const dismissedSession = window.sessionStorage.getItem('CrossSellBannerDismissed')\r\n if (dismissedSession) {\r\n onDismiss()\r\n } else {\r\n try {\r\n getCrossSellMessage().then((res) => {\r\n const message = res.data.message\r\n\r\n if (message && message !== null && message !== \"null\") {\r\n html.classList.add('overflow-y-hidden')\r\n setMessage({ __html: message })\r\n } else {\r\n onDismiss()\r\n }\r\n })\r\n } catch (err) {\r\n console.log(err)\r\n onDismiss()\r\n }\r\n \r\n }\r\n }, [])\r\n\r\n if (dismissed || (!message || message == null || message == \"null\")) {\r\n return null\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n

Important message

\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default CrossSellBanner\r\n","import WebAPI from \"./api-calls\";\r\nimport { rateHandler } from './rate-handler';\r\n\r\nexport const getCrossSellMessage = () => {\r\n const task = async (res, rej) => {\r\n\r\n const webApi = new WebAPI();\r\n await webApi.getFromWebApiWithAccessTokenAsync('/api/messaging/customer-portal-message')\r\n .then(resp => {\r\n console.log(resp)\r\n if (!resp) {\r\n return res({ success: false });\r\n }\r\n return res({ success: true, data: resp.data })\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n });\r\n }\r\n return rateHandler(task);\r\n}","import React from 'react';\r\n\r\nconst WhiteButton = ({ id, children, selected, onClick }) =>\r\n{\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n\r\nexport default WhiteButton","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null);\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M124.47,45.36c-.33-5.72-8.32-6.59-7.06.07,1.55,5.47-.85,11-3,16a3.71,3.71,0,0,0,.81,4.92C122.36,69.8,126,50,124.47,45.36Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M134.35,51.82a3.38,3.38,0,0,0-3.83-3.31c-2.92.19-2.73,3.87-3,6.12,1,5.53-8.51,13.39-2.22,14.17C133.5,68.59,134.36,58.73,134.35,51.82Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M101.05,35.85c-.53.19-1,.42-1.55.63,5.43-7-3.88-17.37-10.76-10.82,2.13-5.29-3.86-10.39-9-8.61-4.49,1.16-7.38,5.31-10.26,8.68-3.91-10-15.64-2.72-19.3,3.61C44.42,36.87,40.7,46.86,36.37,54.9,29.92,67.57,18.25,83.81,24,98.46,15.78,112.17,7.08,125.71.48,140.57c-2.08,3.74,3.12,7.09,5.69,4.07,6.77-14.18,15.1-28,23.11-41.51,6.67-3.15-3.16-8.26,1-18.66,3.06-11.3,9.82-21.25,15-31.9C49.3,45,54.44,30.24,62.75,27.74c.57.48,0,1-.3,1.68-1,1.71-1.92,3.46-2.84,5.2C56.09,41,52.54,47.48,49,53.81A3.84,3.84,0,0,0,54.43,59c6.72-6.73,10.88-15.63,16.43-23.28,3.28-4.53,5.9-10,11.34-12.31C77.83,34.12,69.37,43.6,63.67,53.91c-2.11,3-7.51,9.7-.57,10.87,4.87-.76,5-5.5,8-8.39,8.1-8.39,13.61-18.78,22.63-25.9,1.64,3.1-7.18,11.92-8.82,15.39-4.18,6.29-9.63,13.29-13.65,20.2-1.52,3.65,3.61,6.79,6.23,3.7,8.88-8.73,15.61-19.33,25-27.31.84,4.8-4.64,8-6.85,11.78-6.33,8.4-14,15.85-19.8,24.63-4.08-8.44-14.14-13.07-22.11-15.95-2.75-.85-7.34-5-9.17-.89-1.67,5.18,5.68,6.65,9.07,8.14,4.32,1.5,8.55,4.49,12.43,7-7.22-2.46-11.31,5.47-3.91,6.35-4.48,2-18.52,10.3-11.37,15.75,7.12-.53,8.51-11.65,23.28-10.63,6.74,1.24,15.3-6.21,20.68-.11-1.7,3.37-7.6,1-10.42,3.35-8,5.27-13.77,11.1-22.87,15.42a9.19,9.19,0,0,1-6.68.53c-3.39-1.1-7.38.73-6.32,4.48-6.95,14-14.2,28-19.08,42.89-.54,3.38,4.77,5.3,6.37,2.15C41.71,142.91,48.1,128.9,54.94,115,68.5,116.59,77.86,102.76,89,97.58c22-.79,12.4-23.56-5.63-17.47C89,72.24,95.73,65.77,101.43,58c3.11-4.3,7.86-8.13,8.14-13.92C110,39.82,106,33.75,101.05,35.85ZM74.48,81.57l-.12.21h0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M33.51,17.35c4.73-3.46,8.76-9.74,15-10.79,1.48-.27,2.77-1.37,4-1.92C55.1,2.82,51.65,1.09,50,.54c-4.44-1.49-6.29.4-9.72,2.07-3.09,2.24-9.2,6-9.9,10.7C29.9,15.53,30.47,19.08,33.51,17.35Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M50.11,10c-2.52.48-11.47,6.47-7.58,9.22,1.72.73,3.45,1.44,5.22-.06C50,16.85,54,17,55.7,14.63c.62-1,2.27-2.83.57-3.65C54.62,9.78,51.08,9.3,50.11,10Z\"\n})));\nvar SvgWaveEfWhite = function SvgWaveEfWhite(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 134.35 158.94\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWaveEfWhite, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/wave-ef-white.662d6275.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null);\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M124.47,45.36c-.33-5.72-8.32-6.59-7.06.07,1.55,5.47-.85,11-3,16a3.71,3.71,0,0,0,.81,4.92C122.36,69.8,126,50,124.47,45.36Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M134.35,51.82a3.38,3.38,0,0,0-3.83-3.31c-2.92.19-2.73,3.87-3,6.12,1,5.53-8.51,13.39-2.22,14.17C133.5,68.59,134.36,58.73,134.35,51.82Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M101.05,35.85c-.53.19-1,.42-1.55.63,5.43-7-3.88-17.37-10.76-10.82,2.13-5.29-3.86-10.39-9-8.61-4.49,1.16-7.38,5.31-10.26,8.68-3.91-10-15.64-2.72-19.3,3.61C44.42,36.87,40.7,46.86,36.37,54.9,29.92,67.57,18.25,83.81,24,98.46,15.78,112.17,7.08,125.71.48,140.57c-2.08,3.74,3.12,7.09,5.69,4.07,6.77-14.18,15.1-28,23.11-41.51,6.67-3.15-3.16-8.26,1-18.66,3.06-11.3,9.82-21.25,15-31.9C49.3,45,54.44,30.24,62.75,27.74c.57.48,0,1-.3,1.68-1,1.71-1.92,3.46-2.84,5.2C56.09,41,52.54,47.48,49,53.81A3.84,3.84,0,0,0,54.43,59c6.72-6.73,10.88-15.63,16.43-23.28,3.28-4.53,5.9-10,11.34-12.31C77.83,34.12,69.37,43.6,63.67,53.91c-2.11,3-7.51,9.7-.57,10.87,4.87-.76,5-5.5,8-8.39,8.1-8.39,13.61-18.78,22.63-25.9,1.64,3.1-7.18,11.92-8.82,15.39-4.18,6.29-9.63,13.29-13.65,20.2-1.52,3.65,3.61,6.79,6.23,3.7,8.88-8.73,15.61-19.33,25-27.31.84,4.8-4.64,8-6.85,11.78-6.33,8.4-14,15.85-19.8,24.63-4.08-8.44-14.14-13.07-22.11-15.95-2.75-.85-7.34-5-9.17-.89-1.67,5.18,5.68,6.65,9.07,8.14,4.32,1.5,8.55,4.49,12.43,7-7.22-2.46-11.31,5.47-3.91,6.35-4.48,2-18.52,10.3-11.37,15.75,7.12-.53,8.51-11.65,23.28-10.63,6.74,1.24,15.3-6.21,20.68-.11-1.7,3.37-7.6,1-10.42,3.35-8,5.27-13.77,11.1-22.87,15.42a9.19,9.19,0,0,1-6.68.53c-3.39-1.1-7.38.73-6.32,4.48-6.95,14-14.2,28-19.08,42.89-.54,3.38,4.77,5.3,6.37,2.15C41.71,142.91,48.1,128.9,54.94,115,68.5,116.59,77.86,102.76,89,97.58c22-.79,12.4-23.56-5.63-17.47C89,72.24,95.73,65.77,101.43,58c3.11-4.3,7.86-8.13,8.14-13.92C110,39.82,106,33.75,101.05,35.85ZM74.48,81.57l-.12.21h0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M33.51,17.35c4.73-3.46,8.76-9.74,15-10.79,1.48-.27,2.77-1.37,4-1.92C55.1,2.82,51.65,1.09,50,.54c-4.44-1.49-6.29.4-9.72,2.07-3.09,2.24-9.2,6-9.9,10.7C29.9,15.53,30.47,19.08,33.51,17.35Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M50.11,10c-2.52.48-11.47,6.47-7.58,9.22,1.72.73,3.45,1.44,5.22-.06C50,16.85,54,17,55.7,14.63c.62-1,2.27-2.83.57-3.65C54.62,9.78,51.08,9.3,50.11,10Z\"\n})));\nvar SvgWaveEfMagenta = function SvgWaveEfMagenta(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 134.35 158.94\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWaveEfMagenta, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/wave-ef-magenta.bfe84312.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null);\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M121.64,12.91a63.77,63.77,0,0,0-42,23.85,67.61,67.61,0,0,0-13.8,37.56,66.4,66.4,0,0,0,9.33,38.5c7.08,11.49,18,20,30.37,25.16a69.64,69.64,0,0,0,39,4.08,61.28,61.28,0,0,0,33.83-18.84,70.24,70.24,0,0,0,17.27-34.95,63.34,63.34,0,0,0-5.12-39.06,69.46,69.46,0,0,0-64.62-37.46A61.91,61.91,0,0,0,116,13.13a3,3,0,0,0,1.6,5.78,56.13,56.13,0,0,1,17.89-1,59.6,59.6,0,0,1,8.61,1.58,65.77,65.77,0,0,1,8.77,2.91,67.47,67.47,0,0,1,15.23,8.9,63.84,63.84,0,0,1,12.43,13,55.36,55.36,0,0,1,10.07,33.79,61.91,61.91,0,0,1-3.16,17.73,64.67,64.67,0,0,1-8,16.22A57,57,0,0,1,152,133.85a61.45,61.45,0,0,1-35.41,1.46,60.83,60.83,0,0,1-30.7-18.09c-8.06-9-12.84-21-13.9-32.92a63.46,63.46,0,0,1,7-35.72A58.49,58.49,0,0,1,110.28,21.7a51.13,51.13,0,0,1,11.36-2.79,3.09,3.09,0,0,0,3-3c0-1.47-1.38-3.19-3-3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M56.16,65.24c-3.62,19.15,1.27,40.2,12.6,56a79.42,79.42,0,0,0,36,27.47,78.45,78.45,0,0,0,44.79,3.77c15.11-3.3,28.78-11.88,39-23.43a82,82,0,0,0,19.65-41.26,72.43,72.43,0,0,0-7.74-45.65A82.12,82.12,0,0,0,167.58,9.37,74.4,74.4,0,0,0,121.76.68c-15.46,2.16-30,9.6-41.48,20A79.64,79.64,0,0,0,56.37,59.93a71.62,71.62,0,0,0-1.88,11.56,3,3,0,0,0,3,3,3.07,3.07,0,0,0,3-3c1.17-14.07,7.4-27.95,16.56-38.79A76.19,76.19,0,0,1,112.58,8.85a66,66,0,0,1,42.71,1.46,76.71,76.71,0,0,1,34,25.52,67.39,67.39,0,0,1,13.86,40.45,74,74,0,0,1-12.53,40.28c-7.76,11.79-19.2,21.79-32.27,27a64.86,64.86,0,0,1-10.22,3.13A59.65,59.65,0,0,1,138,148.1,71.41,71.41,0,0,1,117,146.27a75.38,75.38,0,0,1-36.39-20.16A69.65,69.65,0,0,1,61.06,81.18,60,60,0,0,1,62,66.83a3.09,3.09,0,0,0-2.1-3.69,3,3,0,0,0-3.69,2.1Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M109.15,37.08A8.64,8.64,0,0,0,108,41.16c0,.24,0,.47,0,.7a6.19,6.19,0,0,0,.36,1.76,2.94,2.94,0,0,0,.92,1.2l.39.29a1.71,1.71,0,0,0,.23.13,5.05,5.05,0,0,0,1.17.45,5.46,5.46,0,0,0,2.54-.06,5.13,5.13,0,0,0,1.66-.77,6.28,6.28,0,0,0,1.75-1.77,6.42,6.42,0,0,0,.55-1.19,3.74,3.74,0,0,0,.23-.74,8.8,8.8,0,0,0,.19-2.29,15.88,15.88,0,0,0-.35-2.38l-.3-.72a2.23,2.23,0,0,0-.77-.84,3,3,0,0,0-1.82-.64l-1.75,0a3,3,0,0,0-2.12.87,3.1,3.1,0,0,0-.88,2.13,3,3,0,0,0,.88,2.12,3.2,3.2,0,0,0,2.12.88l1.75,0-2.89-2.21c.07.32.13.64.17,1l-.11-.8A7,7,0,0,1,112,40l.11-.8a4.08,4.08,0,0,1-.29,1.09l.31-.72a2.77,2.77,0,0,1-.38.64l.47-.61a2.53,2.53,0,0,1-.49.49l.61-.47a3.3,3.3,0,0,1-.65.39l.72-.31a3,3,0,0,1-.65.19l.8-.11a2.25,2.25,0,0,1-.58,0l.79.11a2.09,2.09,0,0,1-.43-.11l.71.3a2.3,2.3,0,0,1-.4-.23L114,41.66c0-.14,0-.28-.07-.42l.1.79a6,6,0,0,1,0-1.47l-.1.8a5.73,5.73,0,0,1,.36-1.35l-.3.72a5.12,5.12,0,0,1,.31-.62,3.11,3.11,0,0,0,.3-2.31,3,3,0,0,0-3.69-2.1,3.13,3.13,0,0,0-1.79,1.38Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M132.18,34.75a5.48,5.48,0,0,0-2.49,1.56,5.88,5.88,0,0,0-1.4,2.58,10.6,10.6,0,0,0-.16,1.11,2.41,2.41,0,0,0,0,.38,8.07,8.07,0,0,0,.14,1.1,2.59,2.59,0,0,0,.11.37,5.48,5.48,0,0,0,1.08,1.87,5.17,5.17,0,0,0,1.08.9l.29.17a8.8,8.8,0,0,0,1,.42,5.57,5.57,0,0,0,1.46.24,5.69,5.69,0,0,0,1.43-.13,5.11,5.11,0,0,0,1.32-.49,2.61,2.61,0,0,0,.28-.17,6.94,6.94,0,0,0,.86-.68,6.61,6.61,0,0,0,.65-.83,1.69,1.69,0,0,0,.17-.29,6.9,6.9,0,0,0,.39-1,5.63,5.63,0,0,0,.16-1.08,5.33,5.33,0,0,0-.12-1.44,5.39,5.39,0,0,0-.52-1.37,2.33,2.33,0,0,0-.2-.34,7.82,7.82,0,0,0-.67-.85,5.65,5.65,0,0,0-.86-.69,1.53,1.53,0,0,0-.3-.19,5.11,5.11,0,0,0-2.17-.57,2.17,2.17,0,0,0-1.15.26,2.13,2.13,0,0,0-1,.62,2.25,2.25,0,0,0-.62,1,2.32,2.32,0,0,0-.26,1.16,3.06,3.06,0,0,0,.88,2.12l.61.47a3,3,0,0,0,1.51.41h.14l-.8-.11a1.69,1.69,0,0,1,.44.12l-.72-.31a2.22,2.22,0,0,1,.42.25l-.61-.47a2.38,2.38,0,0,1,.35.36l-.47-.61a2.77,2.77,0,0,1,.33.55l-.31-.71a2.19,2.19,0,0,1,.17.62l-.1-.8a2.91,2.91,0,0,1,0,.59l.1-.8a1.55,1.55,0,0,1-.13.48l.31-.71a2,2,0,0,1-.24.39l.47-.61a2.13,2.13,0,0,1-.3.3l.61-.47a2.89,2.89,0,0,1-.44.27l.71-.31a2.28,2.28,0,0,1-.58.17l.8-.11a2.89,2.89,0,0,1-.72,0l.8.11a2.73,2.73,0,0,1-.69-.2l.72.31a2.58,2.58,0,0,1-.53-.32l.6.47a2.53,2.53,0,0,1-.36-.37l.47.61a2,2,0,0,1-.27-.47l.3.72a2.15,2.15,0,0,1-.14-.54l.1.8a3,3,0,0,1,0-.67l-.11.8a2.72,2.72,0,0,1,.19-.69l-.3.71a3,3,0,0,1,.39-.67l-.47.61a3.05,3.05,0,0,1,.47-.48l-.61.47a2.87,2.87,0,0,1,.53-.32l-.71.31a1.17,1.17,0,0,1,.24-.09,3.18,3.18,0,0,0,1.79-1.38,2.28,2.28,0,0,0,.36-1.12,2.29,2.29,0,0,0,0-1.19,3.08,3.08,0,0,0-1.38-1.8,3,3,0,0,0-2.31-.3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M156.46,37A5.1,5.1,0,0,0,153,35.62a5.67,5.67,0,0,0-3,.8,6.18,6.18,0,0,0-2.16,2.12,5.38,5.38,0,0,0-.58,1.4,5.51,5.51,0,0,0,1.43,5.12,6.65,6.65,0,0,0,2.65,1.64A5.67,5.67,0,0,0,154,47a6.51,6.51,0,0,0,1.58-.31,6.7,6.7,0,0,0,2.05-1.2,4.73,4.73,0,0,0,1.56-4.77,4.52,4.52,0,0,0-1.89-2.54,4.14,4.14,0,0,0-3.15-.5,3,3,0,0,0-1.79,1.38,3,3,0,0,0,1.07,4.1,3.33,3.33,0,0,0,2.32.31l.08,0-.8.11h.24l-.8-.1a1.11,1.11,0,0,1,.31.09l-.72-.31.21.13-.61-.47a1.59,1.59,0,0,1,.29.29l-.47-.6a1.69,1.69,0,0,1,.17.29l-.3-.72a2,2,0,0,1,.09.33l-.11-.8a1.29,1.29,0,0,1,0,.34l.1-.8a1.6,1.6,0,0,1-.11.43l.31-.71a2.4,2.4,0,0,1-.27.46l.47-.61a3.26,3.26,0,0,1-.45.46l.61-.47a3.54,3.54,0,0,1-.73.42l.72-.3a3.6,3.6,0,0,1-.78.21L154,41a3.86,3.86,0,0,1-1,0l.8.11a4.28,4.28,0,0,1-.93-.26l.72.3a3.71,3.71,0,0,1-.82-.47l.61.47a3.3,3.3,0,0,1-.56-.56l.47.61a2.91,2.91,0,0,1-.35-.62l.3.72a2.66,2.66,0,0,1-.17-.63l.11.8a2,2,0,0,1,0-.55l-.11.8a2.38,2.38,0,0,1,.16-.58l-.3.72a2.63,2.63,0,0,1,.35-.58l-.47.61a3,3,0,0,1,.54-.53l-.61.46a3.85,3.85,0,0,1,.71-.41l-.71.3a2.86,2.86,0,0,1,.71-.19l-.8.11a2.25,2.25,0,0,1,.58,0l-.79-.11a2.72,2.72,0,0,1,.49.13l-.72-.3a2.13,2.13,0,0,1,.46.27l-.61-.47.15.13a3.12,3.12,0,0,0,2.12.88,3,3,0,0,0,2.13-.88,3,3,0,0,0,.87-2.12,3.07,3.07,0,0,0-.87-2.12Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M88.26,59.87l-.77,13.88a3,3,0,0,0,2.2,2.9c21.33,3,42.88,3.27,64.38,2.75,6.05-.14,12.1-.34,18.15-.54a3,3,0,0,0,2.89-2.2,68.68,68.68,0,0,0,.64-16.7,3.1,3.1,0,0,0-3-3Q141,54.32,109.17,53.62q-9-.19-18.08-.24c-3.86,0-3.86,6,0,6q31.83.15,63.62,2.23,9,.6,18,1.35l-3-3a63.07,63.07,0,0,1-.42,15.1l2.89-2.2c-21.15.69-42.35,1.39-63.48-.16-5.83-.42-11.66-1-17.46-1.84l2.21,2.89.77-13.88a3,3,0,1,0-6,0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M131.46,92.12A41.06,41.06,0,0,0,120.29,111a7.33,7.33,0,0,0-.12,4.44c.77,2,3,3.52,5.17,4.86a14.61,14.61,0,0,0,4.88,2.24,9.72,9.72,0,0,0,8.77-3.07,11.54,11.54,0,0,0,2.45-7.57c.12-7.18-2.93-14.37-8.54-20.11\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M129.34,90a46.92,46.92,0,0,0-10.28,15.2c-1.11,2.7-2.37,5.92-2.17,8.88.22,3.48,2.53,5.8,5.25,7.67,2.43,1.68,5.09,3.34,8.06,3.76a12.59,12.59,0,0,0,8.45-1.89c5.59-3.62,6.32-10.39,5.44-16.47A32.47,32.47,0,0,0,135,89.62c-2.69-2.78-6.93,1.47-4.24,4.24a27.32,27.32,0,0,1,6.89,11.79c.94,3.5,1.7,8.75-.92,11.78a6.73,6.73,0,0,1-4.6,2.2c-2.1.1-3.87-1.07-5.63-2.19-1.46-.92-3.48-2.06-3.64-3.59a8.74,8.74,0,0,1,.62-3.26,34.76,34.76,0,0,1,1.19-3.43,40.27,40.27,0,0,1,8.89-12.92c2.74-2.73-1.5-7-4.24-4.25Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M204.17,55.74q14.75-1.07,29.51-1.47l-3-3q-.74,27.46-1.07,54.94l3-3q-16.26.08-32.47,1.2a3.07,3.07,0,0,0-3,3,3,3,0,0,0,3,3q16.22-1.12,32.47-1.2a3.06,3.06,0,0,0,3-3q.34-27.48,1.07-54.94a3,3,0,0,0-3-3q-14.76.4-29.51,1.47a3.06,3.06,0,0,0-3,3,3,3,0,0,0,3,3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M236.27,55.87l-.62-28-2.2,2.89a109.47,109.47,0,0,1,25.75-1.7l-3-3a646.9,646.9,0,0,0-2.72,81.4q.35,11.61,1.11,23.19l3-3-25.91,1.6,3,3A100.22,100.22,0,0,1,236,105.94a3.07,3.07,0,0,0-2.09-3.69,3,3,0,0,0-3.69,2.1,106.33,106.33,0,0,0-1.51,27.93,3,3,0,0,0,3,3l25.91-1.6a3,3,0,0,0,3-3,645.2,645.2,0,0,1-.21-81.44q.71-11.6,1.82-23.15c.16-1.67-1.51-2.92-3-3A116.13,116.13,0,0,0,231.85,25a3,3,0,0,0-2.2,2.89l.62,28c.09,3.85,6.09,3.87,6,0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M58,48.86Q43.31,47.8,28.53,47.39a3,3,0,0,0-3,3q.73,27.47,1.07,55a3.06,3.06,0,0,0,3,3q16.26.07,32.47,1.19a3,3,0,0,0,3-3,3.06,3.06,0,0,0-3-3q-16.2-1.11-32.47-1.19l3,3q-.33-27.48-1.07-54.95l-3,3q14.78.4,29.51,1.47a3,3,0,0,0,3-3,3.06,3.06,0,0,0-3-3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M31.94,55l.62-28a3,3,0,0,0-2.2-2.89A116.13,116.13,0,0,0,3,22.22c-1.5.07-3.16,1.32-3,3a646.77,646.77,0,0,1,2.72,81.4q-.35,11.59-1.11,23.19a3.06,3.06,0,0,0,3,3l25.91,1.59a3.06,3.06,0,0,0,3-3A106.33,106.33,0,0,0,32,103.47a3,3,0,0,0-3.69-2.09,3.06,3.06,0,0,0-2.09,3.69,100.17,100.17,0,0,1,1.29,26.33l3-3L4.62,126.81l3,3a645.36,645.36,0,0,0,.21-81.45Q7.14,36.78,6,25.22l-3,3a109,109,0,0,1,25.76,1.7L26.56,27l-.62,28c-.09,3.87,5.91,3.86,6,0Z\"\n})));\nvar SvgMeterEfWhite = function SvgMeterEfWhite(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 262.21 154.21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMeterEfWhite, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/meter-ef-white.ded79d6b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null);\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M121.64,12.91a63.77,63.77,0,0,0-42,23.85,67.61,67.61,0,0,0-13.8,37.56,66.4,66.4,0,0,0,9.33,38.5c7.08,11.49,18,20,30.37,25.16a69.64,69.64,0,0,0,39,4.08,61.28,61.28,0,0,0,33.83-18.84,70.24,70.24,0,0,0,17.27-34.95,63.34,63.34,0,0,0-5.12-39.06,69.46,69.46,0,0,0-64.62-37.46A61.91,61.91,0,0,0,116,13.13a3,3,0,0,0,1.6,5.78,56.13,56.13,0,0,1,17.89-1,59.6,59.6,0,0,1,8.61,1.58,65.77,65.77,0,0,1,8.77,2.91,67.47,67.47,0,0,1,15.23,8.9,63.84,63.84,0,0,1,12.43,13,55.36,55.36,0,0,1,10.07,33.79,61.91,61.91,0,0,1-3.16,17.73,64.67,64.67,0,0,1-8,16.22A57,57,0,0,1,152,133.85a61.45,61.45,0,0,1-35.41,1.46,60.83,60.83,0,0,1-30.7-18.09c-8.06-9-12.84-21-13.9-32.92a63.46,63.46,0,0,1,7-35.72A58.49,58.49,0,0,1,110.28,21.7a51.13,51.13,0,0,1,11.36-2.79,3.09,3.09,0,0,0,3-3c0-1.47-1.38-3.19-3-3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M56.16,65.24c-3.62,19.15,1.27,40.2,12.6,56a79.42,79.42,0,0,0,36,27.47,78.45,78.45,0,0,0,44.79,3.77c15.11-3.3,28.78-11.88,39-23.43a82,82,0,0,0,19.65-41.26,72.43,72.43,0,0,0-7.74-45.65A82.12,82.12,0,0,0,167.58,9.37,74.4,74.4,0,0,0,121.76.68c-15.46,2.16-30,9.6-41.48,20A79.64,79.64,0,0,0,56.37,59.93a71.62,71.62,0,0,0-1.88,11.56,3,3,0,0,0,3,3,3.07,3.07,0,0,0,3-3c1.17-14.07,7.4-27.95,16.56-38.79A76.19,76.19,0,0,1,112.58,8.85a66,66,0,0,1,42.71,1.46,76.71,76.71,0,0,1,34,25.52,67.39,67.39,0,0,1,13.86,40.45,74,74,0,0,1-12.53,40.28c-7.76,11.79-19.2,21.79-32.27,27a64.86,64.86,0,0,1-10.22,3.13A59.65,59.65,0,0,1,138,148.1,71.41,71.41,0,0,1,117,146.27a75.38,75.38,0,0,1-36.39-20.16A69.65,69.65,0,0,1,61.06,81.18,60,60,0,0,1,62,66.83a3.09,3.09,0,0,0-2.1-3.69,3,3,0,0,0-3.69,2.1Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M109.15,37.08A8.64,8.64,0,0,0,108,41.16c0,.24,0,.47,0,.7a6.19,6.19,0,0,0,.36,1.76,2.94,2.94,0,0,0,.92,1.2l.39.29a1.71,1.71,0,0,0,.23.13,5.05,5.05,0,0,0,1.17.45,5.46,5.46,0,0,0,2.54-.06,5.13,5.13,0,0,0,1.66-.77,6.28,6.28,0,0,0,1.75-1.77,6.42,6.42,0,0,0,.55-1.19,3.74,3.74,0,0,0,.23-.74,8.8,8.8,0,0,0,.19-2.29,15.88,15.88,0,0,0-.35-2.38l-.3-.72a2.23,2.23,0,0,0-.77-.84,3,3,0,0,0-1.82-.64l-1.75,0a3,3,0,0,0-2.12.87,3.1,3.1,0,0,0-.88,2.13,3,3,0,0,0,.88,2.12,3.2,3.2,0,0,0,2.12.88l1.75,0-2.89-2.21c.07.32.13.64.17,1l-.11-.8A7,7,0,0,1,112,40l.11-.8a4.08,4.08,0,0,1-.29,1.09l.31-.72a2.77,2.77,0,0,1-.38.64l.47-.61a2.53,2.53,0,0,1-.49.49l.61-.47a3.3,3.3,0,0,1-.65.39l.72-.31a3,3,0,0,1-.65.19l.8-.11a2.25,2.25,0,0,1-.58,0l.79.11a2.09,2.09,0,0,1-.43-.11l.71.3a2.3,2.3,0,0,1-.4-.23L114,41.66c0-.14,0-.28-.07-.42l.1.79a6,6,0,0,1,0-1.47l-.1.8a5.73,5.73,0,0,1,.36-1.35l-.3.72a5.12,5.12,0,0,1,.31-.62,3.11,3.11,0,0,0,.3-2.31,3,3,0,0,0-3.69-2.1,3.13,3.13,0,0,0-1.79,1.38Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M132.18,34.75a5.48,5.48,0,0,0-2.49,1.56,5.88,5.88,0,0,0-1.4,2.58,10.6,10.6,0,0,0-.16,1.11,2.41,2.41,0,0,0,0,.38,8.07,8.07,0,0,0,.14,1.1,2.59,2.59,0,0,0,.11.37,5.48,5.48,0,0,0,1.08,1.87,5.17,5.17,0,0,0,1.08.9l.29.17a8.8,8.8,0,0,0,1,.42,5.57,5.57,0,0,0,1.46.24,5.69,5.69,0,0,0,1.43-.13,5.11,5.11,0,0,0,1.32-.49,2.61,2.61,0,0,0,.28-.17,6.94,6.94,0,0,0,.86-.68,6.61,6.61,0,0,0,.65-.83,1.69,1.69,0,0,0,.17-.29,6.9,6.9,0,0,0,.39-1,5.63,5.63,0,0,0,.16-1.08,5.33,5.33,0,0,0-.12-1.44,5.39,5.39,0,0,0-.52-1.37,2.33,2.33,0,0,0-.2-.34,7.82,7.82,0,0,0-.67-.85,5.65,5.65,0,0,0-.86-.69,1.53,1.53,0,0,0-.3-.19,5.11,5.11,0,0,0-2.17-.57,2.17,2.17,0,0,0-1.15.26,2.13,2.13,0,0,0-1,.62,2.25,2.25,0,0,0-.62,1,2.32,2.32,0,0,0-.26,1.16,3.06,3.06,0,0,0,.88,2.12l.61.47a3,3,0,0,0,1.51.41h.14l-.8-.11a1.69,1.69,0,0,1,.44.12l-.72-.31a2.22,2.22,0,0,1,.42.25l-.61-.47a2.38,2.38,0,0,1,.35.36l-.47-.61a2.77,2.77,0,0,1,.33.55l-.31-.71a2.19,2.19,0,0,1,.17.62l-.1-.8a2.91,2.91,0,0,1,0,.59l.1-.8a1.55,1.55,0,0,1-.13.48l.31-.71a2,2,0,0,1-.24.39l.47-.61a2.13,2.13,0,0,1-.3.3l.61-.47a2.89,2.89,0,0,1-.44.27l.71-.31a2.28,2.28,0,0,1-.58.17l.8-.11a2.89,2.89,0,0,1-.72,0l.8.11a2.73,2.73,0,0,1-.69-.2l.72.31a2.58,2.58,0,0,1-.53-.32l.6.47a2.53,2.53,0,0,1-.36-.37l.47.61a2,2,0,0,1-.27-.47l.3.72a2.15,2.15,0,0,1-.14-.54l.1.8a3,3,0,0,1,0-.67l-.11.8a2.72,2.72,0,0,1,.19-.69l-.3.71a3,3,0,0,1,.39-.67l-.47.61a3.05,3.05,0,0,1,.47-.48l-.61.47a2.87,2.87,0,0,1,.53-.32l-.71.31a1.17,1.17,0,0,1,.24-.09,3.18,3.18,0,0,0,1.79-1.38,2.28,2.28,0,0,0,.36-1.12,2.29,2.29,0,0,0,0-1.19,3.08,3.08,0,0,0-1.38-1.8,3,3,0,0,0-2.31-.3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M156.46,37A5.1,5.1,0,0,0,153,35.62a5.67,5.67,0,0,0-3,.8,6.18,6.18,0,0,0-2.16,2.12,5.38,5.38,0,0,0-.58,1.4,5.51,5.51,0,0,0,1.43,5.12,6.65,6.65,0,0,0,2.65,1.64A5.67,5.67,0,0,0,154,47a6.51,6.51,0,0,0,1.58-.31,6.7,6.7,0,0,0,2.05-1.2,4.73,4.73,0,0,0,1.56-4.77,4.52,4.52,0,0,0-1.89-2.54,4.14,4.14,0,0,0-3.15-.5,3,3,0,0,0-1.79,1.38,3,3,0,0,0,1.07,4.1,3.33,3.33,0,0,0,2.32.31l.08,0-.8.11h.24l-.8-.1a1.11,1.11,0,0,1,.31.09l-.72-.31.21.13-.61-.47a1.59,1.59,0,0,1,.29.29l-.47-.6a1.69,1.69,0,0,1,.17.29l-.3-.72a2,2,0,0,1,.09.33l-.11-.8a1.29,1.29,0,0,1,0,.34l.1-.8a1.6,1.6,0,0,1-.11.43l.31-.71a2.4,2.4,0,0,1-.27.46l.47-.61a3.26,3.26,0,0,1-.45.46l.61-.47a3.54,3.54,0,0,1-.73.42l.72-.3a3.6,3.6,0,0,1-.78.21L154,41a3.86,3.86,0,0,1-1,0l.8.11a4.28,4.28,0,0,1-.93-.26l.72.3a3.71,3.71,0,0,1-.82-.47l.61.47a3.3,3.3,0,0,1-.56-.56l.47.61a2.91,2.91,0,0,1-.35-.62l.3.72a2.66,2.66,0,0,1-.17-.63l.11.8a2,2,0,0,1,0-.55l-.11.8a2.38,2.38,0,0,1,.16-.58l-.3.72a2.63,2.63,0,0,1,.35-.58l-.47.61a3,3,0,0,1,.54-.53l-.61.46a3.85,3.85,0,0,1,.71-.41l-.71.3a2.86,2.86,0,0,1,.71-.19l-.8.11a2.25,2.25,0,0,1,.58,0l-.79-.11a2.72,2.72,0,0,1,.49.13l-.72-.3a2.13,2.13,0,0,1,.46.27l-.61-.47.15.13a3.12,3.12,0,0,0,2.12.88,3,3,0,0,0,2.13-.88,3,3,0,0,0,.87-2.12,3.07,3.07,0,0,0-.87-2.12Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M88.26,59.87l-.77,13.88a3,3,0,0,0,2.2,2.9c21.33,3,42.88,3.27,64.38,2.75,6.05-.14,12.1-.34,18.15-.54a3,3,0,0,0,2.89-2.2,68.68,68.68,0,0,0,.64-16.7,3.1,3.1,0,0,0-3-3Q141,54.32,109.17,53.62q-9-.19-18.08-.24c-3.86,0-3.86,6,0,6q31.83.15,63.62,2.23,9,.6,18,1.35l-3-3a63.07,63.07,0,0,1-.42,15.1l2.89-2.2c-21.15.69-42.35,1.39-63.48-.16-5.83-.42-11.66-1-17.46-1.84l2.21,2.89.77-13.88a3,3,0,1,0-6,0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M131.46,92.12A41.06,41.06,0,0,0,120.29,111a7.33,7.33,0,0,0-.12,4.44c.77,2,3,3.52,5.17,4.86a14.61,14.61,0,0,0,4.88,2.24,9.72,9.72,0,0,0,8.77-3.07,11.54,11.54,0,0,0,2.45-7.57c.12-7.18-2.93-14.37-8.54-20.11\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M129.34,90a46.92,46.92,0,0,0-10.28,15.2c-1.11,2.7-2.37,5.92-2.17,8.88.22,3.48,2.53,5.8,5.25,7.67,2.43,1.68,5.09,3.34,8.06,3.76a12.59,12.59,0,0,0,8.45-1.89c5.59-3.62,6.32-10.39,5.44-16.47A32.47,32.47,0,0,0,135,89.62c-2.69-2.78-6.93,1.47-4.24,4.24a27.32,27.32,0,0,1,6.89,11.79c.94,3.5,1.7,8.75-.92,11.78a6.73,6.73,0,0,1-4.6,2.2c-2.1.1-3.87-1.07-5.63-2.19-1.46-.92-3.48-2.06-3.64-3.59a8.74,8.74,0,0,1,.62-3.26,34.76,34.76,0,0,1,1.19-3.43,40.27,40.27,0,0,1,8.89-12.92c2.74-2.73-1.5-7-4.24-4.25Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M204.17,55.74q14.75-1.07,29.51-1.47l-3-3q-.74,27.46-1.07,54.94l3-3q-16.26.08-32.47,1.2a3.07,3.07,0,0,0-3,3,3,3,0,0,0,3,3q16.22-1.12,32.47-1.2a3.06,3.06,0,0,0,3-3q.34-27.48,1.07-54.94a3,3,0,0,0-3-3q-14.76.4-29.51,1.47a3.06,3.06,0,0,0-3,3,3,3,0,0,0,3,3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M236.27,55.87l-.62-28-2.2,2.89a109.47,109.47,0,0,1,25.75-1.7l-3-3a646.9,646.9,0,0,0-2.72,81.4q.35,11.61,1.11,23.19l3-3-25.91,1.6,3,3A100.22,100.22,0,0,1,236,105.94a3.07,3.07,0,0,0-2.09-3.69,3,3,0,0,0-3.69,2.1,106.33,106.33,0,0,0-1.51,27.93,3,3,0,0,0,3,3l25.91-1.6a3,3,0,0,0,3-3,645.2,645.2,0,0,1-.21-81.44q.71-11.6,1.82-23.15c.16-1.67-1.51-2.92-3-3A116.13,116.13,0,0,0,231.85,25a3,3,0,0,0-2.2,2.89l.62,28c.09,3.85,6.09,3.87,6,0Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M58,48.86Q43.31,47.8,28.53,47.39a3,3,0,0,0-3,3q.73,27.47,1.07,55a3.06,3.06,0,0,0,3,3q16.26.07,32.47,1.19a3,3,0,0,0,3-3,3.06,3.06,0,0,0-3-3q-16.2-1.11-32.47-1.19l3,3q-.33-27.48-1.07-54.95l-3,3q14.78.4,29.51,1.47a3,3,0,0,0,3-3,3.06,3.06,0,0,0-3-3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M31.94,55l.62-28a3,3,0,0,0-2.2-2.89A116.13,116.13,0,0,0,3,22.22c-1.5.07-3.16,1.32-3,3a646.77,646.77,0,0,1,2.72,81.4q-.35,11.59-1.11,23.19a3.06,3.06,0,0,0,3,3l25.91,1.59a3.06,3.06,0,0,0,3-3A106.33,106.33,0,0,0,32,103.47a3,3,0,0,0-3.69-2.09,3.06,3.06,0,0,0-2.09,3.69,100.17,100.17,0,0,1,1.29,26.33l3-3L4.62,126.81l3,3a645.36,645.36,0,0,0,.21-81.45Q7.14,36.78,6,25.22l-3,3a109,109,0,0,1,25.76,1.7L26.56,27l-.62,28c-.09,3.87,5.91,3.86,6,0Z\"\n})));\nvar SvgMeterEfMagenta = function SvgMeterEfMagenta(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 262.21 154.21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMeterEfMagenta, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/meter-ef-magenta.5558c61f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null);\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M132.31,25.42c-.17-6.38-.37-13.61-4.82-18.86A17.23,17.23,0,0,0,114.84.36c-.73,0-1.44.06-2,.12C105,.16,97.16,0,89.44,0,78.57,0,67.61.32,56.85,1c-8.31.48-18.15,1.12-28,2.2l-.6.07c-4.76.51-10.15,1.09-13.44,5.21-3.82,4.79-3.4,11.69-3.06,17.24a230.78,230.78,0,0,0,2.91,23.56c.73,4.37,1.53,8.77,2.3,13,2.35,12.95,4.78,26.32,5.34,39.67L18,102c-.82,0-1.92-.09-3.13-.18-1.49-.12-3.19-.25-4.85-.25-4.64,0-7.41,1.08-8.69,3.39C-1,109.15.14,117.83,2,122c4,9.05,13.85,10.22,22,10.22,2.19,0,4.33-.09,6.46-.18h.13c1.7-.07,3.3-.14,4.77-.15l5.47,0c16.12-.05,32.79-.11,49.16-1.69a2.55,2.55,0,0,0,1-.32,26.23,26.23,0,0,0,3.18-.2c8.42-1,13.85-4.45,16.13-10.13,3-7.43,1.52-16.1.22-23.75l-.37-2.23c-.74-4.52-1.59-9.11-2.4-13.55-2.88-15.62-5.85-31.76-5-47.41l3.65,0h.45c2.35,0,4.69.07,7,.07a118.26,118.26,0,0,0,16.38-1A2.75,2.75,0,0,0,132.44,29c-.07-1.14-.1-2.32-.13-3.52ZM26.41,127.7l-.24-1.23c-1.29,0-2.62.08-4,.08-3.92,0-8.38-.32-11.7-2.68-2.81-2-4.25-5-4.54-9.56s.87-6,5-6.64a60,60,0,0,1,8.92-.53c1.55,0,3.11,0,4.66.06h.42c2.36,0,4.71.09,7,0l40.73-.83c.24,5.24,2.44,11.48,6,17a16.59,16.59,0,0,0,1.51,2c-8.8.58-18.4.87-30.61.94-2.81,0-5.62,0-8.44,0h-1q-5.33,0-10.63.06c-1,0-2,0-3.09.07Zm50.2-26.61a2.89,2.89,0,0,0-1.17-.25h0l-47.65,1c-.58-13.75-3.06-27.44-5.46-40.69l-.13-.71C20.82,52.83,19.4,45,18.39,37.18c-.15-1.16-.36-2.47-.58-3.86-1-6.36-2.24-14.28,0-19,2.69-5.66,10.76-6,17.25-6.3,1.39-.06,2.72-.12,3.93-.22C47.52,7,55.34,6.51,62.93,6.14c13.21-.64,27.05-.78,41.18-.4-3.58,4.43-5,10.75-5.94,17-1.35,9-1.29,18.89.22,31.25.92,7.57,2.17,15.2,3.38,22.58L103,84.19c.34,2.16.73,4.33,1.13,6.5,1.13,6.24,2.3,12.7,2.21,19-.1,7.25-2.22,11.15-7.1,13.05a25,25,0,0,1-8.48,1.77A10.12,10.12,0,0,1,87,123.9c-5.64-2.23-9.47-14.13-8.81-20.13h0A2.49,2.49,0,0,0,76.61,101.09Zm48.28-74.21h0a21.21,21.21,0,0,1-4.77.39h-2.39l-2.55,0c-2.71,0-5.47-.07-7.9-.13h-.56l-3.55-.08c.21-2,.47-3.78.77-5.44Q107.2,3.8,116.87,6.06c5.9,1.37,9.08,6.45,9.72,15.53,0,.66.12,1.26.19,1.85C127.1,26,127.15,26.34,124.89,26.88Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M83.7,24.31h0A2.56,2.56,0,0,0,81,21.82h-.14c-16.75,1.64-33.77,2.48-50.57,2.49a2.76,2.76,0,0,0,0,5.51c16.9,0,34-.85,50.86-2.49A2.84,2.84,0,0,0,83.7,24.31Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M33.42,50.05l.37,0A284.68,284.68,0,0,1,80.1,46.6a2.67,2.67,0,0,0,2.71-2.76h0a2.67,2.67,0,0,0-2.71-2.75,291.09,291.09,0,0,0-47.47,3.54,2.51,2.51,0,0,0-2.15,2.75,2.92,2.92,0,0,0,2.94,2.67Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M35.51,68.76h0l.32,0c8.28-1,16.87-2.1,25.43-1.82,2.08.07,4.24.29,6.27.49,2.46.24,5,.49,7.54.49a27.06,27.06,0,0,0,8.34-1.18,2.74,2.74,0,0,0,1.88-3.08,2.66,2.66,0,0,0-3.46-2.21,23.94,23.94,0,0,1-7.32,1,77.78,77.78,0,0,1-7.78-.53c-2.53-.26-5.14-.53-7.74-.55h-.67A185.61,185.61,0,0,0,35.5,63.25,2.88,2.88,0,0,0,33,66.33,2.49,2.49,0,0,0,35.51,68.76Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M86.26,83.74a2.63,2.63,0,0,0-2.72-2.64h-.05c-5.23.23-10.57.32-15.84.42-10.47.19-21.29.39-31.92,1.66a2.87,2.87,0,0,0-2.51,3.08,2.52,2.52,0,0,0,2.59,2.44h0l.27,0C46.61,87.42,57.39,87.22,67.8,87H68c5.13-.09,10.43-.19,15.65-.41A2.74,2.74,0,0,0,86.26,83.74Z\"\n})));\nvar SvgBillEfWhite = function SvgBillEfWhite(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 132.44 132.19\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBillEfWhite, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/bill-ef-white.e15f6d11.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M132.31,25.42c-.17-6.38-.37-13.61-4.82-18.86A17.23,17.23,0,0,0,114.84.36c-.73,0-1.44.06-2,.12C105,.16,97.16,0,89.44,0,78.57,0,67.61.32,56.85,1c-8.31.48-18.15,1.12-28,2.2l-.6.07c-4.76.51-10.15,1.09-13.44,5.21-3.82,4.79-3.4,11.69-3.06,17.24a230.78,230.78,0,0,0,2.91,23.56c.73,4.37,1.53,8.77,2.3,13,2.35,12.95,4.78,26.32,5.34,39.67L18,102c-.82,0-1.92-.09-3.13-.18-1.49-.12-3.19-.25-4.85-.25-4.64,0-7.41,1.08-8.69,3.39C-1,109.15.14,117.83,2,122c4,9.05,13.85,10.22,22,10.22,2.19,0,4.33-.09,6.46-.18h.13c1.7-.07,3.3-.14,4.77-.15l5.47,0c16.12-.05,32.79-.11,49.16-1.69a2.55,2.55,0,0,0,1-.32,26.23,26.23,0,0,0,3.18-.2c8.42-1,13.85-4.45,16.13-10.13,3-7.43,1.52-16.1.22-23.75l-.37-2.23c-.74-4.52-1.59-9.11-2.4-13.55-2.88-15.62-5.85-31.76-5-47.41l3.65,0h.45c2.35,0,4.69.07,7,.07a118.26,118.26,0,0,0,16.38-1A2.75,2.75,0,0,0,132.44,29c-.07-1.14-.1-2.32-.13-3.52ZM26.41,127.7l-.24-1.23c-1.29,0-2.62.08-4,.08-3.92,0-8.38-.32-11.7-2.68-2.81-2-4.25-5-4.54-9.56s.87-6,5-6.64a60,60,0,0,1,8.92-.53c1.55,0,3.11,0,4.66.06h.42c2.36,0,4.71.09,7,0l40.73-.83c.24,5.24,2.44,11.48,6,17a16.59,16.59,0,0,0,1.51,2c-8.8.58-18.4.87-30.61.94-2.81,0-5.62,0-8.44,0h-1q-5.33,0-10.63.06c-1,0-2,0-3.09.07Zm50.2-26.61a2.89,2.89,0,0,0-1.17-.25h0l-47.65,1c-.58-13.75-3.06-27.44-5.46-40.69l-.13-.71C20.82,52.83,19.4,45,18.39,37.18c-.15-1.16-.36-2.47-.58-3.86-1-6.36-2.24-14.28,0-19,2.69-5.66,10.76-6,17.25-6.3,1.39-.06,2.72-.12,3.93-.22C47.52,7,55.34,6.51,62.93,6.14c13.21-.64,27.05-.78,41.18-.4-3.58,4.43-5,10.75-5.94,17-1.35,9-1.29,18.89.22,31.25.92,7.57,2.17,15.2,3.38,22.58L103,84.19c.34,2.16.73,4.33,1.13,6.5,1.13,6.24,2.3,12.7,2.21,19-.1,7.25-2.22,11.15-7.1,13.05a25,25,0,0,1-8.48,1.77A10.12,10.12,0,0,1,87,123.9c-5.64-2.23-9.47-14.13-8.81-20.13h0A2.49,2.49,0,0,0,76.61,101.09Zm48.28-74.21h0a21.21,21.21,0,0,1-4.77.39h-2.39l-2.55,0c-2.71,0-5.47-.07-7.9-.13h-.56l-3.55-.08c.21-2,.47-3.78.77-5.44Q107.2,3.8,116.87,6.06c5.9,1.37,9.08,6.45,9.72,15.53,0,.66.12,1.26.19,1.85C127.1,26,127.15,26.34,124.89,26.88Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M83.7,24.31h0A2.56,2.56,0,0,0,81,21.82h-.14c-16.75,1.64-33.77,2.48-50.57,2.49a2.76,2.76,0,0,0,0,5.51c16.9,0,34-.85,50.86-2.49A2.84,2.84,0,0,0,83.7,24.31Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M33.42,50.05l.37,0A284.68,284.68,0,0,1,80.1,46.6a2.67,2.67,0,0,0,2.71-2.76h0a2.67,2.67,0,0,0-2.71-2.75,291.09,291.09,0,0,0-47.47,3.54,2.51,2.51,0,0,0-2.15,2.75,2.92,2.92,0,0,0,2.94,2.67Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M35.51,68.76h0l.32,0c8.28-1,16.87-2.1,25.43-1.82,2.08.07,4.24.29,6.27.49,2.46.24,5,.49,7.54.49a27.06,27.06,0,0,0,8.34-1.18,2.74,2.74,0,0,0,1.88-3.08,2.66,2.66,0,0,0-3.46-2.21,23.94,23.94,0,0,1-7.32,1,77.78,77.78,0,0,1-7.78-.53c-2.53-.26-5.14-.53-7.74-.55h-.67A185.61,185.61,0,0,0,35.5,63.25,2.88,2.88,0,0,0,33,66.33,2.49,2.49,0,0,0,35.51,68.76Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ff0086\",\n d: \"M86.26,83.74a2.63,2.63,0,0,0-2.72-2.64h-.05c-5.23.23-10.57.32-15.84.42-10.47.19-21.29.39-31.92,1.66a2.87,2.87,0,0,0-2.51,3.08,2.52,2.52,0,0,0,2.59,2.44h0l.27,0C46.61,87.42,57.39,87.22,67.8,87H68c5.13-.09,10.43-.19,15.65-.41A2.74,2.74,0,0,0,86.26,83.74Z\"\n})));\nvar SvgBillEfMagenta = function SvgBillEfMagenta(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 132.44 132.19\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBillEfMagenta, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/bill-ef-magenta.d3740d55.svg\";\nexport { ForwardRef as ReactComponent };","import { InformationLog, WarningLog } from '../../components/Shared/ServerLogging';\r\nimport { useEffect, useState } from 'react';\r\n\r\nexport const useConfig = (path) => {\r\n const [config, setConfig] = useState();\r\n\r\n const fetchData = async (path, signal) => {\r\n const response = await fetch(`/api/Configuration/${path}`, { signal: signal });\r\n return response.json();\r\n };\r\n\r\n useEffect(() => {\r\n const controller = new AbortController();\r\n const signal = controller.signal;\r\n\r\n fetchData(path, signal)\r\n .then(data => {\r\n setConfig(data);\r\n InformationLog(`Completed Action: Reading server configuration, [${path}]`);\r\n })\r\n .catch(err => {\r\n if (err.name === 'AbortError') {\r\n WarningLog(`Aborted Action: Reading server configuration, [${path}]`);\r\n }\r\n else {\r\n WarningLog(`Error reading server configuration, [${path}]:`, err);\r\n }\r\n });\r\n\r\n return () => {\r\n controller.abort();\r\n }\r\n\r\n }, [path]);\r\n\r\n return config;\r\n};\r\n\r\nexport default useConfig;","import React, { useEffect } from 'react';\r\nimport WhiteButton from '../../../Shared/WhiteButton';\r\nimport { ReactComponent as HomeOn } from '../../../Shared/svgs/wave-ef-white.svg';\r\nimport { ReactComponent as HomeOff } from '../../../Shared/svgs/wave-ef-magenta.svg';\r\nimport { ReactComponent as MetersOn } from '../../../Shared/svgs/meter-ef-white.svg';\r\nimport { ReactComponent as MetersOff } from '../../../Shared/svgs/meter-ef-magenta.svg';\r\nimport { ReactComponent as BillsOn } from '../../../Shared/svgs/bill-ef-white.svg';\r\nimport { ReactComponent as BillsOff } from '../../../Shared/svgs/bill-ef-magenta.svg';\r\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport useConfig from '../../../../lib/hooks/useConfig';\r\n\r\nconst DashboardContent = ({ children, helpLink }) => {\r\n const match = useRouteMatch('/dashboard/:section');\r\n const history = useHistory();\r\n const tab = match && match.params && match.params.section;\r\n const ccConfig = useConfig('card-payment-config');\r\n\r\n useEffect(() => {\r\n if (tab && ['home', 'meters', 'billing', 'customer'].indexOf(tab) === -1) history.push('/404');\r\n }, [tab, ccConfig])\r\n\r\n return (\r\n <>\r\n
\r\n history.push('/dashboard/home')}\r\n >\r\n {tab === 'home' ? : }\r\n Dashboard\r\n \r\n history.push('/dashboard/meters')}\r\n >\r\n {tab === 'meters' ? : }\r\n Your meters\r\n \r\n history.push('/dashboard/billing')}\r\n >\r\n {tab === 'billing' ? : }\r\n Your bills\r\n \r\n
\r\n
\r\n {children({ tab, helpLink })}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DashboardContent\r\n","import React, { useState } from 'react';\r\n\r\nconst PaymentButton = ({ enabled = false, togglePaymentAmountChoice }) => {\r\n\r\n const [paymentButtonOpen, setPaymentButtonOpen] = useState(false);\r\n\r\n return (\r\n <>\r\n \r\n {paymentButtonOpen}\r\n \r\n )\r\n}\r\n\r\nexport default PaymentButton","import React from 'react';\r\n\r\nexport function PoundSymbol()\r\n{\r\n var formattedValue = `£`;\r\n return ;\r\n};\r\n\r\nexport function PoundCurrency(value)\r\n{\r\n var formattedValue;\r\n var floatVal = parseFloat(value);\r\n\r\n if (floatVal < 0)\r\n {\r\n formattedValue = `-£${Math.abs(floatVal).toFixed(2)}`\r\n }\r\n else\r\n {\r\n formattedValue = value ? `£${floatVal.toFixed(2)}` : `£0.00`;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default PoundSymbol","import WebAPI from './api-calls';\r\nimport { rateHandler } from './rate-handler';\r\n\r\nexport const paymentUrl = async ({ payAmount }) => {\r\n\r\n const task = async (res, rej) => {\r\n console.log('ratelimit paymentUrl', payAmount)\r\n\r\n if (!payAmount) return rej(new Error('Missing data from request'))\r\n\r\n const webApi = new WebAPI();\r\n await webApi.postToWebApiWithAccessTokenAsync(`/api/card-payment-url`, JSON.stringify({ \"Amount\": parseFloat(payAmount) }))\r\n .then(resp => {\r\n if (!resp) {\r\n return res({ success: true });\r\n }\r\n\r\n return res({ success: true, data: resp.data });\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n rej(err);\r\n })\r\n }\r\n return rateHandler(task);\r\n}","import React, { useState } from 'react';\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport InputButton from '../FormComponents/InputButton/index';\r\nimport { PoundCurrency } from '../EncodingManipulation';\r\nimport { paymentUrl } from '../../../lib/api/payments';\r\n\r\nconst PaymentAmountChoice = ({ accountBalance }) => {\r\n const [otherAmount, setOtherAmount] = useState(\"5.00\")\r\n const [option, setOption] = useState(\"account-balance\")\r\n const [submitting, setSubmitting] = useState(false)\r\n const [amountValidationError, setAmountValidationError] = useState()\r\n const history = useHistory()\r\n const location = useLocation()\r\n\r\n const onCustomAmountSelected = () => {\r\n if (window?.mixpanel?.track) {\r\n window.mixpanel.track(\"Pay Now Custom Amount Selected\")\r\n }\r\n setOption(\"other-amount\")\r\n }\r\n\r\n const onAccountBalanceSelected = () => {\r\n if (window?.mixpanel?.track) {\r\n window.mixpanel.track(\"Pay Now Account Balance Selected\")\r\n }\r\n setOption(\"account-balance\")\r\n }\r\n\r\n const submitChoice = async (event) => {\r\n event.preventDefault();\r\n if (submitting) {\r\n console.warn(\"submit clicked again while already submitting\")\r\n return\r\n }\r\n\r\n const minAmount = 5.00;\r\n let payAmount = 0;\r\n if (option == \"account-balance\") {\r\n payAmount = accountBalance.toString();\r\n } else {\r\n payAmount = otherAmount\r\n }\r\n if (!(parseFloat(payAmount) >= minAmount)) {\r\n console.error(`pay amount must be greater than ${minAmount}`);\r\n setAmountValidationError(`Payment must be greater than £${minAmount}`);\r\n return null;\r\n } else if (payAmount > accountBalance) {\r\n console.error(`pay amount must be less than ${accountBalance}`);\r\n setAmountValidationError(`Payments must not be greater than the account balance`);\r\n return null;\r\n } else {\r\n if (amountValidationError) setAmountValidationError(null);\r\n }\r\n\r\n setSubmitting(true);\r\n\r\n await paymentUrl({ payAmount })\r\n .then(res => {\r\n if (!res.data.data.redirectUrl) {\r\n throw new Error(\"redirectUrl is not present in the returned json\")\r\n }\r\n let forwardTo = res.data.data.redirectUrl;\r\n history.push('/cardpayment', { targetUrl: forwardTo, from: location.pathname })\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n setSubmitting(false)\r\n })\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n Pay account balance: {PoundCurrency(accountBalance)}\r\n
\r\n
\r\n \r\n Pay other amount{option == 'other-amount' && (<>: { setOtherAmount(e.target.value) }} />)}\r\n {amountValidationError && (<>
)}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default PaymentAmountChoice","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\r\\n\\t.st0{fill:#FF0082;}\\r\\n\");\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M456.1,264.3c0-15.7-4.6-30.8-13.4-43.7c-4.2-6.2-33.6-57.8-51.1-88.9l-13.1-23.3l-13,23.3 c-6.7,11.9-14.8,26.4-22.7,40.2C313.3,120.4,284,68.3,283.7,67.8l-13.1-23.3l-13,23.3c-1,1.8-101.3,180.8-118.4,205.9 c-18,26.4-27.5,57.4-27.5,89.4c0,87.7,71.3,159,159,159s159-71.3,159-159c0-12.5-1.5-24.9-4.3-36.9C444,312,456.1,289.6,456.1,264.3 z M399.6,363.1c0,71.1-57.9,129-129,129s-129-57.9-129-129c0-26,7.7-51.1,22.3-72.6c14.2-20.8,78.6-134.9,106.7-184.9 c13.3,23.5,34.7,61.3,54.8,96.5c-5.3,9.1-9.4,16-11.1,18.5c-8.8,12.9-13.4,28-13.4,43.7c0,42.8,34.8,77.6,77.6,77.6 c6.5,0,12.8-0.8,18.9-2.3C398.9,347.3,399.6,355.2,399.6,363.1z M378.5,311.9c-26.2,0-47.6-21.4-47.6-47.6c0-9.6,2.8-18.9,8.2-26.8 c5.3-7.8,25.6-43.4,39.4-67.9c14.2,25,35,61.6,39.3,67.9c5.4,7.9,8.2,17.2,8.2,26.8C426.1,290.6,404.8,311.9,378.5,311.9z\"\n});\nvar SvgWaterEfMagenta = function SvgWaterEfMagenta(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 566.9 566.9\",\n style: {\n enableBackground: \"new 0 0 566.9 566.9\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWaterEfMagenta, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/water-ef-magenta.e8bead99.svg\";\nexport { ForwardRef as ReactComponent };","import WebAPI from './api-calls';\r\nimport moment from 'moment'\r\nimport { rateHandler } from './rate-handler';\r\n\r\nexport const searchSPIDs = async (search, page, perPage) => {\r\n const task = async (res, rej) => {\r\n if (!perPage) perPage = 10;\r\n\r\n const request = {\r\n page,\r\n perPage,\r\n search\r\n }\r\n\r\n const webApi = new WebAPI();\r\n const url = webApi.getEndpointWithQuerystringPayload('/api/account-search-meterswithcount', request);\r\n await webApi.getFromWebApiWithAccessTokenAsync(url)\r\n .then(resp => {\r\n if (!resp) {\r\n return res({ success: true, request });\r\n }\r\n\r\n return res({ success: true, data: resp.data, request: request })\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n })\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const fetchMeterData = (spid) => {\r\n const task = async (res, rej) => {\r\n try {\r\n const meters = listMeters(spid);\r\n const locations = listPremises(spid);\r\n\r\n const [meterResp, locationResp] = await Promise.all([meters, locations]);\r\n\r\n const response = {\r\n meters: meterResp.data.data,\r\n location: locationResp.data\r\n }\r\n\r\n return res(response);\r\n\r\n } catch (err) {\r\n return rej(err);\r\n }\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const listPremises = async (spid) => {\r\n const task = async (res, rej) => {\r\n if (!spid) rej();\r\n\r\n console.log('editmeters call list premises');\r\n\r\n const webApi = new WebAPI();\r\n const url = webApi.getEndpointWithQuerystringPayload('/api/account-premises-data', { spid })\r\n await webApi.getFromWebApiWithAccessTokenAsync(url)\r\n .then(resp => {\r\n if (!resp) {\r\n return res({ success: true });\r\n }\r\n\r\n return res({ success: true, data: resp.data })\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n })\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const listMeters = async (spid) => {\r\n const task = async (res, rej) => {\r\n if (!spid) rej();\r\n\r\n console.log('editmeters call listmeters call');\r\n\r\n const webApi = new WebAPI();\r\n const url = webApi.getEndpointWithQuerystringPayload('/api/account-list-meters', { generalSpid: spid })\r\n await webApi.getFromWebApiWithAccessTokenAsync(url)\r\n .then(resp => {\r\n if (!resp) {\r\n res({ success: true });\r\n }\r\n\r\n return res({ success: true, data: resp.data })\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n })\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const submitReading = async ({ generalSpid, spidMeterId, meterSerial, reading, date, validationPassed, failureReasons }) => {\r\n date = date ? moment(date, 'DD.MM.YYYY').toISOString() : null;\r\n\r\n const task = async (res, rej) => {\r\n console.log('ratelimit submitreading', generalSpid, spidMeterId, meterSerial, reading, date, validationPassed, failureReasons)\r\n\r\n if (!generalSpid) return rej(new Error('Missing generalSpid from request'));\r\n if (!spidMeterId) return rej(new Error('Missing spidMeterId from request'));\r\n if (!meterSerial) return rej(new Error('Missing meterSerial from request'));\r\n if (!reading) return rej(new Error('Missing reading from request'));\r\n if (!date) return rej(new Error('Missing date from request'));\r\n if (validationPassed == null || validationPassed == \"null\") return rej(new Error('Missing validationPassed from request'));\r\n if (!failureReasons) return rej(new Error('Missing failureReasons from request'));\r\n\r\n const readDate = new moment(date).format('YYYY-MM-DD');\r\n const webApi = new WebAPI();\r\n\r\n await webApi.postToWebApiWithAccessTokenAsync(`/api/account-submit-reading`, JSON.stringify({ generalSpid, spidMeterId, meterSerial, readDate, reading, validationPassed, failureReasons }))\r\n .then(resp => {\r\n if (!resp) {\r\n return res({ success: true });\r\n }\r\n\r\n return res({ success: true, data: resp.data });\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n rej(err);\r\n })\r\n\r\n }\r\n return rateHandler(task);\r\n}\r\n\r\nexport const validateReading = async ({ spidMeterId, meterSerial, reading, date }) => {\r\n date = date ? moment(date, 'DD.MM.YYYY').toISOString() : null;\r\n\r\n const task = async (res, rej) => {\r\n console.log('ratelimit validatereading', spidMeterId, meterSerial, reading, date)\r\n\r\n if (!spidMeterId || !meterSerial || !reading || !date) return rej(new Error('Missing data from request'));\r\n\r\n const readDate = new moment(date).format('YYYY-MM-DD');\r\n const webApi = new WebAPI();\r\n\r\n await webApi.postToWebApiWithAccessTokenAsync(`/api/account-validate-reading`, JSON.stringify({ spidMeterId, meterSerial, readDate, reading}))\r\n .then(resp => {\r\n if (!resp) {\r\n return res({ success: true });\r\n }\r\n\r\n return res({ success: true, data: resp.data });\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n rej(err);\r\n })\r\n\r\n }\r\n return rateHandler(task);\r\n}","import React, { useCallback, useEffect, useState } from 'react';\r\nimport PaymentButton from '../../../Shared/PaymentButton';\r\nimport PaymentAmountChoice from '../../../Shared/Payment/AmountChoice';\r\nimport { PoundCurrency } from '../../../Shared/EncodingManipulation';\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport { ReactComponent as WaterIcon } from '../../../Shared/svgs/water-ef-magenta.svg';\r\nimport { fetchCustomerDetails } from '../../../../lib/api/customer-details';\r\nimport { searchSPIDs } from '../../../../lib/api/premises';\r\nimport useConfig from '../../../../lib/hooks/useConfig';\r\nimport moment from 'moment';\r\n\r\nconst Home = () => {\r\n\r\n const [loadError, setLoadError] = useState();\r\n const [customerData, setCustomerData] = useState();\r\n const [meterData, setMeterData] = useState();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [paymentEnabled, setPaymentEnabled] = useState(false);\r\n const [showPaymentAmountChoice, setShowPaymentAmountChoice] = useState(false);\r\n const match = useRouteMatch('/dashboard/:section');\r\n const tab = match && match.params && match.params.section;\r\n const ccConfig = useConfig('card-payment-config');\r\n\r\n const loadCustomerDetails = useCallback(async () => {\r\n await fetchCustomerDetails()\r\n .then((resp) => {\r\n setCustomerData(resp);\r\n })\r\n .catch(err => {\r\n console.log('Error loading customer data', err);\r\n });\r\n }, [setCustomerData, setLoadError, loadError]);\r\n\r\n const loadMeterDetails = useCallback(async () => {\r\n await searchSPIDs('', 1, 10000)\r\n .then((resp) => {\r\n setMeterData(resp);\r\n })\r\n .catch(err => {\r\n console.log('Error loading meter data', err);\r\n })\r\n }, [setMeterData, setLoadError, loadError]);\r\n\r\n const togglePaymentAmountChoice = () => {\r\n console.log(\"Toggle function called\");\r\n setShowPaymentAmountChoice(!showPaymentAmountChoice);\r\n };\r\n\r\n useEffect(() => {\r\n loadCustomerDetails().then(r => r);\r\n loadMeterDetails().then(r => r);\r\n }, [loadCustomerDetails, loadMeterDetails]);\r\n\r\n useEffect(() => {\r\n if (ccConfig) {\r\n setPaymentEnabled(ccConfig.cardPaymentEnabled);\r\n setIsLoading(false);\r\n }\r\n }, [ccConfig]);\r\n\r\n if (loadError) return (\r\n
\r\n There was an error loading this page, please click here to try again.\r\n
\r\n );\r\n\r\n if (!customerData || !meterData || !ccConfig) return null;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Hello, {customerData.overview.contactName}

\r\n

Within the portal, you can access and update your account details, manage your premises and meters, view your usage and download your invoices.

\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

Account

\r\n

{customerData.overview.accountNumber}

\r\n
\r\n
\r\n

No. of locations

\r\n

{meterData.data.data.totalResults}

\r\n
\r\n
\r\n

No. of meters

\r\n

{meterData.data.data.results.reduce((sum, current) => {\r\n return sum + current.metersOnSPID;\r\n }, 0)}

\r\n
\r\n
\r\n

Account balance

\r\n
\r\n \r\n \r\n {PoundCurrency(customerData.accountBalance.accountBalance)}\r\n \r\n \r\n {!isLoading && (tab === 'home' && paymentEnabled) && (\r\n 0} togglePaymentAmountChoice={togglePaymentAmountChoice} amount={customerData.accountBalance.accountBalance} />\r\n )}\r\n
\r\n
\r\n
\r\n {showPaymentAmountChoice && }\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Contract end date

\r\n

{moment(customerData.payment.contractEnd).subtract(1, 'days').format('DD.MM.YYYY')}

\r\n
\r\n
\r\n

Expected billing date

\r\n

{customerData.accountBalance.expectedBilling ? `${moment().date(customerData.accountBalance.expectedBilling).format('Do')} of Month` : ''}

\r\n
\r\n
\r\n

Payment method

\r\n

{customerData.accountBalance.paymentMethod == 'DD' ? 'Direct Debit' : 'Manual Payment'}

\r\n
\r\n
\r\n

Billing term

\r\n

{customerData.accountBalance.billingTerms}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Home","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\r\\n\\t.loading-search-1{fill:#26FF9D;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.loading-search-2{fill:none;}\\r\\n #loading-search-check{opacity: 0}\\r\\n\");\nvar _ref3 = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"loading-search-1\",\n cx: 26.2,\n cy: 26.2,\n r: 24.8,\n transform: \"rotate(-180 26.25 26.25)\"\n});\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Large-DesktopFormValid\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"loading-search-check\",\n transform: \"translate(3 5)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n d: \"M33.8,12.2L18.3,27.7l-5.5-5.5c-0.3-0.3-0.7-0.3-0.9,0l-0.6,0.6c-0.3,0.3-0.3,0.7,0,0.9l6.6,6.5 c0.3,0.3,0.7,0.3,0.9,0l16.6-16.5c0.3-0.3,0.3-0.7,0-0.9l-0.6-0.6C34.4,12,34,12,33.8,12.2z\"\n})));\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-Copy\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Rectangle\",\n className: \"loading-search-2\",\n d: \"M8.2,9h35.1v35.1H8.2V9z\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"loading-search-glass\",\n transform: \"translate(3 3)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"M35.4,34.8l-6.4-6.4c-0.1-0.1-0.3-0.2-0.4-0.2H28c1.7-1.9,2.8-4.3,2.8-7c0-5.7-4.6-10.4-10.4-10.4 c-5.7,0-10.4,4.6-10.4,10.4c0,5.7,4.6,10.4,10.4,10.4c2.7,0,5.2-1,7-2.8v0.5c0,0.2,0.1,0.3,0.2,0.4l6.4,6.4c0.2,0.2,0.6,0.2,0.8,0 l0.5-0.5C35.6,35.4,35.6,35,35.4,34.8z M20.4,29.9c-4.9,0-8.8-3.9-8.8-8.8c0-4.9,3.9-8.8,8.8-8.8c4.9,0,8.8,3.9,8.8,8.8 C29.1,26,25.2,29.9,20.4,29.9z\"\n})));\nvar SvgLoadingSearchIcon = function SvgLoadingSearchIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 53 53\",\n style: {\n enableBackground: \"new 0 0 53 53\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLoadingSearchIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/loading-search-icon.c54db52e.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useRef, useEffect } from 'react';\r\nimport {ReactComponent as LoadingSearchIcon} from '../../../../../Shared/svgs/loading-search-icon.svg'\r\n\r\nconst SearchBox = ({onChange, searchLoader, value, label, password, className, readOnly, req, error, id, onBlur}) => {\r\n\r\n const [active, setActive] = useState();\r\n const [length, setLength] = useState();\r\n const [inc, setInc] = useState();\r\n\r\n const timer = useRef()\r\n const glassTo = useRef();\r\n const checkTo = useRef();\r\n\r\n const timerVal = useRef()\r\n const loaderEl = useRef()\r\n\r\n const showLoader = () => {\r\n loaderEl.current.style.opacity = 1;\r\n }\r\n\r\n const hideLoader = () => {\r\n loaderEl.current.style.opacity = 0;\r\n }\r\n\r\n const startTimer = () => {\r\n\r\n clearInterval(timer.current);\r\n clearTimeout(glassTo.current);\r\n clearTimeout(checkTo.current);\r\n\r\n timerVal.current = length;\r\n\r\n const circle = loaderEl.current.querySelector('circle');\r\n circle.style.transitionDuration = '0s';\r\n circle.style.strokeDashoffset = timerVal.current;\r\n circle.style.strokeOpacity = 1;\r\n\r\n const search = loaderEl.current.querySelector('#loading-search-glass');\r\n search.style.opacity = 0;\r\n\r\n timer.current = setInterval(()=>{\r\n timerVal.current -= (inc * 20);\r\n\r\n if(timerVal.current <= 0){\r\n timerVal.current = 0;\r\n clearInterval(timer.current);\r\n }\r\n\r\n const circle = loaderEl.current.querySelector('circle');\r\n circle.style.transitionDuration = '.5s';\r\n circle.style.strokeDashoffset = timerVal.current;\r\n }, 500)\r\n }\r\n\r\n const endTimer = () => {\r\n timerVal.current = 0;\r\n if(!loaderEl.current) return;\r\n const circle = loaderEl.current.querySelector('circle');\r\n circle.style.transitionDuration = '.1s';\r\n circle.style.strokeDashoffset = timerVal.current;\r\n const search = loaderEl.current.querySelector('#loading-search-check');\r\n search.style.opacity = 1;\r\n clearInterval(timer.current);\r\n checkTo.current = setTimeout(()=> {\r\n circle.style.transitionDuration = '.5s';\r\n circle.style.strokeOpacity = '0';\r\n const check = loaderEl.current.querySelector('#loading-search-check');\r\n check.style.opacity = 0;\r\n }, 500)\r\n glassTo.current = setTimeout(()=> {\r\n const search = loaderEl.current.querySelector('#loading-search-glass');\r\n search.style.opacity = 1;\r\n },1000)\r\n }\r\n\r\n useEffect(()=>{\r\n const circle = loaderEl.current.querySelector('circle');\r\n const initLength = circle.getTotalLength()\r\n setLength(initLength);\r\n setInc(initLength / 100)\r\n circle.style.strokeDasharray = initLength;\r\n circle.style.transitionProperty= 'all';\r\n circle.style.transitionTimingFunction = 'linear';\r\n circle.style.transitionDuration = '0';\r\n circle.style.strokeOpacity = 0;\r\n\r\n const tick = loaderEl.current.querySelector('#loading-search-check');\r\n tick.style.opacity = 0;\r\n tick.style.transitionProperty= 'all';\r\n tick.style.transitionTimingFunction = 'linear';\r\n tick.style.transitionDuration = '.5s';\r\n\r\n const search = loaderEl.current.querySelector('#loading-search-glass');\r\n search.style.transitionProperty= 'all';\r\n search.style.transitionTimingFunction = 'linear';\r\n search.style.transitionDuration = '.5s';\r\n\r\n return () => {\r\n clearInterval(timer.current)\r\n clearTimeout(glassTo.current);\r\n clearTimeout(checkTo.current);\r\n }\r\n },[])\r\n\r\n if(searchLoader) searchLoader.current = {\r\n showLoader,\r\n hideLoader,\r\n startTimer,\r\n endTimer\r\n }\r\n\r\n const focus = active || !!value;\r\n\r\n const classes = [\r\n 'input-text',\r\n 'grid',\r\n 'grid-cols-1',\r\n 'md:grid-cols-9'\r\n ]\r\n\r\n if(className) classes.push(className);\r\n if(focus) classes.push('focus');\r\n\r\n return (\r\n
\r\n
\r\n {label ? (\r\n \r\n ) : null}\r\n
\r\n \r\n
\r\n setActive(true)}\r\n onBlur={ev=>{setActive(false); onBlur && onBlur(ev)}}\r\n readOnly={!!readOnly}\r\n className=\"rounded-lg\"\r\n />\r\n
\r\n {error ? (\r\n
{error}
\r\n ) : null}\r\n
\r\n )\r\n}\r\n\r\nexport default SearchBox","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"angle-down-light\",\n transform: \"matrix(1.1924881E-08 1 -1 1.1924881E-08 8.144775 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.53525 7.95138L0.192736 1.51045C-0.0642453 1.25347 -0.0642453 0.837922 0.192736 0.580941L0.580941 0.192736C0.837922 -0.0642453 1.25347 -0.0642453 1.51045 0.192736L7 5.78617L12.4896 0.198203C12.7465 -0.0587776 13.1621 -0.0587776 13.4191 0.198203L13.8073 0.586409C14.0642 0.84339 14.0642 1.25893 13.8073 1.51591L7.46475 7.95684C7.20777 8.20836 6.79223 8.20836 6.53525 7.95138Z\",\n id: \"Path\",\n stroke: \"none\"\n}));\nvar SvgChevronLeft = function SvgChevronLeft(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"9px\",\n height: \"14px\",\n viewBox: \"0 0 9 14\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgChevronLeft, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/chevron-left.c5cb7f91.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {ReactComponent as Chevron} from '../../Shared/svgs/chevron-left.svg'\r\n\r\nconst Pagination = ({pages, selected, callback, className}) => {\r\n\r\n if(!pages || pages === 1) return null;\r\n \r\n if(!selected) selected = 1;\r\n\r\n // build array or all pages\r\n var buttons = []\r\n for(var i = 1; i <= pages; i++) buttons.push(i);\r\n\r\n // check which pages to display, if more than 5\r\n buttons = (() => {\r\n\r\n if(pages <= 5) return buttons;\r\n \r\n // if selected in first 3\r\n if(selected < 4) return [...buttons.slice(0, 5), '...']\r\n\r\n // if selected in last 3\r\n if((pages - selected) < 3) return ['...', ...buttons.slice(pages - 5, pages)]\r\n\r\n return ['...', ...buttons.slice(selected - 3, selected + 2), '...']\r\n })()\r\n \r\n \r\n return (\r\n
\r\n \r\n {buttons.map((i, index) => {\r\n\r\n // if selected\r\n if(i == selected) return {i}\r\n \r\n // if first dots\r\n if(i == '...' && index == 0) return callback(1)}className=\"w-50px h-50px border border-transparent rounded-25px flex flex-col items-center justify-center hover:underline cursor-pointer\">{i}\r\n // if last dots\r\n if(i == '...' && index == buttons.length - 1) return callback(pages)}className=\"w-50px h-50px border border-transparent rounded-25px flex flex-col items-center justify-center hover:underline cursor-pointer\">{i}\r\n\r\n // default\r\n return callback(i)}className=\"w-50px h-50px border border-transparent rounded-25px flex flex-col items-center justify-center hover:underline cursor-pointer\">{i}\r\n })}\r\n\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Pagination;","import React from \"react\";\r\nimport {ReactComponent as Chevron} from '../../Shared/svgs/chevron-left.svg'\r\n\r\nexport const SkeletonText = ({className, spacing, inheritFontSize, noPulse}) => {\r\n if(!spacing) spacing = '6px';\r\n const fontSize = inheritFontSize ? '1em' : '12px';\r\n\r\n return (\r\n
\r\n )\r\n}\r\n\r\nexport const SkeletonBlock = ({rows}) => {\r\n if(!rows) rows = 1;\r\n\r\n const rowBlock = [];\r\n for(var i = 1; i < rows; i++) rowBlock.push()\r\n rowBlock.push()\r\n return (\r\n
\r\n {rowBlock}\r\n
\r\n )\r\n}\r\n\r\nexport const SkeletonInput = ({noPulse, className}) => (\r\n
\r\n)\r\n\r\n\r\n\r\nexport const SideSkeleton = () => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n)\r\n\r\nexport const SkeletonPagination = ({pages, selected, className}) => {\r\n\r\n console.log('skeleton selected', selected)\r\n console.log('skeleton pages', pages)\r\n\r\n\r\n if(!pages || pages === 1) return null;\r\n \r\n // build array or all pages\r\n var buttons = []\r\n for(var i = 1; i <= pages; i++) buttons.push(i);\r\n\r\n // check which pages to display, if more than 5\r\n buttons = (() => {\r\n\r\n if(pages <= 5) return buttons;\r\n \r\n // if selected in first 3\r\n if(selected < 4) return [...buttons.slice(0, 5), '...']\r\n\r\n // if selected in last 3\r\n if((pages - selected) < 3) return ['...', ...buttons.slice(pages - 5, pages)]\r\n\r\n return ['...', ...buttons.slice(selected - 3, selected + 2), '...']\r\n })()\r\n \r\n \r\n return (\r\n
\r\n \r\n {buttons.map((i, index) => {\r\n\r\n // if selected\r\n if(i == selected) return \r\n \r\n // if first dots\r\n if(i == '...' && index == 0) return \r\n // if last dots\r\n if(i == '...' && index == buttons.length - 1) return \r\n\r\n // default\r\n return \r\n })}\r\n\r\n \r\n
\r\n )\r\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\r\\n\\t.plus0{fill:#FF0082;}\\r\\n\");\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n className: \"plus0\",\n d: \"M6.56,6.56h4.12h0.85c0.13,0,0.23-0.1,0.23-0.23V5.43c0-0.13-0.1-0.23-0.23-0.23l-4.97,0l0-4.97 C6.56,0.1,6.46,0,6.33,0L5.43,0C5.3,0,5.2,0.1,5.2,0.23V5.2l-4.97,0C0.1,5.2,0,5.3,0,5.43v0.91c0,0.13,0.1,0.23,0.23,0.23l4.97,0 v4.12v0.85c0,0.13,0.1,0.23,0.23,0.23h0.91c0.13,0,0.23-0.1,0.23-0.23V6.56z\"\n});\nvar SvgPlus = function SvgPlus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 11.76 11.76\",\n style: {\n enableBackground: \"new 0 0 11.76 11.76\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPlus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/plus.b086c5ef.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useRef, useState } from 'react';\r\nimport SearchBox from './SearchBox';\r\nimport Pagination from '../../../../Shared/Pagination';\r\nimport { searchSPIDs } from '../../../../../lib/api/premises';\r\nimport { SkeletonText } from '../../../../Shared/Skeletons';\r\nimport { useDebounce } from '../../../../../lib/hooks/useDebounce';\r\nimport { Link } from \"react-router-dom\";\r\nimport { ReactComponent as Plus } from '../../../../Shared/svgs/plus.svg'\r\n\r\nconst SearchMeters = ({ search, setSearch, page, setPage, results, setResults, helpLink }) => {\r\n const [startSearch, setStartSearch] = useDebounce(300, '');\r\n const [loadError, setLoadError] = useState();\r\n const [loading, setLoading] = useState();\r\n\r\n const searchLoader = useRef();\r\n\r\n const searchRef = useRef();\r\n searchRef.current = {startSearch, page}\r\n\r\n const doSearch = useCallback(()=>{\r\n if(results &&\r\n results.request.search === search &&\r\n results.request.page === page\r\n ) return;\r\n\r\n if(!results || results.request.search !== searchRef.current.startSearch){\r\n searchLoader.current && searchLoader.current.startTimer();\r\n }\r\n\r\n setLoading(1);\r\n\r\n searchSPIDs(startSearch, page)\r\n .then(resp => {\r\n if(resp.request.search === searchRef.current.startSearch && resp.request.page === searchRef.current.page){\r\n setLoading(false)\r\n if(!results || results.request.search !== searchRef.current.startSearch) searchLoader.current.endTimer();\r\n setResults(resp);\r\n if(loadError) setLoadError(false);\r\n\r\n }else{\r\n setLoading(false)\r\n if(loadError) setLoadError(false);\r\n }\r\n })\r\n .catch(err => {\r\n searchLoader.current.endTimer();\r\n setLoading(false)\r\n setLoadError(true);\r\n })\r\n\r\n }, [results, search, page, startSearch, setLoading, searchSPIDs, setResults, setLoadError, loadError])\r\n\r\n useEffect(doSearch, [startSearch, page])\r\n\r\n useEffect(() =>\r\n {\r\n setStartSearch(search)\r\n }, [search])\r\n\r\n const skeletonHelper = results && results.data && results.data.data && results.data.data.results && results.data.data.results.length ? results.data.data.results : [1];\r\n\r\n return (\r\n <>\r\n
\r\n

Search for your location

\r\n

Enter your SPID (this is your Supply Point number, which can be found on your water bills), or postcode below. As long as the premises is not 'Unmetered', you will find out where your meter is located.

\r\n { setPage(1); setSearch(ev.target.value) }}\r\n label=\"Enter SPID or Postcode\"\r\n req\r\n />\r\n
\r\n
\r\n
\r\n

Your locations

\r\n

Need help, click here

\r\n
\r\n {loadError ? (\r\n
There was an error loading this page, please click here to try again.
\r\n ) : (\r\n <>\r\n {results && results.data && results.data.data ? (\r\n <>\r\n {loading ? (\r\n
    \r\n {skeletonHelper.map((i, index) => {\r\n const width = index % 2 == 0 ? 'w-200px' : 'w-300px';\r\n return(\r\n
  • \r\n )})}\r\n
\r\n ) : (\r\n <>\r\n {!results.data.data.results.length ? (\r\n
No results to show.
\r\n ) : (\r\n
    \r\n {results.data.data.results.map((i, index) => {\r\n var address = [];\r\n if(i.premisesAddressLineOne) address.push(i.premisesAddressLineOne)\r\n if(i.premisesAddressLineTwo) address.push(i.premisesAddressLineTwo)\r\n if(i.premisesAddressLineThree) address.push(i.premisesAddressLineThree)\r\n if(i.premisesAddressLineFour) address.push(i.premisesAddressLineFour)\r\n if(i.premisesAddressLineFive) address.push(i.premisesAddressLineFive)\r\n if (i.premisesPostcode) address.push(i.premisesPostcode)\r\n const hasMeters = (i.metersOnSPID > 0);\r\n const label = hasMeters ? 'View meter' : 'Unmetered';\r\n const linkUri = hasMeters ? `/dashboard/meters/${i.spid}` : `#`;\r\n const linkId = `your-meters-button-view-meter-${i.spid}`\r\n if (hasMeters)\r\n {\r\n return (\r\n
  • \r\n
    \r\n
    \r\n
    \r\n

    SPID

    \r\n
    \r\n
    \r\n

    {i.spid}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n

    {address.join(', ')}

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
  • \r\n )\r\n }\r\n else\r\n {\r\n return (\r\n
  • \r\n
    \r\n
    \r\n
    \r\n

    SPID

    \r\n
    \r\n
    \r\n

    {i.spid}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n

    {address.join(', ')}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n )\r\n }\r\n })}\r\n
\r\n )}\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n ) : null}\r\n\r\n \r\n )}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SearchMeters;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"M13.1,0H1.5c-1.3,0-1.9,1.6-1,2.5l5.8,5.8c0.6,0.6,1.5,0.6,2.1,0l5.8-5.8C15,1.6,14.4,0,13.1,0z M7.3,7.3L1.5,1.5h11.6L7.3,7.3z\"\n});\nvar SvgDropdown = function SvgDropdown(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 14.6 8.7\",\n style: {\n enableBackground: \"new 0 0 14.6 8.7\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDropdown, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/dropdown.3348b9bb.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m54.95,3.83C42.02-2.53,26.04-.89,14.76,8.14,3.03,17.53-2.64,33.24,1.18,47.92c2.15,8.26,6.96,15.46,13.71,20.67,3.34,2.58,7.12,4.49,11.12,5.82.91.3,1.84.56,2.77.79.54.13,1.08.26,1.62.35.31.05.63.06.94.1-.04.01.32.11.42.13,2.46.47,5.09.51,7.58.4,8.87-.39,17.3-4.04,23.88-9.96,6.42-5.78,10.61-13.73,12.08-22.21.35-2.03.52-4.08.53-6.14-.07-14.26-7.98-27.7-20.89-34.04Zm4.74,23.5c-.95,1.16-1.9,2.32-2.85,3.47-6.72,8.18-13.43,16.35-20.15,24.53-.97,1.19-3.49,2.1-4.85,1.02l-15-12c-1.88-1.51-2.2-3.66-1.06-5.81.5-.95,1.54-1.84,2.56-2.2.82-.29,2.26-.38,3,.21,4.19,3.35,8.39,6.71,12.58,10.06.14-.17.29-.35.43-.52,6.72-8.18,13.43-16.35,20.15-24.53,1.41-1.72,4.08-1.92,5.65-.37,1.72,1.71.87,4.51-.45,6.13Z\"\n}));\nvar SvgTickEfBlack = function SvgTickEfBlack(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n viewBox: \"0 0 75.84 76.23\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTickEfBlack, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/tick-ef-black.9482270e.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useCallback, useEffect, useRef } from 'react'\r\nimport {ReactComponent as Chevron} from '../../../svgs/chevron-left.svg';\r\nimport moment from 'moment';\r\nimport _ from 'lodash'\r\nimport {motion, AnimatePresence } from 'framer-motion';\r\nimport { useDebounce } from '../../../../../lib/hooks/useDebounce';\r\n\r\nconst variantsLeft = {\r\n hidden: { opacity: 0, x: 100, y: 0, position: 'absolute', width: '100%' },\r\n enter: { opacity: 1, x: 0, y: 0, position: 'relative', width: '100%' },\r\n exit: { opacity: 0, x: -100, y: 0, position: 'absolute', width: '100%' },\r\n}\r\n\r\n\r\nconst variantsRight = {\r\n hidden: { opacity: 0, x: -100, y: 0, position: 'absolute', width: '100%' },\r\n enter: { opacity: 1, x: 0, y: 0, position: 'relative', width: '100%' },\r\n exit: { opacity: 0, x: 100, y: 0, position: 'absolute', width: '100%' },\r\n }\r\nconst months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec'\r\n]\r\n\r\nconst YearPicker = ({active, close, show, setShow, blockFuture, blockPast}) => {\r\n\r\n const ref = useRef();\r\n\r\n const [left, setLeft] = useState();\r\n\r\n const checkClick = ev => {\r\n if(!ref || !ref.current) return;\r\n if(!ref.current.contains(ev.target)) close();\r\n }\r\n\r\n useEffect(()=>{\r\n if(!active) return;\r\n window.addEventListener('click', checkClick);\r\n return () => {\r\n window.removeEventListener('click', checkClick);\r\n }\r\n }, [active])\r\n\r\n const [year, setYear] = useDebounce(1);\r\n\r\n const backYear = () => {\r\n setLeft(true);\r\n setYear(parseInt(year) - 1);\r\n }\r\n\r\n const forwardYear = () => {\r\n setLeft(false);\r\n setYear(parseInt(year) + 1);\r\n }\r\n\r\n const setMonth = useCallback(toSet => {\r\n console.log('setting', year, toSet)\r\n const newShow = _.cloneDeep(show)\r\n setShow(newShow.year(year).month(toSet))\r\n close();\r\n }, [year, setShow])\r\n\r\n useEffect(()=>{\r\n setYear(moment(show).format('YYYY'))\r\n }, [])\r\n\r\n console.log('yearpick', year)\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {year}\r\n \r\n
\r\n
\r\n \r\n \r\n {months.map((month, i) => {\r\n const blocked = blockFuture && (moment(`${year}-${i + 1}`).format('YYYYMM') > moment().format('YYYYMM'));\r\n\r\n return (\r\n
  • \r\n setMonth(i)}>\r\n {month}\r\n \r\n
  • \r\n )\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default YearPicker","import React, { useState } from 'react';\r\nimport { useDebounce } from '../../../../../lib/hooks/useDebounce';\r\nimport {ReactComponent as Tick} from '../../../../Shared/svgs/tick.svg'\r\nimport TickAnim from '../../../../Shared/TickAnim';\r\n\r\nconst InputText = React.forwardRef(({onChange, value, label, password, onClick, className, readOnly, tick, cross, req, error, id, onBlur, onFocus, loadingTick, thin}, ref) => {\r\n\r\n const [active, setActive] = useDebounce(100);\r\n \r\n const focus = active || !!value;\r\n\r\n const classes = [\r\n 'input-text'\r\n ]\r\n \r\n if(className) classes.push(className);\r\n if(focus) classes.push('focus');\r\n\r\n\r\n if (tick) classes.push('tick');\r\n if (error || cross) classes.push('cross');\r\n\r\n console.log('error input', error)\r\n\r\n return (\r\n
    \r\n
    \r\n {label ? (\r\n \r\n ) : null}\r\n {tick ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n {loadingTick ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n onBlur && onBlur(ev)}\r\n className={className}\r\n />\r\n
    \r\n {error ? (\r\n
    {error}
    \r\n ) : null}\r\n
    \r\n )\r\n})\r\n\r\n\r\n\r\nexport default InputText","import React, { useRef, useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport {ReactComponent as Chevron} from '../../svgs/chevron-left.svg';\r\nimport YearPicker from './YearPicker';\r\nimport {motion, AnimatePresence } from 'framer-motion';\r\nimport { useDebounce } from '../../../../lib/hooks/useDebounce';\r\nimport TextBox from './TextBox';\r\nimport ReactDOM from 'react-dom';\r\n\r\nconst variantsLeft = {\r\n hidden: { opacity: 0, x: 100, y: 0, position: 'absolute', width: '100%' },\r\n enter: { opacity: 1, x: 0, y: 0, position: 'relative', width: '100%' },\r\n exit: { opacity: 0, x: -100, y: 0, position: 'absolute', width: '100%' },\r\n}\r\n\r\nconst variantsRight = {\r\n hidden: { opacity: 0, x: -100, y: 0, position: 'absolute', width: '100%' },\r\n enter: { opacity: 1, x: 0, y: 0, position: 'relative', width: '100%' },\r\n exit: { opacity: 0, x: 100, y: 0, position: 'absolute', width: '100%' },\r\n }\r\n\r\nconst DatePicker = ({label, onChange, format, thin, error, onBlur, id, tick, className}) => {\r\n\r\n const [selected, setSelected] = useState(moment());\r\n const [showPicker, setShowPicker] = useState();\r\n\r\n const [height, setHeight] = useState(0);\r\n const [show, setShow] = useDebounce(1);\r\n\r\n const [position, setPosition] = useState({top: 0, left: 0})\r\n\r\n console.log('picker', showPicker);\r\n\r\n const ref = useRef();\r\n \r\n const inputRef = useRef();\r\n\r\n const resetHeight = () => {\r\n setHeight(showPicker ? ref.current.clientHeight : 0)\r\n }\r\n\r\n useEffect(()=>{\r\n resetHeight()\r\n }, [showPicker])\r\n\r\n const checkClick = ev => {\r\n if(!showPicker) return; \r\n if(ref.current.contains(ev.target)) return;\r\n setShowPicker(false);\r\n }\r\n\r\n useEffect(()=>{\r\n if(showPicker){\r\n\r\n const position = inputRef.current.getBoundingClientRect()\r\n\r\n const top = position.top + window.scrollY\r\n const left = position.left + window.scrollX\r\n\r\n setPosition({top, left});\r\n\r\n\r\n window.addEventListener('click', checkClick);\r\n return () => {\r\n window.removeEventListener('click', checkClick);\r\n\r\n }\r\n }else{\r\n setPosition({top: 0, left: 0});\r\n }\r\n }, [showPicker])\r\n\r\n useEffect(()=>{\r\n setShowPicker(false);\r\n\r\n var returnVal = selected;\r\n\r\n if(returnVal){\r\n returnVal = format ? returnVal.format(format) : returnVal.toISOString();\r\n\r\n }\r\n\r\n onChange && onChange(returnVal);\r\n\r\n }, [selected])\r\n\r\n const hideOnResize = () => {\r\n setShowPicker(false);\r\n }\r\n\r\n useEffect(()=>{\r\n window.addEventListener('resize', hideOnResize)\r\n return () =>{\r\n window.removeEventListener('resize', hideOnResize)\r\n }\r\n }, [hideOnResize])\r\n\r\n const positionStyle = {top: position.top + 76, left: position.left}\r\n if(window.innerWidth < 950) {\r\n positionStyle.left = '50%';\r\n positionStyle.transform = 'translateX(-50%)';\r\n }\r\n\r\n return(\r\n
    \r\n setShowPicker(true)}\r\n ref={inputRef}\r\n error={error}\r\n onBlur={onBlur}\r\n tick={tick}\r\n className={className}\r\n />\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n )\r\n}\r\n\r\n\r\nconst DateDisplay = React.forwardRef(({show, setShow, selected, onSelect, blockFuture, blockPast, resetHeight}, ref) => {\r\n if(!show) show = moment()\r\n\r\n const [left, setLeft] = useState();\r\n\r\n const [yearPicker, setYearPicker] = useState();\r\n\r\n const month = show.format('MM');\r\n const year = show.format('YYYY');\r\n\r\n const daysInMonth = show.daysInMonth();\r\n const firstDay = moment(show).date(1).format('d');\r\n const lastDay = moment(show).date(daysInMonth).format('d');\r\n\r\n var cells = [];\r\n for(var i = 1; i <= daysInMonth; i++) cells.push(i);\r\n\r\n const startExtra = [];\r\n for(var i = 0; i < firstDay; i++) startExtra.push('');\r\n\r\n const endExtra = [];\r\n for(var i = 0; i < (6 - lastDay); i++) endExtra.push('')\r\n\r\n cells = [...startExtra, ...cells, ...endExtra];\r\n\r\n const showSelected = (function(){\r\n if(!(selected && (moment(show).format('YYYY-MM') == moment(selected).format('YYYY-MM')))) return false;\r\n return moment(selected).format('D')\r\n })()\r\n\r\n const selectDate = day => {\r\n if(!day) return;\r\n onSelect && onSelect(moment(show).date(day));\r\n }\r\n\r\n const backMonth = () => {\r\n setLeft(true);\r\n const newMonth = moment(show).subtract(1, 'month');\r\n setShow(newMonth);\r\n }\r\n\r\n const forwardMonth = () => {\r\n setLeft(false);\r\n const newMonth = moment(show).add(1, 'month');\r\n setShow(newMonth);\r\n }\r\n\r\n useEffect(()=>{\r\n const to = setTimeout(resetHeight, 100);\r\n return () => clearTimeout(to);\r\n }, [show])\r\n\r\n\r\n return (\r\n
    \r\n setYearPicker(false)}\r\n show={show}\r\n setShow={setShow}\r\n blockFuture={blockFuture}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
  • S
  • \r\n
  • M
  • \r\n
  • T
  • \r\n
  • W
  • \r\n
  • T
  • \r\n
  • F
  • \r\n
  • S
  • \r\n {cells.map((day, i) => {\r\n var blocked = false;\r\n const currentDay = moment(`${year}-${month}`).date(day);\r\n if(blockFuture && currentDay.format('YYYYMMDD') > moment().format('YYYYMMDD')) blocked = true;\r\n if(blockPast && currentDay.format('YYYYMMDD') < moment().format('YYYYMMDD')) blocked = true;\r\n \r\n const classes = [];\r\n if(showSelected && (showSelected == day)) classes.push('selected');\r\n if(day) classes.push('day');\r\n if(blocked) classes.push('blocked');\r\n\r\n if(day && currentDay.format('YYYYMMDD') == moment().format('YYYYMMDD')) classes.push('today')\r\n\r\n return(\r\n
  • !blocked && selectDate(day)}>\r\n {day}
  • \r\n )\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n})\r\n\r\nconst Portal = ({children, divId}) => {\r\n\r\n const alertRoot = document.getElementById(divId);\r\n return ReactDOM.createPortal(\r\n children,\r\n alertRoot\r\n );\r\n}\r\n\r\nexport default DatePicker;","import React, { useRef, useState } from 'react';\r\nimport InputText from '../../../../../Shared/FormComponents/InputText'\r\nimport InputButton from '../../../../../Shared/FormComponents/InputButton';\r\nimport { ReactComponent as DropDown } from '../../../../../Shared/svgs/dropdown.svg'\r\nimport { ReactComponent as BlackInverseTick } from '../../../../../Shared/svgs/tick-ef-black.svg'\r\nimport moment from 'moment';\r\nimport { Formik } from 'formik'\r\nimport * as Yup from 'yup';\r\nimport { submitReading, validateReading } from '../../../../../../lib/api/premises';\r\nimport DatePicker from '../../../../../Shared/FormComponents/DatePicker';\r\n\r\nconst ModalBackground = () => {\r\n return
    \r\n}\r\n\r\nconst ConfirmModal = ({ date, reading, serial, doReading, setShowConfirmModal, setSubmitting, submitting }) => {\r\n if (!date || !reading || !serial) {\r\n return null\r\n }\r\n\r\n const ukDate = moment(date, \"DD.MM.YYYY\").format(\"DD/MM/YYYY\")\r\n const text = `You have submitted a read of ${Number(reading)}m3 for ${ukDate} for meter: ${serial}. Is this correct?`\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n

    {text}

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nconst SoftValidationModal = ({ date, reading, serial, doReading, setShowSoftValidateModal, errors, setSubmitting, submitting }) => {\r\n if (!date || !reading || !serial || !errors) {\r\n return null\r\n }\r\n\r\n const ukDate = moment(date, \"DD.MM.YYYY\").format(\"DD/MM/YYYY\")\r\n const text = `You have submitted a read of ${Number(reading)}m3 for ${ukDate} for meter: ${serial}. This read is not in line with what we were expecting.`\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n

    {text}

    \r\n {errors.length > 0 && (\r\n
      \r\n {errors.map(err =>
    • {err.description}
    • )}\r\n
    \r\n )}\r\n

    Here are some things to check before confirming the read:

    \r\n
      \r\n
    • Make sure the meter serial number is correct.
    • \r\n
    • Make sure you have only entered the correct numbers. These may be in black and white only for an analogue meter, or on a digital meter this could be the numbers before the comma.
    • \r\n
    • Your meter may have rolled over (gone from 9999 then to 0).
    • \r\n
    \r\n

    If you have completed the above checks and the reading is right, please confirm the read.

    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nconst MeterEntry = ({ item, expanded, setExpanded }) => {\r\n const [loading, setLoading] = useState();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [success, setSuccess] = useState();\r\n const [showConfirmModal, setShowConfirmModal] = useState(false);\r\n const [showSoftValidateModal, setShowSoftValidateModal] = useState(false);\r\n const [error, setError] = useState()\r\n const [failureReasons, setFailureReasons] = useState()\r\n const [readingObject, setReadingObject] = useState()\r\n const [expand] = useState(0);\r\n const ref = useRef();\r\n\r\n const display = expanded ? 'flex' : 'none';\r\n\r\n const showElementById = (elementId) => {\r\n const element = document.getElementById(elementId);\r\n if (element) {\r\n element.classList.remove('hidden');\r\n }\r\n }\r\n\r\n const hideElementById = (elementId) => {\r\n const element = document.getElementById(elementId);\r\n if (element) {\r\n element.classList.add('hidden');\r\n }\r\n }\r\n\r\n const confirmReading = () => {\r\n setShowConfirmModal(true);\r\n }\r\n\r\n const softFailReading = () => {\r\n setShowSoftValidateModal(true);\r\n }\r\n\r\n const processReading = ({ reading, date }) => {\r\n hideElementById('yourmeters-submitreading-success-' + item.meterSerial);\r\n setSubmitting(\"validating\")\r\n\r\n validateReading({\r\n spidMeterId: item.spidMeterId,\r\n meterSerial: item.meterSerial,\r\n reading,\r\n date\r\n }).then(res => {\r\n const firstError = res.data.data.failureReasons[0]\r\n setFailureReasons(res.data.data.failureReasons)\r\n setSubmitting(\"modal\")\r\n\r\n if (firstError.description === \"Success\") {\r\n setReadingObject({\r\n validationPassed: true,\r\n generalSpid: item.generalSpid,\r\n reading: parseInt(reading),\r\n date,\r\n spidMeterId: item.spidMeterId,\r\n meterSerial: item.meterSerial,\r\n failureReasons: res.data.data.failureReasons.map(i => i.id)\r\n })\r\n confirmReading()\r\n } else {\r\n setReadingObject({\r\n validationPassed: false,\r\n generalSpid: item.generalSpid,\r\n reading: parseInt(reading),\r\n date,\r\n spidMeterId: item.spidMeterId,\r\n meterSerial: item.meterSerial,\r\n failureReasons: res.data.data.failureReasons.map(i => i.id)\r\n })\r\n softFailReading()\r\n }\r\n })\r\n }\r\n\r\n const doReading = async () => {\r\n setLoading(true);\r\n setShowSoftValidateModal(false)\r\n setShowConfirmModal(false)\r\n\r\n await submitReading(readingObject)\r\n .then(resp => {\r\n if (error) setError(false);\r\n if (window?.mixpanel?.track) {\r\n window.mixpanel.track(\"Meter Reading Submitted\");\r\n }\r\n setLoading(false);\r\n showElementById('yourmeters-submitreading-success-' + item.meterSerial);\r\n })\r\n .catch(err => {\r\n console.log('submitreading err', err)\r\n setLoading(false)\r\n setError(err && err.response && err.response.data || \"Unexpected error, please try again later.\")\r\n });\r\n }\r\n\r\n return (\r\n
  • \r\n
    \r\n
    \r\n
    \r\n
    Meter ID
    \r\n
    {item.meterSerial}
    \r\n
    \r\n
    \r\n
    Meter Location
    \r\n
    {item.meterLocationDescription}
    \r\n
    \r\n
    \r\n
    Last Read Date
    \r\n
    {moment(item.meterReadDate).format('DD.MM.YYYY')}
    \r\n
    \r\n
    \r\n
    Last Read Value
    \r\n
    {item.meterReadValue}
    \r\n
    \r\n\r\n
    \r\n {item.meterReadType !== \"F\" ?\r\n () : (

    Reads cannot be added to inactive meters

    )}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {({ values, handleChange, touched, errors, handleBlur, handleSubmit }) => {\r\n\r\n const resetTick = ev => {\r\n if (success) setSuccess(false);\r\n if (error) setError(false);\r\n handleChange(ev);\r\n }\r\n\r\n return (\r\n <>\r\n {showConfirmModal && }\r\n {showSoftValidateModal && }\r\n
    \r\n
    \r\n

    Enter your reading

    \r\n

    Need help with your meter reading? View our guide

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { resetTick({ target: { id: 'date', value: val } }) }}\r\n format={'DD.MM.YYYY'}\r\n error={touched.date && errors.date}\r\n onBlur={handleBlur}\r\n tick={success}\r\n className={`rounded-xl`}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n }}\r\n \r\n\r\n \r\n
  • \r\n )\r\n}\r\n\r\nconst parseDate = (dateVal, original) => {\r\n if (original && !original.match(/^[0-9]{2}\\.[0-9]{2}\\.[0-9]{4}$/)) return null;\r\n return moment(original, \"DD.MM.YYYY\").toDate();\r\n}\r\n\r\nconst ReadingSchema = Yup.object().shape({\r\n reading: Yup.string().typeError('Invalid reading').matches(/^[0-9]+$/, 'Invalid reading').required('Reading is required'),\r\n date: Yup.date().max(new Date(), \"Date cannot be in the future\").typeError('Expected DD.MM.YYYY').transform(parseDate).required('Date is required')\r\n})\r\n\r\nexport default MeterEntry;\r\n","import React from 'react';\r\nimport { SkeletonInput, SkeletonText } from '../../../../Shared/Skeletons';\r\n\r\nconst Skeleton = () => {\r\n return (\r\n
    \r\n\r\n
    \r\n

    \r\n

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
      \r\n
    • \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default Skeleton;","import React, { useCallback, useEffect, useState } from 'react';\r\nimport MeterEntry from './MeterEntry';\r\nimport { useHistory, } from \"react-router-dom\";\r\nimport { fetchMeterData } from '../../../../../lib/api/premises';\r\nimport SkeletonPage from './Skeleton'\r\nimport moment from 'moment';\r\nimport { ReactComponent as WaterIcon } from '../../../../Shared/svgs/water-ef-magenta.svg'\r\n\r\nconst EditMeter = ({ spid }) => {\r\n\r\n const [pageData, setPageData] = useState();\r\n const [loadError, setLoadError] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [expanded, setExpanded] = useState();\r\n const history = useHistory();\r\n\r\n const loadData = useCallback(async () => {\r\n setLoading(true)\r\n await fetchMeterData(spid).then((resp) => {\r\n if (loadError) setLoadError(false);\r\n setPageData(resp);\r\n setLoading(false);\r\n })\r\n .catch(err => {\r\n setLoading(false);\r\n setLoadError(true);\r\n });\r\n }, [setPageData, setLoading, setLoadError, loadError])\r\n\r\n useEffect(() => {\r\n loadData().then(r => r)\r\n }, [loadData])\r\n\r\n if (loadError) return (\r\n
    \r\n There was an error loading this page, please click here to try again.\r\n
    \r\n )\r\n\r\n if (loading) return \r\n\r\n const location = pageData.location;\r\n const meters = pageData.meters;\r\n\r\n var address = [];\r\n if (location.data.premisesAddressLineOne) address.push(location.data.premisesAddressLineOne)\r\n if (location.data.premisesAddressLineTwo) address.push(location.data.premisesAddressLineTwo)\r\n if (location.data.premisesAddressLineThree) address.push(location.data.premisesAddressLineThree)\r\n if (location.data.premisesAddressLineFour) address.push(location.data.premisesAddressLineFour)\r\n if (location.data.premisesAddressLineFive) address.push(location.data.premisesAddressLineFive)\r\n if (location.data.premisesAddressLinePostcode) address.push(location.data.premisesAddressLinePostCode)\r\n address = address.join(', ')\r\n\r\n const goLive = location.data.goLiveDate ? moment(location.data.goLiveDate).format('DD.MM.YYYY') : 'Unknown';\r\n\r\n return (\r\n\r\n
    \r\n
    \r\n history.push('/dashboard/meters')}\r\n className=\"h-50px text-everflow-magenta\"\r\n href=\"/dashboard/meters\">\r\n

    < Back to locations

    \r\n \r\n

    Your meters

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    SPID
    \r\n
    {location.data.spid}
    \r\n
    \r\n
    \r\n
    SPID Address
    \r\n
    {address}
    \r\n
    \r\n
    \r\n
    Switch Date
    \r\n
    {goLive}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
      \r\n
    • \r\n
      Meter ID
      \r\n
      Meter Location
      \r\n
      Last Read Date
      \r\n
      Last Read Value
      \r\n
      \r\n
    • \r\n {meters.map((item, index) => (\r\n \r\n ))}\r\n {!meters.length ? (\r\n
    • No meters to show.
    • \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default EditMeter","import React, { useState } from 'react';\r\nimport SearchMeters from './SearchMeters';\r\nimport EditMeter from './EditMeter';\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport { PoundSymbol } from '../../../Shared/EncodingManipulation/index';\r\n\r\nconst Meters = ({ helpLink }) => {\r\n\r\n const [search, setSearch] = useState('');\r\n const [page, setPage] = useState(1);\r\n const [results, setResults] = useState();\r\n\r\n const match = useRouteMatch('/dashboard/meters/:spid')\r\n\r\n const spid = match && match.params && match.params.spid;\r\n\r\n return (\r\n <>\r\n
    \r\n {!spid ? (\r\n <>\r\n
    \r\n
    \r\n

    Your locations

    \r\n

    The best thing you can do to manage your bills is to send us regular meter readings. If you send us monthly reads, we can include these in your next invoice. We will still send our team out to read your meters twice a year.

    \r\n
    \r\n
    \r\n

    Win {PoundSymbol()}100 off your bill!

    \r\n

    As well as keeping your bills as accurate as possible, you will be entered into a prize draw, where one lucky winner each month will win {PoundSymbol()}100 off their bills!

    \r\n
    \r\n
    \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default Meters;","import React, { useState, useRef, useEffect } from 'react';\r\nimport {ReactComponent as DropDown} from '../../svgs/dropdown.svg';\r\n\r\nconst InputSelect = ({placeholder, options, onChange, disabled, className, value, id}) => {\r\n const [open, setOpen] = useState();\r\n const ref = useRef();\r\n const listRef = useRef();\r\n const contRef = useRef();\r\n\r\n useEffect(()=>{\r\n const clickOff = e => {\r\n if(!open) return;\r\n if(!ref.current.contains(e.target)){\r\n console.log('click off')\r\n setOpen(false)\r\n }\r\n }\r\n window.addEventListener('click', clickOff);\r\n return () => {\r\n window.removeEventListener('click', clickOff);\r\n }\r\n }, [ref, open])\r\n \r\n useEffect(()=>{\r\n if(!listRef && listRef.current) return;\r\n if(!contRef && contRef.current) return;\r\n \r\n var height = 0;\r\n if(open) height = listRef.current.clientHeight;\r\n\r\n contRef.current.style.height = (height + 4) + 'px'\r\n\r\n\r\n\r\n }, [open])\r\n\r\n const setSelected = val => {\r\n setOpen(false);\r\n onChange(val);\r\n }\r\n\r\n const selected = value && options && options.find(i => i.value == value);\r\n\r\n console.log('input disabled', disabled)\r\n\r\n return (\r\n
    \r\n
    !disabled && setOpen(!open)}>\r\n {selected ? selected.label : placeholder}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
      \r\n {options && options.map((i, index) => (\r\n
    • setSelected(i.value)}>{i.label}
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default InputSelect;","import {rateHandler} from './rate-handler';\r\nimport WebAPI from \"./api-calls\";\r\n\r\nrequire('query-string');\r\n\r\nexport const getTransactions = (page, year, perPage) => {\r\n const task = async (res, rej) => {\r\n if (!page) page = 1;\r\n if (!perPage) perPage = 20;\r\n\r\n const request = {\r\n page,\r\n perPage,\r\n year\r\n };\r\n\r\n if (year) request.year = year;\r\n\r\n const webApi = new WebAPI();\r\n const url = webApi.getEndpointWithQuerystringPayload('/api/account-transactions', request);\r\n await webApi.getFromWebApiWithAccessTokenAsync(url)\r\n .then(resp => {\r\n if (!resp) {\r\n return res({\r\n success: false,\r\n request,\r\n response: ''\r\n });\r\n }\r\n return res({success: true, data: resp.data});\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response?.status, err);\r\n rej(err);\r\n });\r\n };\r\n\r\n return rateHandler(task);\r\n}\r\n\r\n\r\nexport const getBills = (page, year, perPage) => {\r\n const task = async (res, rej) => {\r\n if (!page) page = 1;\r\n if (!perPage) perPage = 20;\r\n\r\n const request = {\r\n page,\r\n perPage,\r\n year\r\n }\r\n\r\n if (year) request.year = year;\r\n\r\n let webApi = new WebAPI();\r\n\r\n const url = webApi.getEndpointWithQuerystringPayload('/api/account-bills', request);\r\n await webApi.getFromWebApiWithAccessTokenAsync(url)\r\n .then(resp => {\r\n if (!resp) {\r\n return res({\r\n success: false,\r\n request,\r\n response: ''\r\n });\r\n }\r\n return res({success: true, data: resp.data});\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response?.status, err);\r\n rej(err);\r\n });\r\n }\r\n return rateHandler(task);\r\n}\r\n","import React from 'react';\r\nimport {SkeletonPagination, SkeletonText} from '../../../Shared/Skeletons';\r\n\r\nconst BillsSkeleton = ({rows, selected, pages}) => {\r\n\r\n console.log('skeleton overview pages', pages)\r\n if(!rows) rows = 5;\r\n return (\r\n
    \r\n
      \r\n
    • \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
    • \r\n {Array.from({length: rows}, (v, i) => i).map((item, index) => {\r\n if(item % 2 == 0) return (\r\n
    • \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
    • \r\n )\r\n\r\n\r\n\r\n return (\r\n
    • \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
    • \r\n )\r\n })}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default BillsSkeleton","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"M17.3,4.6l-3.9-3.9C13,0.2,12.4,0,11.8,0H2.2C1,0,0,1,0,2.3v19.5C0,23,1,24,2.2,24h13.5c1.2,0,2.2-1,2.2-2.2V6.2 C18,5.6,17.8,5,17.3,4.6z M12,1.5c0.1,0,0.2,0.1,0.3,0.2l3.9,3.9c0.1,0.1,0.2,0.2,0.2,0.3H12V1.5L12,1.5z M16.5,21.8 c0,0.4-0.3,0.8-0.8,0.8H2.2c-0.4,0-0.8-0.3-0.8-0.8V2.3c0-0.4,0.3-0.8,0.8-0.8h8.3v4.9c0,0.6,0.5,1.1,1.1,1.1h4.9V21.8z M9.8,10.1 c0-0.2-0.2-0.4-0.4-0.4H8.6c-0.2,0-0.4,0.2-0.4,0.4v4.1H5.8c-0.5,0-1,0.3-1.2,0.8c-0.2,0.5-0.1,1.1,0.3,1.4l3.2,3.4 c0.3,0.3,0.6,0.4,0.9,0.4s0.7-0.1,0.9-0.4l3.2-3.4c0.4-0.4,0.5-1,0.3-1.4c-0.2-0.5-0.7-0.8-1.2-0.8H9.8V10.1z M11.8,15.8L9,18.7 l-2.8-2.9H11.8z\"\n});\nvar SvgDownload = function SvgDownload(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 18 24\",\n style: {\n enableBackground: \"new 0 0 18 24\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDownload, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/download.bffe06f0.svg\";\nexport { ForwardRef as ReactComponent };","\r\nclass DeviceAndBrowserDetector {\r\n\r\n userAgent = \"\";\r\n productName = \"\";\r\n operatingSystem = \"\";\r\n\r\n constructor() {\r\n this.userAgent = navigator.userAgent;\r\n this.productName = this.#getBrowserProduct();\r\n this.operatingSystem = this.#getOperatingSystem();\r\n }\r\n\r\n #getOperatingSystem = () => {\r\n if ('userAgentData' in navigator) {\r\n const uaData = navigator.userAgentData;\r\n const platform = uaData.platform;\r\n if (platform.includes('Windows')) {\r\n return \"Windows\";\r\n }\r\n if (platform.includes('macOS')) {\r\n return \"macOS\";\r\n }\r\n if (platform.includes('Android')) {\r\n return \"Android\";\r\n }\r\n if (platform.includes('iOS')) {\r\n return \"iOS\";\r\n }\r\n if (platform.includes('Linux')) {\r\n return \"Linux\";\r\n }\r\n }\r\n return this.#getOperatingSystemByOtherMeans();\r\n }\r\n\r\n #getOperatingSystemByOtherMeans = () => {\r\n\r\n if (/Windows/.test(this.userAgent)) {\r\n return \"Windows\";\r\n }\r\n else if (/iPad|iPhone|iPod|Macintosh|Mac OS|iOS/.test(this.userAgent) && !window.MSStream) {\r\n return \"Apple\";\r\n }\r\n else if (/Linux/.test(this.userAgent)) {\r\n return \"Linux\";\r\n }\r\n else if (/Android/.test(this.userAgent)) {\r\n return \"Android\";\r\n }\r\n return \"Unknown\";\r\n }\r\n\r\n #getBrowserProduct = () => {\r\n if (/Chrome/.test(this.userAgent) && !/Edg/.test(this.userAgent) && !/OPR/.test(this.userAgent)) {\r\n return \"Chrome\";\r\n }\r\n if (/Firefox/.test(this.userAgent)) {\r\n return \"Firefox\";\r\n }\r\n if (/Safari/.test(this.userAgent) && !/Chrome/.test(this.userAgent) && !/Edg/.test(this.userAgent)) {\r\n return \"Safari\";\r\n }\r\n if (/Edg/.test(this.userAgent)) {\r\n return \"Edge\";\r\n }\r\n if (/MSIE|Trident/.test(this.userAgent)) {\r\n return \"Internet Explorer\";\r\n }\r\n if (/OPR/.test(this.userAgent)) {\r\n return \"Opera\";\r\n }\r\n return \"Unknown\";\r\n }\r\n}\r\n\r\nexport default DeviceAndBrowserDetector","import DeviceAndBrowserDetector from './deviceandbrowserdetector';\r\nimport { rateHandler } from './rate-handler';\r\nimport WebAPI from \"./api-calls\";\r\n\r\nclass DocumentDownloader {\r\n\r\n downloadDocumentUsingBase64 = async (webDocument, id) => {\r\n if (!webDocument || !id) {\r\n return null;\r\n }\r\n\r\n // need some defensive stuff in here so if no access token, the logout event occurs.\r\n await this.#getDocumentFromAPI(id)\r\n .then(resp => {\r\n if (!resp) {\r\n return null;\r\n }\r\n\r\n const docDetails = this.#getDocDetails(resp.headers);\r\n if (!docDetails) {\r\n return null;\r\n }\r\n\r\n const link = webDocument.createElement('a');\r\n link.setAttribute('id', 'downloadableDoc');\r\n this.#downloadForBrowserType(link, docDetails, resp.data);\r\n link.click();\r\n })\r\n .catch(err => {\r\n alert('Unable to find document.');\r\n });\r\n }\r\n\r\n\r\n #downloadForBrowserType = (link, docDetails, docDataBase64) => {\r\n\r\n const browserAndDevice = new DeviceAndBrowserDetector();\r\n if (browserAndDevice.productName.toLowerCase() === \"safari\") {\r\n this.#createLinkForSafari(link, docDetails.fileName, docDetails.contentType, docDataBase64);\r\n }\r\n else {\r\n this.#createLinkForOtherBrowsers(link, docDetails.contentType, docDataBase64, docDetails.fileName);\r\n }\r\n }\r\n\r\n #createLinkForOtherBrowsers = (link, docContentType, docDataBase64, docFileName) => {\r\n link.href = 'data:' + docContentType + ';base64,' + docDataBase64;\r\n link.setAttribute(\r\n 'download',\r\n docFileName,\r\n );\r\n }\r\n\r\n #createLinkForSafari = (link, docFileName, docContentType, docDataBase64) => {\r\n const bytArys = this.#getByteArraysForDocBlob(docDataBase64);\r\n const blob = this.#getDocAsBlob(bytArys, docContentType);\r\n const url = URL.createObjectURL(blob);\r\n\r\n link.href = url\r\n link.setAttribute(\r\n 'download',\r\n docFileName,\r\n );\r\n }\r\n\r\n #getDocAsBlob = (bytArys, docContentType) => {\r\n\r\n return new Blob(bytArys, { type: (docContentType.toLowerCase() === \"application/pdf\") ? \"application/octet-stream\" : docContentType });\r\n }\r\n\r\n #getByteArraysForDocBlob = (docDataBase64) => {\r\n const byts = atob(docDataBase64);\r\n const byteArrays = [];\r\n\r\n for (let offset = 0; offset < byts.length; offset += 512) {\r\n const slice = byts.slice(offset, offset + 512);\r\n const byteNumbers = new Array(slice.length);\r\n\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n return byteArrays;\r\n }\r\n\r\n #getDocumentFromAPI = (id) => {\r\n const task = async (res, rej) => {\r\n\r\n const webApi = new WebAPI();\r\n const url = webApi.getEndpointWithQuerystringPayload('/api/account-download', { docId:id })\r\n await webApi.getFromWebApiWithAccessTokenAsync(url)\r\n .then(resp => {\r\n if (!resp) {\r\n return res({ success: false });\r\n }\r\n return res(resp);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n return rej(err);\r\n })\r\n }\r\n return rateHandler(task);\r\n }\r\n\r\n #getDocDetails = (hdrs) => {\r\n if (!hdrs) {\r\n return null;\r\n }\r\n\r\n const fileName = this.#getFileNameFromHeader(hdrs['content-disposition']);\r\n if (!fileName) {\r\n return null;\r\n }\r\n\r\n const contentType = hdrs['content-type'];\r\n if (!contentType) {\r\n return null;\r\n }\r\n\r\n return { contentType, fileName }\r\n }\r\n\r\n #getFileNameFromHeader = (disposition) => {\r\n\r\n if (!disposition) {\r\n return null;\r\n }\r\n if (!disposition.startsWith('attachment')) {\r\n return null;\r\n }\r\n\r\n return disposition.split(';')[1].split('=')[1];\r\n }\r\n}\r\n\r\nexport default DocumentDownloader;","import React, {useEffect, useState} from \"react\";\r\nimport InputSelect2 from \"../../../../Shared/FormComponents/InputSelect2\";\r\nimport Pagination from \"../../../../Shared/Pagination\";\r\nimport {getTransactions} from \"../../../../../lib/api/billing\";\r\nimport BillsSkeleton from '../Skeleton';\r\nimport {ReactComponent as Dl} from '../../../../Shared/svgs/download.svg'\r\nimport moment from 'moment';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport DocumentDownloader from \"../../../../../lib/api/documentdownloader\";\r\nimport { PoundCurrency } from '../../../../Shared/EncodingManipulation/index';\r\nimport { ErrorLog } from '../../../../Shared/ServerLogging';\r\n\r\nconst amountPerPage = 10;\r\n\r\nconst Transactions = ({ helpLink }) => {\r\n const [loading, setLoading] = useState(true);\r\n const [transactions, setTransactions] = useState(null);\r\n const [year, setYear] = useState(new Date().getFullYear());\r\n const [page, setPage] = useState(1);\r\n const [loadError, setLoadError] = useState(false);\r\n\r\n const loadTransactions = () => {\r\n setLoading(true);\r\n getTransactions(page, year, amountPerPage)\r\n .then(response => {\r\n if (response && response.data && response.data.data) {\r\n setTransactions(response.data.data);\r\n setLoadError(false);\r\n } else {\r\n setLoadError(true);\r\n }\r\n })\r\n .catch(error => {\r\n ErrorLog('An error occurred while loading transactions:', error);\r\n setLoadError(true);\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n loadTransactions();\r\n }, [page, year]);\r\n\r\n const yearRange = (() => {\r\n const dates = [];\r\n for (let i = new Date().getFullYear(); i >= 2021; i--) dates.push(i)\r\n return dates.map(i => ({label: i, value: i}));\r\n })()\r\n\r\n\r\n return (\r\n <>\r\n
    \r\n

    If you have any questions on your bill. Check out our Help and FAQs section

    \r\n \r\n
    \r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {loadError ? (\r\n
    \r\n There was an error loading this page, please click here to try again.\r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\nconst TransactionResults = ({transactions, setPage}) => {\r\n if (!transactions || !transactions.results) return null;\r\n\r\n if (!transactions.results.length) return (\r\n
    No transaction data to show.
    \r\n )\r\n\r\n return (\r\n <>\r\n
    \r\n
      \r\n
    • \r\n
      Type
      \r\n
      Date
      \r\n
      Amount
      \r\n
      Reference
      \r\n
      Download
      \r\n
    • \r\n {transactions.results.map((item, index) => {\r\n\r\n const strike = item.rebilled || item.removed;\r\n\r\n return (\r\n
    • \r\n
      {item.transactionType}
      \r\n
      {moment(item.effectiveDate).format('DD.MM.YYYY')}
      \r\n
      {PoundCurrency(item.total)}
      \r\n
      {item.transactionReference}
      \r\n
      \r\n \r\n
      \r\n
    • \r\n )\r\n })}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )\r\n}\r\n\r\n\r\nconst Documents = ({item, index}) => {\r\n const strike = item.rebilled || item.removed;\r\n\r\n const getDocument = async (id) => {\r\n const downloader = new DocumentDownloader();\r\n await downloader.downloadDocumentUsingBase64(document, id);\r\n };\r\n\r\n switch (item.transactionType) {\r\n case 'Payment':\r\n return null;\r\n break;\r\n case 'Bill':\r\n return (\r\n
    \r\n
    \r\n {item.pdfId ? (\r\n await getDocument(item.pdfId)}\r\n className={`inline-flex flex-col items-center cursor-pointer`}>\r\n
    \r\n PDF\r\n \r\n ) : (\r\n \r\n
    \r\n PDF\r\n \r\n )}\r\n {item.csvId ? (\r\n await getDocument(item.csvId)}\r\n className={`inline-flex flex-col items-center cursor-pointer`}>\r\n
    \r\n CSV\r\n \r\n ) : (\r\n \r\n
    \r\n CSV\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n break;\r\n\r\n default:\r\n return (\r\n
    \r\n
    \r\n {item.pdfId ? (\r\n await getDocument(item.pdfId)}\r\n className={`bill-tooltip-wrapper inline-flex flex-col items-center cursor-pointer ${strike ? 'text-grayText-default-300' : ''}`}>\r\n
    \r\n PDF\r\n \r\n ) : (\r\n \r\n
    \r\n PDF\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n break;\r\n }\r\n}\r\n\r\n\r\nexport default Transactions;","import React, {useEffect, useState} from \"react\";\r\nimport Pagination from '../../../../Shared/Pagination';\r\nimport {getBills} from \"../../../../../lib/api/billing\";\r\nimport moment from 'moment';\r\nimport BillsSkeleton from \"../Skeleton\";\r\nimport {ReactComponent as Dl} from '../../../../Shared/svgs/download.svg'\r\nimport ReactTooltip from 'react-tooltip';\r\nimport DocumentDownloader from \"../../../../../lib/api/documentdownloader\";\r\nimport InputSelect2 from \"../../../../Shared/FormComponents/InputSelect2\";\r\nimport { PoundCurrency } from '../../../../Shared/EncodingManipulation/index';\r\nimport { ErrorLog } from '../../../../Shared/ServerLogging';\r\n\r\nconst amountPerPage = 10;\r\n\r\nconst Bills = ({ helpLink }) => {\r\n const [loadError, setLoadError] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [bills, setBills] = useState(null);\r\n const [page, setPage] = useState(1);\r\n const [year, setYear] = useState(new Date().getFullYear());\r\n\r\n const loadBills = () => {\r\n setLoading(true);\r\n getBills(page, year, amountPerPage)\r\n .then(response => {\r\n if (response && response.data && response.data.data) {\r\n setBills(response.data.data);\r\n setLoadError(false);\r\n } else {\r\n setLoadError(true);\r\n }\r\n })\r\n .catch(error =>\r\n {\r\n ErrorLog('An error occurred while loading bills:', error);\r\n setLoadError(true);\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n loadBills();\r\n }, [page, year]);\r\n\r\n const yearRange = (() => {\r\n const dates = [];\r\n for (let i = new Date().getFullYear(); i >= 2021; i--) dates.push(i)\r\n return dates.map(i => ({label: i, value: i}));\r\n })()\r\n\r\n return (\r\n <>\r\n
    \r\n

    If you have any questions on your bill. Check out our Help and FAQs section

    \r\n \r\n
    \r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {loadError ? (\r\n
    \r\n There was an error loading this page, please click here to try again.\r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\nconst BillsResults = ({ bills, setPage }) => {\r\n\r\n if (!bills || !bills.results) return null;\r\n\r\n if (!bills.results.length) return (\r\n
    No billing data to show.
    \r\n )\r\n\r\n const getDocument = async (id) => { \r\n const downloader = new DocumentDownloader();\r\n await downloader.downloadDocumentUsingBase64(document, id);\r\n };\r\n return (\r\n <>\r\n
    \r\n
      \r\n
    • \r\n
      Invoice No.
      \r\n
      Date
      \r\n
      Bill Period
      \r\n
      Total Charge
      \r\n
      Download
      \r\n
    • \r\n {bills.results.map((item, index) => {\r\n const strike = item.rebilled || item.removed;\r\n return (\r\n
    • \r\n
      {item.invoiceNumber}
      \r\n
      {moment(item.dateGenerated).format('DD.MM.YYYY')}
      \r\n
      {moment(item.dateFrom).format('DD.MM.YYYY')} - {moment(item.dateTo).subtract(1, 'days').format('DD.MM.YYYY')}
      \r\n
      {PoundCurrency(item.total)}
      \r\n
      \r\n
      \r\n
      \r\n {item.pdfId ? (\r\n await getDocument(item.pdfId)}\r\n className={`inline-flex flex-col items-center cursor-pointer`}>\r\n
      \r\n PDF\r\n \r\n ) : (\r\n \r\n
      \r\n PDF\r\n \r\n )}\r\n {item.csvId ? (\r\n await getDocument(item.csvId)}\r\n className={`inline-flex flex-col items-center cursor-pointer`}>\r\n
      \r\n CSV\r\n \r\n ) : (\r\n \r\n
      \r\n CSV\r\n \r\n )}\r\n
      \r\n
      \r\n
      \r\n
    • \r\n )\r\n })}\r\n
    \r\n \r\n
    \r\n {bills.maxPage > 1 ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n \r\n )\r\n}\r\nexport default Bills;","import React from 'react';\r\nconst DirectDebitMandate = () => {\r\n\r\n return (\r\n
    \r\n

    You are currently on our manual payment method. Why not move to Direct Debit?

    \r\n

    Uh oh! You're not on Direct Debit, which means you could miss payments and be charged!\r\n Please click the button below to download our Direct Debit mandate and email the completed form to customer.services@everflowutilities.com

    \r\n { if (window?.mixpanel?.track) { window.mixpanel.track(\"Direct Debit Mandate Viewed\") } }}\r\n className=\"sm:w-1/3 mt-20px h-50px bg-everflow-blue text-everflow-black font-bold rounded-25px flex justify-center items-center ml-auto\"\r\n >\r\n Download Direct Debit form\r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default DirectDebitMandate","import React, {useState, useEffect, useCallback} from 'react';\r\nimport Transactions from './Transactions';\r\nimport Bills from './Bills';\r\nimport DirectDebitMandate from \"../../../Shared/DirectDebitMandate\";\r\nimport { fetchCustomerDetails } from \"../../../../lib/api/customer-details\";\r\n\r\nconst Billing = ({ helpLink }) => {\r\n const [tab, setTab] = useState('billing');\r\n const [loadError, setLoadError] = useState(false);\r\n const [pageData, setPageData] = useState();\r\n\r\n const loadData = useCallback(async () => {\r\n await fetchCustomerDetails().then((resp) => {\r\n if (loadError) setLoadError(false);\r\n setPageData(resp)\r\n })\r\n .catch(err => {\r\n console.log('setting load err', err);\r\n setLoadError(true);\r\n })\r\n\r\n }, [setPageData, setLoadError, loadError])\r\n\r\n useEffect(() => {\r\n loadData().then(r => r);\r\n }, [loadData]);\r\n\r\n const buttonClasses = \"px-5 text-everflow-black bg-everflow-white border-everflow-magenta border-2 mr-10px min-h-50px rounded-2xl font-bold\";\r\n const activeButtonClasses = \"px-5 text-everflow-white bg-everflow-magenta border-everflow-magenta border-2 mr-10px min-h-50px rounded-2xl\";\r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n pageData && pageData.accountBalance.paymentMethod !== 'DD' && \r\n }\r\n

    Your Bills and Transactions

    \r\n
    \r\n\r\n
    \r\n setTab('billing')}\r\n className={tab === 'billing' ? activeButtonClasses : buttonClasses}\r\n >\r\n Your Bills\r\n \r\n setTab('transactions')}\r\n className={tab === 'transactions' ? activeButtonClasses : buttonClasses}\r\n >\r\n Your Transactions\r\n \r\n
    \r\n\r\n {tab === 'transactions' ? : null}\r\n {tab === 'billing' ? : null}\r\n
    \r\n );\r\n};\r\n\r\nexport default Billing;\r\n","import React from \"react\";\r\n\r\nimport { SideSkeleton } from \"../../../Shared/Skeletons\";\r\n\r\nconst SkeletonText = ({className, spacing, inheritFontSize, noPulse}) => {\r\n if(!spacing) spacing = '6px';\r\n const fontSize = inheritFontSize ? '1em' : '12px';\r\n\r\n return (\r\n
    \r\n )\r\n}\r\n\r\nconst SkeletonBlock = ({rows}) => {\r\n if(!rows) rows = 1;\r\n\r\n const rowBlock = [];\r\n for(var i = 1; i < rows; i++) rowBlock.push()\r\n rowBlock.push()\r\n return (\r\n
    \r\n {rowBlock}\r\n
    \r\n )\r\n}\r\n\r\nconst SkeletonInput = ({noPulse, className}) => (\r\n
    \r\n)\r\n\r\nconst SkeletonCustomer = () => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n

    \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default SkeletonCustomer","import React, { useCallback, useEffect, useState, useRef } from 'react';\r\nimport { PoundCurrency } from '../../../Shared/EncodingManipulation';\r\nimport { fetchCustomerDetails, updateCustomerDetails } from '../../../../lib/api/customer-details';\r\nimport { ReactComponent as BlackInverseTick } from '../../../Shared/svgs/tick-ef-black.svg'\r\nimport SkeletonCustomer from './Skeleton';\r\nimport moment from 'moment';\r\nimport DirectDebitMandate from '../../../Shared/DirectDebitMandate';\r\nimport DeviceAndBrowserDetector from '../../../../lib/api/deviceandbrowserdetector';\r\n\r\nconst EditableInput = ({ editing, value, name, required, maxlength }) => {\r\n const editingInputClasses = \"p-1 border-2 text-everflow-black border-everflow-magenta rounded\"\r\n const notEditingInputClasses = \"break-all font-bold\"\r\n const [empty, setEmpty] = useState(false)\r\n\r\n return <>\r\n {editing && (\r\n <>\r\n {\r\n let val = e.target.value; if (val.length == 0) { setEmpty(true) } else { setEmpty(false) }\r\n }}\r\n >\r\n {empty && required && This field is required}\r\n \r\n )}\r\n {!editing && ({value})}\r\n \r\n}\r\n\r\nconst EditableEmail = ({ editing, value, name, required, maxlength, onChange }) => {\r\n const editingInputClasses = \"p-1 border-2 text-everflow-black border-everflow-magenta rounded\"\r\n const notEditingInputClasses = \"break-all font-bold\"\r\n const [empty, setEmpty] = useState(false)\r\n\r\n return <>\r\n {editing && (\r\n <>\r\n {\r\n let val = e.target.value; if (val.length == 0) { setEmpty(true) } else { setEmpty(false) }\r\n if (typeof onChange == 'function') { onChange() }\r\n }}\r\n >\r\n {empty && required && This field is required}\r\n \r\n )}\r\n {!editing && ({value}

    )}\r\n \r\n}\r\n\r\nconst EditablePhone = ({ editing, value, name, required, maxlength }) => {\r\n const editingInputClasses = \"p-1 border-2 text-everflow-black border-everflow-magenta rounded\"\r\n const notEditingInputClasses = \"break-all font-bold\"\r\n const [empty, setEmpty] = useState(false)\r\n\r\n return <>\r\n {editing && (\r\n <>\r\n {\r\n let val = e.target.value; if (val.length == 0) { setEmpty(true) } else { setEmpty(false) }\r\n }}\r\n >\r\n {empty && required && This field is required}\r\n \r\n )}\r\n {!editing && ({value}

    )}\r\n \r\n}\r\n\r\nconst CombineEmails = (addresses) => {\r\n return addresses.filter(a => a !== \"\" && a !== undefined).join('|')\r\n}\r\n\r\nconst getEmailsFromDom = () => {\r\n const billingEmails = ['BillingEmail', 'BillingEmail1', 'BillingEmail2', 'BillingEmail3', 'BillingEmail4']\r\n let emailData = {}\r\n\r\n billingEmails.forEach(fName => {\r\n const domEl = document.getElementById(`CustomerDashboard-${fName}`)\r\n if (domEl && domEl.value) {\r\n emailData[fName] = domEl.value;\r\n }\r\n })\r\n\r\n const CombinedBillingEmail = CombineEmails([\r\n emailData.BillingEmail,\r\n emailData.BillingEmail1,\r\n emailData.BillingEmail2,\r\n emailData.BillingEmail3,\r\n emailData.BillingEmail4\r\n ])\r\n\r\n return CombinedBillingEmail\r\n}\r\n\r\nconst Customer = () => {\r\n const [loadError, setLoadError] = useState();\r\n const [pageData, setPageData] = useState();\r\n const [loading, setLoading] = useState();\r\n const [editing, setEditing] = useState(false);\r\n const [saving, setSaving] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const [additionalEmails, setAdditionalEmails] = useState(0);\r\n const formRef = useRef();\r\n const billingEmailMaxLength = 150;\r\n const [errors, setErrors] = useState([]);\r\n const deviceAndBrowser = new DeviceAndBrowserDetector();\r\n\r\n const loadData = useCallback(async () => {\r\n setLoading(true)\r\n await fetchCustomerDetails().then((resp) => {\r\n if (loadError) setLoadError(false);\r\n setPageData(resp)\r\n setLoading(false)\r\n })\r\n .catch(err => {\r\n setLoading(false)\r\n setLoadError(true);\r\n })\r\n }, [setLoading, setPageData, setLoadError, loadError])\r\n\r\n useEffect(() => {\r\n loadData().then(r => r);\r\n }, [loadData]);\r\n\r\n useEffect(() => {\r\n if (pageData == undefined) {\r\n return;\r\n }\r\n\r\n if (pageData.contact.billingEmail.indexOf('|') >= 0) {\r\n let emails = pageData.contact.billingEmail.split('|')\r\n if (emails.length > 5) {\r\n emails = emails.slice(0, 5);\r\n }\r\n setAdditionalEmails(emails.length - 1);\r\n }\r\n }, [pageData]);\r\n\r\n if (loading) return (\r\n \r\n )\r\n\r\n if (loadError) return (\r\n
    \r\n There was an error loading this page, please click here to try again.\r\n
    \r\n )\r\n\r\n if (!pageData) return null;\r\n\r\n const billingEmailsArray = pageData.contact.billingEmail.split('|')\r\n\r\n const onCancelEdit = () => {\r\n const inputs = document.getElementsByTagName(\"input\")\r\n for (var inp of inputs) {\r\n if (inp.dataset && inp.dataset.originalValue) {\r\n inp.value = inp.dataset.originalValue\r\n }\r\n }\r\n const textareas = document.getElementsByTagName(\"textarea\")\r\n for (var inp of textareas) {\r\n if (inp.dataset && inp.dataset.originalValue) {\r\n inp.value = inp.dataset.originalValue\r\n }\r\n }\r\n setEditing(false)\r\n }\r\n\r\n const onSave = async () => {\r\n setSaving(true)\r\n \r\n const fields = ['ContactName', 'ContactEmail', 'BillingEmail', 'ContactNumber', 'MobileNumber', 'OtherMobileNumber', 'BillingAddressLine1', 'BillingAddressLine2', 'BillingAddressLine3', 'BillingTownOrCity', 'BillingCounty', 'BillingPostcode']\r\n let data = {}\r\n\r\n fields.forEach(fName => {\r\n const domEl = document.getElementById(`CustomerDashboard-${fName}`)\r\n if (domEl && domEl.value) {\r\n data[fName] = domEl.value;\r\n }\r\n })\r\n\r\n if (formRef.current.checkValidity() == false) {\r\n setSaving(false)\r\n return\r\n }\r\n\r\n const CombinedBillingEmail = getEmailsFromDom();\r\n\r\n if (CombinedBillingEmail.length >= billingEmailMaxLength) {\r\n setSaving(false)\r\n alert(`Combined billing email addresses length must be under ${billingEmailMaxLength} characters.`)\r\n return\r\n }\r\n\r\n data.BillingEmail = CombinedBillingEmail\r\n\r\n\r\n try {\r\n const res = await updateCustomerDetails(data)\r\n setSuccess(true);\r\n setEditing(false)\r\n setSaving(false)\r\n loadData()\r\n } catch (err) {\r\n console.warn(err)\r\n }\r\n }\r\n\r\n const onBillingEmailChange = () => {\r\n const fullEmail = getEmailsFromDom()\r\n if (fullEmail.length > billingEmailMaxLength) {\r\n setErrors([...errors, 'billingEmailLength'])\r\n } else {\r\n const newErrors = [...errors].filter((e) => { return e !== 'billingEmailLength' })\r\n setErrors(newErrors)\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    Your details

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n

    Account

    \r\n {pageData.overview.accountNumber}\r\n
    \r\n\r\n
    \r\n

    Company name

    \r\n {pageData.overview.companyName}\r\n
    \r\n\r\n
    \r\n

    Contact name

    \r\n \r\n
    \r\n\r\n
    \r\n

    Contact email

    \r\n \r\n
    \r\n\r\n
    \r\n

    Billing email

    \r\n \r\n {Array.from({ length: additionalEmails }).map((i, index) => )}\r\n {editing && additionalEmails < 4 && }\r\n {editing && errors.indexOf('billingEmailLength') >= 0 &&

    You have exceeded the max limit of {billingEmailMaxLength} characters for the billing email addresses

    }\r\n
    \r\n\r\n
    \r\n

    Contact number

    \r\n \r\n
    \r\n\r\n
    \r\n

    Mobile number

    \r\n \r\n
    \r\n\r\n
    \r\n

    Other mobile

    \r\n \r\n
    \r\n\r\n
    \r\n

    Billing address

    \r\n \r\n \r\n \r\n

    Town

    \r\n \r\n

    County

    \r\n \r\n

    Postcode

    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {!editing && !saving && (\r\n { setEditing(true); setSuccess(false) }}>Edit details\r\n )}\r\n {editing && !saving && (\r\n <>\r\n Cancel\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n

    Thank you, your details have been updated

    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n

    Account balance

    \r\n
    {PoundCurrency(pageData.accountBalance.accountBalance)}
    \r\n
    \r\n\r\n
    \r\n

    Expected billing date

    \r\n
    {`${moment().date(pageData.accountBalance.expectedBilling).format('Do')} of Month`}
    \r\n
    \r\n\r\n
    \r\n

    Payment method

    \r\n
    {pageData.accountBalance.paymentMethod == 'DD' ? 'Direct Debit' : 'Manual Payment'}
    \r\n
    \r\n\r\n
    \r\n

    Billing term

    \r\n
    {pageData.accountBalance.billingTerms}
    \r\n
    \r\n
    \r\n\r\n {pageData.accountBalance.paymentMethod !== 'DD' && }\r\n\r\n
    \r\n
    \r\n

    Browser

    \r\n
    {deviceAndBrowser.productName} on {deviceAndBrowser.operatingSystem}.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default Customer;","import React, { useEffect, useState } from 'react';\r\nimport { useHistory } from \"react-router\";\r\n\r\nimport { useLogin } from '../../../lib/hooks/useLogin';\r\nimport DashboardWrapper from '../../Shared/DashboardWrapper';\r\nimport CrossSellBanner from '../../Shared/CrossSellBanner';\r\n\r\nimport DashboardContent from './DashboardContent';\r\nimport DashboardHome from './Home';\r\nimport Meters from './Meters';\r\nimport Billing from './Billing';\r\nimport Customer from './Customer';\r\nimport { getExternalLink } from '../../../lib/api/external-link';\r\n\r\n\r\nconst Dashboard = ({ account }) => {\r\n const loggedIn = useLogin();\r\n const history = useHistory()\r\n const [dismissed, setDismissed] = useState()\r\n const [helpLink, sethelpLink] = useState('');\r\n \r\n useEffect(() => {\r\n if ((loggedIn && !loggedIn.loading) && (!loggedIn.account.token)) history.push('/login');\r\n\r\n getExternalLink().then((resp) => {\r\n sethelpLink(resp.data.faqLink);\r\n })\r\n\r\n }, [loggedIn, history])\r\n\r\n return (\r\n \r\n \r\n \r\n {({ tab, helpLink }) => {\r\n switch (tab) {\r\n case 'home':\r\n return \r\n case 'meters':\r\n return \r\n case 'billing':\r\n return \r\n case 'customer':\r\n return \r\n default:\r\n return null\r\n }\r\n }}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Dashboard","import WebAPI from \"./api-calls\";\r\nimport { rateHandler } from './rate-handler';\r\n\r\nexport const getExternalLink = () => {\r\n const task = async (res, rej) => {\r\n\r\n const webApi = new WebAPI();\r\n await webApi.getFromWebApiWithAccessTokenAsync('/api/feature/external-links-config')\r\n .then(resp => {\r\n console.log(resp)\r\n if (!resp) {\r\n return res({ success: false });\r\n }\r\n return res({ success: true, data: resp.data })\r\n })\r\n .catch(err => {\r\n console.log('listener:', err.response.status, err);\r\n rej(err);\r\n });\r\n }\r\n return rateHandler(task);\r\n}","import React from 'react';\r\nimport DashboardWrapper from '../../Shared/DashboardWrapper'\r\n\r\nconst NotFound = () => {\r\n return (\r\n \r\n
    \r\n

    404

    \r\n

    Page not found

    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default NotFound;","import React, { useEffect } from 'react'\r\nimport LoginWrapper from '../../Shared/LoginWrapper';\r\nimport CheckContactEmail from '../CheckContactEmail';\r\nimport moment from 'moment-timezone';\r\nimport { checkMaintenance } from '../../../lib/maintenance/es6';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst [start, end] = process.env.REACT_APP_MAINTENANCE.split('-').map(i => {\r\n var time = i.split(':');\r\n if(time.length === 1) time.push(0)\r\n const utc = `${moment().format('YYYY-MM-DD')} ${time[0]}:${time[1]}`\r\n return moment.utc(utc).tz('Europe/London').format('h:mma');\r\n});\r\n\r\n\r\nconst Maintenance = () => {\r\n const history = useHistory()\r\n\r\n useEffect(()=>{\r\n if(!checkMaintenance()) history.push('/');\r\n }, [])\r\n\r\n return (\r\n \r\n
    \r\n \r\n The Customer Portal is under maintenance between the hours of {start} and {end}.\r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default Maintenance;","import React, { useCallback, useEffect, useState, useRef } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport InputButton from '../FormComponents/InputButton'\r\n\r\nconst PopUp = () => {\r\n const modal = document.getElementById('modal');\r\n const [active, setActive] = useState()\r\n const [countdown, setCountdown] = useCountdown();\r\n const [status, setStatus] = useState();\r\n const [attempt, setAttempt] = useState({});\r\n const [close, setClose] = useState();\r\n const [failed, setFailed] = useState();\r\n\r\n const eventHandler = useCallback((event)=>{\r\n switch(event.detail.action){\r\n case 'show':\r\n setActive(true);\r\n break;\r\n case 'startTimer':\r\n setCountdown(event.detail.data);\r\n break;\r\n case 'requesting':\r\n setStatus('Retrying request')\r\n setAttempt(event.detail.data)\r\n break;\r\n case 'hide':\r\n setActive(false);\r\n break;\r\n case 'failed':\r\n setFailed(true)\r\n break;\r\n }\r\n }, [])\r\n\r\n useEffect(()=>{\r\n if(!active) setFailed(false);\r\n }, [active])\r\n\r\n\r\n useEffect(()=>{\r\n if(typeof window === 'undefined') return\r\n\r\n window.addEventListener('retryMessage', eventHandler);\r\n\r\n return () => window.removeEventListener('retryMessage', eventHandler)\r\n \r\n }, [])\r\n\r\n if(!active) return null;\r\n\r\n const Box = (\r\n
    \r\n
    \r\n {!failed ? (\r\n
    \r\n

    We are currently experiencing a high volume of users, please wait.
    Thank You!

    \r\n
    \r\n {countdown ? (\r\n
    \r\n Attempting to reconnect in {countdown} second{countdown !== 1 ? 's' : ''}\r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n Attempting to reconnect, try {attempt.try} of {attempt.of}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n ) : (\r\n
    \r\n

    We are currently experiencing a high volume of users, please check back soon to complete your request.

    \r\n
    \r\n
    \r\n setActive(false)}\r\n />\r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n )\r\n\r\n return ReactDOM.createPortal(\r\n Box,\r\n modal\r\n )\r\n\r\n\r\n}\r\n\r\nexport const useCountdown = (secs) => {\r\n const [timer, setTimer] = useState(secs);\r\n \r\n useEffect(() => {\r\n if(!timer) return;\r\n var timeout = setTimeout(()=> {\r\n setTimer(timer - 1);\r\n }, 1000)\r\n return () => {\r\n clearTimeout(timeout)\r\n }\r\n }, [timer])\r\n \r\n return [timer, setTimer];\r\n }\r\n \r\n\r\n\r\nconst LoadingCircle = () => {\r\n const ref = useRef();\r\n\r\n const [length, setLength] = useState();\r\n\r\n\r\n useEffect(()=>{\r\n\r\n const circle = ref.current;\r\n const initLength = circle.getTotalLength()\r\n\r\n circle.style.strokeDasharray = initLength;\r\n circle.style.strokeDashoffset = initLength;\r\n circle.style.transform = 'rotate(-180 26.25 26.25)';\r\n\r\n setTimeout(()=>{\r\n circle.style.transition = 'all 3s linear';\r\n circle.style.strokeDashoffset = 0;\r\n\r\n }, 500)\r\n\r\n }, [])\r\n\r\n\r\n console.log('circledebug', length)\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\nexport default PopUp","// utils/GoogleAnalytics.js\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactGA from 'react-ga';\r\nimport { Route } from 'react-router-dom';\r\n\r\nclass GoogleAnalytics extends Component {\r\n componentDidMount () {\r\n this.logPageChange(\r\n this.props.location.pathname,\r\n this.props.location.search\r\n );\r\n }\r\n\r\n componentDidUpdate ({ location: prevLocation }) {\r\n const { location: { pathname, search } } = this.props;\r\n const isDifferentPathname = pathname !== prevLocation.pathname;\r\n const isDifferentSearch = search !== prevLocation.search;\r\n\r\n if (isDifferentPathname || isDifferentSearch) {\r\n this.logPageChange(pathname, search);\r\n }\r\n }\r\n\r\n logPageChange (pathname, search = '') {\r\n const page = pathname + search;\r\n const { location } = window;\r\n ReactGA.set({\r\n page,\r\n location: `${location.origin}${page}`,\r\n ...this.props.options\r\n });\r\n ReactGA.pageview(page);\r\n }\r\n\r\n render () {\r\n return null;\r\n }\r\n}\r\n\r\nGoogleAnalytics.propTypes = {\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string\r\n }).isRequired,\r\n options: PropTypes.object\r\n};\r\n\r\nconst RouteTracker = () => ;\r\n\r\nconst init = (options = {}) => {\r\n const isGAEnabled = process.env.NODE_ENV === 'production';\r\n console.log('GA enabled', process.env.NODE_ENV, process.env.CONTEXT, isGAEnabled)\r\n\r\n if (isGAEnabled) {\r\n ReactGA.initialize(\"UA-67668401-1\");\r\n }\r\n\r\n return isGAEnabled;\r\n};\r\n\r\nexport default {\r\n GoogleAnalytics,\r\n RouteTracker,\r\n init\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { LiveChatWidget } from \"@livechat/widget-react\";\r\n\r\nfunction LiveChatLoader() {\r\n const [isLiveChatEnabled, setIsLiveChatEnabled] = useState(false);\r\n const [licenseKey, setLicenseKey] = useState(null);\r\n\r\n useEffect(() => {\r\n fetch('/api/Configuration/live-chat-config')\r\n .then(response => {\r\n if (!response.ok) {\r\n throw new Error(\"Failed to fetch live chat configuration\");\r\n }\r\n return response.json();\r\n })\r\n .then(data => {\r\n setIsLiveChatEnabled(data.enabled);\r\n setLicenseKey(data.licenseKey);\r\n })\r\n .catch(error => {\r\n console.error(\"Error loading LiveChat:\", error);\r\n });\r\n }, []);\r\n\r\n if (!isLiveChatEnabled || !licenseKey) {\r\n return null;\r\n }\r\n\r\n return ;\r\n}\r\n\r\nexport default LiveChatLoader;","import React, { useEffect, useState } from 'react';\r\nimport DashboardWrapper from '../../Shared/DashboardWrapper';\r\nimport { useLogin } from '../../../lib/hooks/useLogin';\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport useConfig from '../../../lib/hooks/useConfig';\r\nimport { InformationLog } from '../../Shared/ServerLogging';\r\n\r\nconst CardPayment = () =>\r\n{\r\n const unauthorizedReturnUrl = \"/dashboard\";\r\n const loggedIn = useLogin();\r\n const { state } = useLocation();\r\n const history = useHistory();\r\n const ccConfig = useConfig('card-payment-config');\r\n const [source, setSource] = useState(\"/404\");\r\n\r\n useEffect(() =>\r\n {\r\n if ((loggedIn && !loggedIn.loading) && (!loggedIn.account.token))\r\n {\r\n InformationLog(\"Unauthenticated User. Redirecting to Login Page\");\r\n history.push('/login');\r\n }\r\n }, [loggedIn, history])\r\n\r\n useEffect(() => {\r\n window.top.scrollTo(0, 0)\r\n }, [])\r\n\r\n useEffect(() =>\r\n {\r\n if (typeof state !== 'undefined')\r\n {\r\n InformationLog(`State Information: ${JSON.stringify(state)}`);\r\n\r\n if (typeof ccConfig !== 'undefined')\r\n {\r\n InformationLog(`Configuration Information: ${JSON.stringify(ccConfig)}`);\r\n\r\n if (!ccConfig?.cardPaymentEnabled)\r\n {\r\n InformationLog(`Card Payment Functionality Disabled. Redirecting to ${unauthorizedReturnUrl}.`);\r\n history.push(unauthorizedReturnUrl);\r\n }\r\n else if (!ValidateAccessSource(state.from))\r\n {\r\n InformationLog(`Unauthorized Page Access Request. Unauthorized Access Request Origin, ${state.from}. Redirecting to ${unauthorizedReturnUrl}.`);\r\n history.push(unauthorizedReturnUrl);\r\n }\r\n else if (!ValidatePaymentUrl(state.targetUrl, ccConfig?.cardPaymentUrl))\r\n {\r\n InformationLog(`Required Url Information is missing or invalid. Redirecting to ${unauthorizedReturnUrl}.`);\r\n history.push(unauthorizedReturnUrl);\r\n }\r\n else\r\n {\r\n setSource(state.targetUrl);\r\n }\r\n }\r\n }\r\n else\r\n {\r\n InformationLog(`Unauthorized Page Access Request. Required State Information Undefined. Redirecting to ${unauthorizedReturnUrl}.`);\r\n history.push(unauthorizedReturnUrl);\r\n }\r\n\r\n }, [ccConfig, state]);\r\n\r\n return (\r\n <>{\r\n \r\n
    \r\n
    \r\n

    Please do not refresh this page during your transaction and be sure to click the payment button just once.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n )\r\n}\r\n\r\nfunction ValidateAccessSource(source)\r\n{\r\n if (typeof source == 'undefined' && source == null && source.trim() === \"\")\r\n {\r\n InformationLog(`Unauthorized Access Source, ${source}.`);\r\n return false;\r\n }\r\n\r\n const acceptedSources = [\"/dashboard/home\"];\r\n const iterator = acceptedSources.values();\r\n\r\n for (const value of iterator)\r\n {\r\n if (source === value)\r\n {\r\n InformationLog(`Authorized Access Source, ${source}.`);\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction ValidatePaymentUrl(testUrl, validationUrl)\r\n{\r\n InformationLog(`Card Payment Url Target: ${testUrl}`);\r\n\r\n if (typeof testUrl !== 'undefined' && testUrl !== null && testUrl.trim() !== \"\")\r\n {\r\n const regex = new RegExp(`^(${validationUrl})`);\r\n\r\n return regex.test(testUrl);\r\n }\r\n\r\n InformationLog(`Invalid Card Payment Url`);\r\n return false;\r\n}\r\n\r\nexport default CardPayment","import React, { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { InformationLog } from '../../../Shared/ServerLogging';\r\n\r\nconst ThankYou = () => {\r\n\r\n const location = useLocation();\r\n const searchParams = new URLSearchParams(location.search);\r\n const merchantReference = searchParams.get('id');\r\n\r\n InformationLog(`Thank you page hit for merchantReference: ${merchantReference}`);\r\n\r\n useEffect(() => {\r\n window.top.scrollTo(0, 0)\r\n }, [])\r\n\r\n return (\r\n <>{\r\n
    \r\n
    \r\n

    Thank you for submitting your details for payment.

    \r\n

    If your payment was successful, you will receive a confirmation email shortly and your payment will be applied to your account by close of business the following working day. Please do not attempt to process the payment again during this time as you may be charged twice.

    \r\n

    \r\n \r\n \r\n Back to your dashboard\r\n \r\n \r\n

    \r\n
    \r\n
    \r\n }\r\n );\r\n}\r\n\r\nexport default ThankYou","import React, { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { InformationLog } from '../../../Shared/ServerLogging';\r\n\r\nconst Cancel = () => {\r\n\r\n const location = useLocation();\r\n const searchParams = new URLSearchParams(location.search);\r\n const merchantReference = searchParams.get('id');\r\n\r\n InformationLog(`Cancel page hit for merchantReference: ${merchantReference}`);\r\n\r\n useEffect(() => {\r\n window.top.scrollTo(0, 0)\r\n }, [])\r\n\r\n return (\r\n <>{\r\n
    \r\n
    \r\n

    Payment Cancelled

    \r\n

    \r\n \r\n \r\n Back to your dashboard\r\n \r\n \r\n

    \r\n
    \r\n
    \r\n }\r\n );\r\n}\r\n\r\nexport default Cancel","import React, { useEffect, useState } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { Redirect, Route } from 'react-router';\r\n\r\nimport Login from './components/Pages/Login';\r\nimport Dashboard from './components/Pages/Dashboard';\r\nimport { useLogin } from './lib/hooks/useLogin';\r\nimport NotFound from './components/Pages/NotFound';\r\nimport Switch from './components/Shared/RouteSwitch';\r\nimport Maintenance from './components/Pages/Maintenance';\r\nimport { checkMaintenance } from './lib/maintenance/es6';\r\nimport PopUp from './components/Shared/PopUp';\r\nimport Analytics from './components/Shared/Analytics';\r\nimport LiveChatLoader from \"./liveChatLoader\";\r\nimport CardPayment from './components/Pages/CardPayment/index';\r\nimport ThankYou from './components/Pages/CardPayment/ThankYou/index';\r\nimport Cancel from './components/Pages/CardPayment/Cancel/index';\r\n\r\nconst App = () => {\r\n const {loading, account} = useLogin();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const [analyticsCookiesAccepted, setAnalyticsCookiesAccepted] = useState(localStorage.getItem('analyticsCookieControlIndexJS') === 'true');\r\n\r\n const isFramePage = location.pathname.startsWith('/thanks') || location.pathname.startsWith('/cancel')\r\n\r\n useEffect(() => {\r\n if (analyticsCookiesAccepted) {\r\n fetch('/api/Configuration/analytics-config')\r\n .then(response => {\r\n if (!response.ok) {\r\n throw new Error(\"Failed to fetch live chat configuration\");\r\n }\r\n return response.json();\r\n })\r\n .then(data => {\r\n if (window && window.mixpanel && data.enabled) {\r\n console.log(\"Initializing MixPanel\")\r\n window.mixpanel.init(data.licenseKey, { debug: data.debugMode, track_pageview: true, persistence: 'localStorage' });\r\n if (account && account.accountNumber) {\r\n window.mixpanel.identify(account.accountNumber);\r\n }\r\n }\r\n })\r\n .catch(err => console.warn(err));\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if(checkMaintenance() && history && history.location && history.location.pathname !== '/maintenance') {\r\n history.push('/maintenance');\r\n }\r\n }, [history]);\r\n\r\n useEffect(() => {\r\n if (analyticsCookiesAccepted) {\r\n if (window && window.mixpanel && window.mixpanel.track) {\r\n window.mixpanel.track('React Page View', {\r\n 'page': location.pathname\r\n })\r\n }\r\n }\r\n }, [location]);\r\n\r\n useEffect(() => {\r\n const handleAccept = () => {\r\n localStorage.setItem('analyticsCookieControlIndexJS', 'true');\r\n setAnalyticsCookiesAccepted(true);\r\n };\r\n const handleRevoke = () => {\r\n localStorage.setItem('analyticsCookieControlIndexJS', 'false');\r\n setAnalyticsCookiesAccepted(false);\r\n };\r\n\r\n window.addEventListener('analyticsCookieAccepted', handleAccept);\r\n window.addEventListener('analyticsCookieRevoked', handleRevoke);\r\n\r\n return () => {\r\n window.removeEventListener('analyticsCookieAccepted', handleAccept);\r\n window.removeEventListener('analyticsCookieRevoked', handleRevoke);\r\n };\r\n }, []);\r\n\r\n if (loading) return null;\r\n\r\n return (\r\n <>\r\n {analyticsCookiesAccepted && !isFramePage && }\r\n {analyticsCookiesAccepted && Analytics.init() && }\r\n \r\n \r\n {account && account.accountNumber ? : }\r\n \r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\n//import registerServiceWorker from './registerServiceWorker';\r\nimport {unregister} from './registerServiceWorker';\r\n\r\n/*\r\nimport TagManager from 'react-gtm-module'\r\n\r\nconst tagManagerArgs = {\r\n gtmId: process.env.REACT_APP_GTM_CODE\r\n}\r\n\r\nif(process.env.REACT_APP_GTM){\r\n console.log('reactgtm', process.env.REACT_APP_GTM_CODE)\r\n TagManager.initialize(tagManagerArgs)\r\n}\r\n\r\n*/\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\n//registerServiceWorker();\r\nunregister();\r\n\r\n"],"sourceRoot":""}