{"version":3,"sources":["images/ic_big_tap.svg","resources/RYM_He.pdf","resources/RYM_En.pdf","images/btn_join_he.svg","images/btnLoginWhiteHe.svg","images/ic_water_limit.svg","images/ic_vacation.svg","images/favicon-194x194.png","images/App_Consumers_Logo 66_84.png","images/ic_back.svg","images/ic_back_blue_heb.svg","images/ic_back_blue.svg","images/ic_big_lock.svg","images/btnLogOutHe.svg","images/btn_log_out.svg","images/ic_arrow_left_blue.svg","images/ic_arrow_right_blue.svg","images/btn_login_he.svg","images/btn_login.svg","images/btn_send_instructions_he.svg","images/btn_send_instructions.svg","images/btn_continue_he.svg","images/btn_continue.svg","images/btn_get_code_he.svg","images/btn_get_code.svg","images/btn_save_password_he.svg","images/btn_save_password.svg","images/btn_sign_up_he.svg","images/btn_sign up.svg","images/btn_finish_he.svg","images/btn_finish.svg","images/defineDaysBtn.svg","images/btn_define_days.svg","images/btn_join.svg","images/btn_join_mob.svg","images/btn_log_in.svg","images/btn_log_in_mob.svg","images/btn_back_he.svg","images/btn_back.svg","images/ic_google play.svg","images/ic_app store.svg","images/ic_close.svg","images/ic_eye_open_gray.svg","images/ic_big_gauge.svg","images/btnChangePasswordHe.svg","images/btn_change_password.svg","images/btn_save_gray_he.svg","images/btn_save_blue.svg","images/btn_cancel_white_he.svg","images/btn_cancel_white.svg","images/btn_confirm_he.svg","images/btn_confirm.svg","images/ic_small_calendar.svg","images/ic_location.svg","images/landing_page_imageHe.png","images/landing_page_image.png","images/landing_page_top.svg","images/logo.svg","images/bg_wave.svg","images/bg_wave_mob.svg","images/bg_wave_bottom.svg","images/ic_empowerement.svg","images/ic_flexibility.svg","images/ic_custom service.svg","images/ic_safety.svg","images/ic_clarity.svg","images/ic_context.svg","images/ic_bar_chart.svg","images/ic_bar_chart_selected.svg","images/ic_table_chart.svg","images/ic_table_chart_selected.svg","images/printer.svg","images/excel.svg","images/landing_page_top_mob.svg","images/landing_page_image_mob.svg","images/phone-call.svg","images/placeholder.png","images/about_logo.png","images/btn_see_details_he.svg","images/btn_see_details.svg","images/ic_alerts.svg","images/ic_big_new message.svg","images/israel.png","images/usa.png","images/ic_above_average_consumption.svg","images/ic_above_maximum_consumption.svg","images/ic_annual_ration_exceeded.svg","images/ic_monthly_ration_exceeded.svg","images/ic_vacation_expense/ic_vacation_expense.png","images/ic_above_average_consumption_big.svg","images/ic_above_maximum_consumption_big.svg","images/ic_annual_ration_exceeded_big.svg","images/ic_monthly_ration_exceeded_big.svg","images/ic_vacation_expense/ic_vacation_expense_big.png","images/ic_big_water_meter.png","images/ic_water_meter.png","images/ic_big_padlock_white.png","images/dropDownArrow.png","translations.js","locales/he.js","locales/en.js","locales/ar.js","locales/es.js","i18n.js","images/index.js","components/LanguageSwitcher.js","common/Header/Header.js","common/Footer/Footer.js","globals.js","managers/PersistenceManager.js","managers/DataManager.js","api.js","scenes/register/Register.js","utils.js","validators.js","scenes/common/TermsOfUse.js","components/AppPopup.js","components/AppButton.js","scenes/login/Login.js","scenes/password/ForgotPassword.js","scenes/register/RegisterAccount.js","components/Phone.js","scenes/register/RegisterPhone.js","scenes/register/RegisterEnterCode.js","scenes/register/RegisterNotFound.js","scenes/register/RegisterFinish.js","scenes/password/ChangePassword.js","scenes/password/EnterCodePassword.js","scenes/settings/Settings.js","scenes/home/MonthlyLimitPopup.js","scenes/home/DefineVacationPopup.js","components/MeterChart.js","components/MeterSelection.js","components/CalendarRangePicker.js","scenes/home/Home.js","scenes/settings/SettingsChangePassword.js","scenes/settings/SettingsChangePhone.js","scenes/alerts/Reply.js","scenes/alerts/MyMessagesList.js","scenes/alerts/Alerts.js","scenes/alerts/AlertInfo.js","scenes/requests/NewRequest.js","scenes/home/LandingPage.js","scenes/common/PrivacyPolicy.js","common/ProtectedRoute.js","scenes/contacts/Contacts.js","scenes/accessibility_statement/AccessibilityStatement.js","scenes/about/About.js","scenes/admin_login/AdminLogin.js","App.js","registerServiceWorker.js","index.js"],"names":["module","exports","translations","languages","lang","phoneCountries","resources","he","1","401","403","429","500","1100","4033","5000","5010","5020","5030","5040","5050","5060","5061","5070","5080","5090","5450","5451","5452","5600","5601","10000","10002","10010","10020","10030","10040","10050","10060","10070","10080","10090","10100","10110","10120","10130","10140","10150","10160","10170","10180","10190","10200","10210","10220","10230","10240","10250","10260","10270","10280","10290","10300","10310","10327","10404","10520","11000","110000","16000","16001","17000","17001","17002","17003","HOME","SETTINGS","ALERTS","NoInternetConnection","READYOURMETER","aboutText","AdminLogIn","USERNAME","PASSWORD","ForgotPassword","Back","Report","alertInfoText","callUs","WaterMeter","automaticReadingSystem","errorOccurred","websiteTerms","acceptance","termsText","setMonthlyTitle","VacationDates","ChooseDate","EmailAlert","SMSAlert","waterDesc","BillingCycle","CurrentBillingCycle","BillingCycleLimit","Update","SetBillingCycleLimit","getInformed","CancelVacation","waterConsumption","compareToPreviousYear","tab2Heading","WaterUsageForBillingCycle","EndOfBillingCycleForecast","CurrentMeterReading","getInformedMob","OnlineYourWorldWater","MyWaterAdvisor","Empowerment","KnowledgeOfHowUseWaterEmpower","Safety","MonitorUnexpected","mobileApps","AppsAvailableForBothApple","SetBudget","InvalidMonthlyLimitSet","choosePassword","typePasswordAgain","ConfirmPassword","passwordDontMatch","emailsDontMatch","passwordResetSuccessfully","passwordError","changePassword","enterCodeAgain","email","emailAccessibility","mail","needHelp","SearchUtilityByName","JoinMyWaterAdvisor","signUpWithPhone","PhoneNumberRegistered","signUpWithAccountNumber","billAccountNumber","callYourUtilityOffice","foundMonthlyWaterBill","billAccountNumberUpperCase","billFullName","billPropertyName","propertyNumber","billMunicipality","chooseMunicipality","municipality","smsCode","validEmail","chooseNewPassword","mustContain","mustContain8Char","passwordCheck","iAgree","Privacy","privacyText","ofUse","repeatEmail","PhoneNumber","Account","wasNotFound","pleaseTry","orRegisteringWith","enterPrimaryCellPhoneProvider","phonePrefix","SetRealTimeAlerts","Alerts","SuspectedLeak","BillingCycleConsumptionLimit","DailyUsageDuringVacation","MyWaterMeters","AccountNumber","Edit","a","MonthlyConsumptionLimit","DailyUsageVacation","curPassword","EnterPhoneReceiveSMS","Home","AboutMasterMeter","waterMeter","Clarity","BetterUnderstand","CompareOnesUsage","LogIn","REGISTERED_EMAIL","WATER_ADVISOR_PASSWORD","fullName","code","TermsofUse","TermsOfUse","TermsOfUseTitle","sendInstructions","cancel","name","MonitorRealTimeConsumption","Context","CustomerService","Flexibility","ReceiveAlerts","DailyUsageLimit","from","to","RealTimeAlerts","ApplicationPrivacyStatement","Contact","FooterContact","AllRightsReserve","AboutUs","UserGuide","FAQ","ChooseWaterMeter","AllWaterMeters","ok","Minimum","Total","Average","Welcome","Data","Consumption","OK","Maximum","Monthly","Daily","Hourly","Status","and","NewMessage","Subject","Message","HasSent","Send","chgPassword","ConsumptionBelowLimit","ConsumptionOverLimit","btnDefineDays","SystemMessages","Requests","Return","AboveMaximumConsumption","AboveAverageConsumption","ConsumptionAboveAverageSuspectedLeak","Leak","AnnualRationExceeded","MonthlyRationExceeded","ConsumptionDuringVacation","LeakInMainMeter","AccessibilityStatement","AccessibilityStatementTitle","AlertDate","replyInquiry","inquiryFrom","seeDetails","ContactUs","Tel","HappyToAssist","InTouch","isRequired","notValidEmail","valueExceeded","symbols","PasswordsNotEqual","ReplyOn","JoinButton","Login","SignUp","resetPassword","estimateConsumption","realConsumption","ResendCode","invalidDates","CouldNotConfirmAlert","PasswordRecoveryFailed","PasswordChangedSuccessfully","selectMeterForDates","TermsOfUseText","PrivacyPolicyText","firstParagraph","howAccessibilityWork","howAccessibilityWorkFirstRow","howAccessibilityWorkFirstRowLink","howAccessibilityWorkFirstRowEnd","howAccessibilityWorkSecondRow","howAccessibilityWorkThirdRow","howAccessibilityWorkThirdRowLink","howAccessibilityListHeader","howAccessibilityWorkList","accessibilityIssues","accessibilityIssuesRow","accessibilityContactName","accessibilityContactNameBold","accessibilityDate","buttons","back","confirm","continue","defineDates","finish","getCode","register","logIn","save","savePassword","signUp","logOut","en","ar","Telephone","es","registeredEmail","provideValidMail","label","value","findCountryLanguage","country","countryLanguage","i","length","includes","findCountryShortName","countryCode","find","item","i18n","use","LanguageDetector","init","detection","order","Translations","lng","localStorage","getItem","fallbackLng","debug","ns","defaultNS","interpolation","escapeValue","formatSeparator","react","wait","images","rtl","i18next","dir","logo","require","icBack","icBackBlue","icBigLock","btnLogOut","icArrowRightBlue","btnLogin","btnSendInstructions","btnContinue","btnGetCode","btnSavePassword","btnSignUp","btnFinishAndLogin","btnJoin","btnJoinMob","btnLoginWhite","btnLoginWhiteMob","btnBack","btnGooglePlay","btnAppStore","icClose","icOpenEyeGray","icBigGauge","btnChangePassword","btnSaveBlue","btnCancelWhite","btnConfirm","icWaterLimit","icBigWaterLimit","icVacation","icBigVacations","icFaucet","icSmallCalendar","icLocation","lpImage","lpImageEn","lpTopImage","lpLogo","bgWave","bgWaveMob","bgWaveBottom","icEmpowerment","icFlexibility","icCustomerService","icSafety","icClarity","icContext","icBarChart","icBarChartSelected","icTableChart","icTableChartSelected","icPrinter","icExcel","lpTopImageMob","lpImageMob","icPhoneCall","placeholder","aboutLogo","SeeDetails","icAlerts","message","IsrFlag","UsFlag","icAboveAverageConsumption","icAboveMaximumConsumption","icLeak","icAnnualRationExceeded","icMonthlyRationExceeded","icVacationExpense","icAboveAverageConsumptionBig","icAboveMaximumConsumptionBig","icLeakBig","icAnnualRationExceededBig","icMonthlyRationExceededBig","icVacationExpenseBig","LeakInMainMeterBig","lockIcon","icDropDownArrow","LanguageSwitcher","props","handleChangeLanguage","language","changeLanguage","then","setState","moment","locale","symbolMap","numberMap","updateLocale","preparse","string","replace","match","postformat","window","interdeal","SetLocale","state","every","this","generalColor","color","separatorStyle","index","map","key","toString","style","borderColor","className","onClick","str","toUpperCase","React","Component","withTranslation","Header","t","matches","_renderMobile","_renderDesktop","justifyContent","src","alt","margin","padding","fontSize","Footer","dropScreenID","alignItems","display","fontWeight","textAlign","e","preventDefault","openTerms","openPrivacy","Link","href","RYM_He","RYM_En","download","direction","marginBottom","flex","flexWrap","marginLeft","marginTop","process","SKY_BLUE","PALE_SKY_BLUE","CAROLINA_BLUE","BABY_BLUE","BABY_BLUE_2","CLEAR_BLUE","CLEAR_BLUE_2","CLEAR_BLUE_3","DODGER_BLUE","DODGER_BLUE_2","DODGER_BLUE_3","DUSK","WHITE_TWO","WHITE_THREE","AZURE","COOL_GRAY","ICE_BLUE","ICE_BLUE_2","BABY_GREEN","SALMON","SILVER","REALLY_LIGHT_BLUE","VIBRANT_BLUE","BROWNISH_GRAY","BLUSH","GRAPEFRUIT","DEVICE_ID","TOKEN","STANDARD_FORMAT","PersistenceManager","setItem","removeItem","DataManager","IntlProvider","meters","units","user","firstName","lastName","accountNumber","phoneNumber","municipalId","vacation","muni","showAlertBadge","sessionId","isAuthenticated","clearedAlerts","loginErrors","phone","account","errorCode","errorMessage","api","undefined","deleteItem","globals","requests","isAlertLoaded","isMessagesAllowed","isRequestsLoaded","sharedInstance","DataContext","token","url","authorize","callback","params","method","blob","headers","Accept","Timeout","time","controller","AbortController","setTimeout","abort","fetch","body","JSON","stringify","signal","res","console","log","status","text","error","err","result","parse","catch","setTokenValue","tokenValue","confirmAlert","alertLogId","unsetAlert","alertTypeId","mediaTypeId","setAlert","getAlertSettings","getMe","login","password","deviceId","pw","getAllDailyConsumptionByDates","fromDate","toDate","getMeterDailyConsumptionByDates","meterCount","getAllMonthlyConsumption","fromMonth","toMonth","getAllMonthlyForecast","getMeterMonthlyForecast","getMeterMonthlyConsumption","searchUtilities","term","registerPhone","languageCode","Register","goToRegisterAccount","history","push","goToRegisterPhone","onChangeUtilityName","event","target","utilities","searchTerm","onEnter","flexDirection","marginRight","width","bind","height","description","float","AlertType","AlertsTitles","12","14","16","23","40","41","1001","1002","35","2","3","4","5","6","10","11","13","15","17","20","21","22","24","25","26","27","28","29","30","31","32","33","34","36","37","110","111","120","121","130","131","132","133","140","141","200","210","300","MessageSubjects","MessageSubjectsMap","getTranslatedRequestTitle","title","Object","keys","AlertsDescriptions","utils","getFormattedConsumption","val","parseFloat","toFixed","isNaN","containsNumbers","test","generateId","array","Uint32Array","crypto","getRandomValues","join","isEmail","candidate","toVacationDateRange","toVacationDate","startDate","endDate","date","format","toMonthDate","toAlertDate","getBillingCycleDate","ISO_8601","toHomeDisplayDateString","toDisplayDateString","withTime","toDateFromString","dateString","toDateString","toISODateString","getYearsBefore","amount","subtract","getDaysBefore","getMonthsBefore","getMonth","getEndOfMonthDate","endOf","getMonthDigit","getMonthDiff","date1","date2","diff","getHour","getDayNumber","getYear","getMonthName","getDay","getDaysInMonth","year","month","Date","getDate","setDate","isToday","today","getDayMonth","isArrAscendingByConsDate","arr","x","consDate","getMeterDesc","meter","meterSn","fullAddress","getLargeIconForAlertType","bigIcon","parseInt","getSmallIconForAlertType","icon","capitalizeFirstLetter","charAt","slice","roundDecimal","toFixedValue","newValue","required","trim","validator","reducedValue","split","passwordRequirements","isNumber","some","char","isString","backgroundColor","onClose","disabled","border","overflowY","AppPopup","AppButton","propsStyle","commonStyle","styles","blueBackground","whiteBackground","button","borderRadius","textDecoration","cursor","boxShadow","closePopup","onSubmit","location","pathname","uniqueId","isLoading","response","handleStateUpdate","storeItem","AdditionalPhoneNumber","onLogin","isLoggedIn","isSecurePass","position","top","bottom","right","left","opacity","ref","c","form","validations","validators","type","onChange","paddingLeft","paddingRight","toggleSecurePass","validateAll","loading","contentStyle","open","detail","RegisterAccount","municipal","propertyId","siteId","municipalID","municipalOptions","dropDownVisible","validation","searchInputText","RegExp","onKeyDown","removeSpecialChars","maxWidth","closeErrorPopup","stopPropagation","onFocus","newArray","sort","b","localeCompare","toLowerCase","maxHeight","minWidth","Phone","onlyCountries","inputProps","autoFocus","inputStyle","countryCodeEditable","RegisterPhone","onPhoneChange","substring","dialCode","countryName","search","RegisterEnterCode","onResendCode","phoneNbr","RegisterNotFound","align","goBack","strtings","phoneError","accountError","RegisterFinish","confirmEmail","pass","confirmPass","isCharsValid","isNumCharsValid","isSecure","autoComplete","ChangePassword","onButtonClick","isSecureNewPass","isSecureConfirmPass","toggleSecureNewPass","toggleSecureConfirmPass","EnterCodePassword","constructor","Settings","openChangePhone","onOpenChangePhone","openChangePass","onOpenChangePass","toggleSwitch","chosenSettings","chosenSettingsIndex","findIndex","tempChosenSettings","splice","alertsSettings","alertsToggles","alertType","sms","icons","checked","MonthlyLimitPopup","saveMonthlyLimit","monthlyLimit","smsAlert","emailAlert","limit","closePopupSave","forEach","alertSetting","_toggleEmailAlertSwitch","_toggleSMSAlertSwitch","DefineVacationPopup","_onChangeLimit","Math","abs","consumptionDailyLimit","closeCalendarPicker","openCalendarPicker","saveVacation","startOffset","ceil","parseZone","utcOffset","endOffset","vacationID","utc","add","newVacationId","createVacation","tomorrowDate","min","step","closeCalendar","clearIcon","dayPlaceholder","monthPlaceholder","yearPlaceholder","minDate","calendarIcon","Statistics","data","daily","reduce","max","v","Legend","entries","MeterChart","timeType","selectedMeter","ticksStyle","fontFamily","fontColor","_renderMonthlyChart","_renderDailyChart","_renderYearChart","allYearsData","yearsConsumptions","yearsArray","monthYear","cons","yLabel","chartOptions","legend","layout","tooltips","titleAlign","callbacks","datasets","datasetIndex","tooltipItem","tooltip","responsive","maintainAspectRatio","scales","yAxes","ticks","beginAtZero","formattedLabel","labelOffset","gridLines","stacked","xAxes","barPercentage","labels","monthsShort","legendColours","canvas","ctx","getContext","gradient3","createLinearGradient","addColorStop","gradient2","gradient1","options","data1","data2","neighborData","avgCons","isEmpty","pivot","floor","j","gradient","pointColor","pointStrokeColor","pointHighlightFill","pointHighlightStroke","chartData","reverse","filter","autoSkip","lineHeight","maxRotation","isGapNeeded","day","daysInMonth","startOf","chartShape","sum","prev","cur","estimationType","consumption","borderBottomColor","borderBottomWidth","meterStatusDesc","boxWidth","PureComponent","MeterSelection","waterMeters","onMeterSelected","CalendarRangePicker","saveDates","handleDayClick","handleDayMouseEnter","handleResetClick","getInitialState","enteredTo","singleDay","isVacation","isMonthSelection","shouldSelectMonth","startOfMonthSelected","billingCycle","isBeforeFirstDay","DateUtils","isDayBefore","isSelectingFirstDay","startOfMonth","endOfMonth","modifiers","start","end","disabledDays","before","after","selectedDays","initialMonth","isValid","numberOfMonths","onDayClick","onDayMouseEnter","localeUtils","MomentLocaleUtils","beforeDate","setHours","getClassName","forecastUsage","currentMeter","selectedChartTimeTypeIndex","dailyStartDate","dailyEndDate","_getDataForMeter","_getDataForAllMeters","onExcel","FileSaver","onPrint","print","isBigNumbers","openMeterSelection","chartTypes","read","onTabSelected","openDefineVacation","closeDefineVacation","openMonthlyLimit","closeMonthlyLimit","closeMeterSelection","onChartTypeChange","selectedChartTypeIndex","onChartTimeChange","monthlyConsumptions","dailyConsumptions","consumptionData","presentationMode","monthlyDefaultStartDate","monthlyDefaultEndDate","dailyDefaultStartDate","dailyDefaultEndDate","thisMonthUsage","alert","monthlyConsumptionsForNeighborhood","hourlyConsumptions","neighborConsumptions","isDefault","billingCycles","billingCycleStart","billingCycleEnd","chartTimeTypes","prevProps","prevState","meterDesc","billingCycleText","Array","isArray","alerts","paddingTop","paddingBottom","handleCancelVacation","resizeMode","alertTime","onOpenAlert","renderTabHeader","maxDetail","maxDate","minDetail","unix","closeOnDocumentClick","isUpdateThisMonth","estimatedConsumption","alignSelf","logId","SettingsChangePassword","setScreenOrientation","matchMedia","screenOrientation","currentPassword","newPassword","currentPass","successMessage","addEventListener","removeEventListener","SettingsChangePhone","updateUser","countryShortName","Reply","activeMessageIndex","activeAlertIndex","isAlertsView","backHistory","handleActiveMessage","handleDeleteAnItem","activeMessage","row","requestText","requestSubject","requestDate","answerDate","answerText","isRead","MyMessagesList","activeIndex","messagesList","wasRead","id","itemId","resetID","answerId","answerID","previousAlerts","hideOnMobile","screenName","AlertInfo","getAlert","path","alertId","NewRequest","handleTextChange","onSubjectSelect","subject","handleSubmit","isLoader","setError","sent","getAlerts","subjects","Email","MessageSubjectsID","loader","LandingPage","isLandscape","toggleHeader","zIndex","currentScreen","PrivacyPolicy","ProtectedRoute","component","render","rest","Route","Redirect","Contacts","rel","AdminLogin","captchaResponse","username","lc","queryString","session_id","sitekey","Mobile","MobileLand","orientation","initialState","shouldShowBack","showHeader","showRightButton","showSignUpButton","initLoading","alertsCount","alertsTimers","App","Promise","all","resolve","reject","req","fetchData","k","meterId","unit","updateInterval","setInterval","show","onLogout","clearInterval","reset","onHomePressed","onSettingsPressed","onNewRequestPressed","onAlertsPressed","closeChangePhone","closeChangePass","closeTerms","closePrivacy","newState","document","showHomeButton","_onRightButtonPressed","alignContent","HashRouter","minHeight","_renderLoggedInStripMobile","_renderLoggedOutStripMobile","exact","About","onAlerts","isFooterContainer","_renderLoggedInStripDesktop","_renderLoggedOutStripDesktop","lockScroll","withRouter","isLocalhost","Boolean","hostname","registerValidSW","swUrl","navigator","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","Root","BrowserRouter","I18nextProvider","Provider","contextType","ReactDOM","getElementById","URL","origin","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"sMAAAA,EAAOC,QAAU,IAA0B,wC,kCCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,yBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,yC,2GCA3CD,EAAOC,QAAU,kuS,iHCAjBD,EAAOC,QAAU,s+V,gBCAjBD,EAAOC,QAAU,IAA0B,qC,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,kC,gBCA3CD,EAAOC,QAAU,IAA0B,qC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,qC,gBCA3CD,EAAOC,QAAU,IAA0B,mC,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,gD,cCA3CD,EAAOC,QAAU,s0Y,gBCAjBD,EAAOC,QAAU,IAA0B,iC,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,E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","file":"static/js/main.488c813e.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/ic_big_tap.eb5cbbad.svg\";","module.exports = __webpack_public_path__ + \"static/media/RYM_He.11bca1ae.pdf\";","module.exports = __webpack_public_path__ + \"static/media/RYM_En.d3929380.pdf\";","module.exports = __webpack_public_path__ + \"static/media/btn_join_he.7f052cdc.svg\";","module.exports = __webpack_public_path__ + \"static/media/btnLoginWhiteHe.5452b604.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_water_limit.1695ad14.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_vacation.af6b323d.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADCCAYAAAFs5i2nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ0RkVFNDhCQzYwMzExRTY5RDY1QTE1N0VBNUQxQzRDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ0RkVFNDhDQzYwMzExRTY5RDY1QTE1N0VBNUQxQzRDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDRGRUU0ODlDNjAzMTFFNjlENjVBMTU3RUE1RDFDNEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDRGRUU0OEFDNjAzMTFFNjlENjVBMTU3RUE1RDFDNEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6uPLa9AAAYBklEQVR42mL8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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/ic_back.117c4f18.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_back_blue_heb.7097c173.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_back_blue.c20305c7.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_big_lock.1ff0a001.svg\";","module.exports = __webpack_public_path__ + \"static/media/btnLogOutHe.c5c24a52.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_log_out.9b08adf4.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_arrow_left_blue.ef374bdd.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_arrow_right_blue.2d084155.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_login_he.8c00d538.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_login.9d1ce5d2.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_send_instructions_he.182f901a.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_send_instructions.1fbac702.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_continue_he.a8204d85.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_continue.2e531369.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_get_code_he.5d8c27ee.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_get_code.93e950b6.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_save_password_he.5a29c4b0.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_save_password.878c26fb.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_sign_up_he.de989eff.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_sign up.77205b3f.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_finish_he.db3f4a66.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_finish.4bc95a43.svg\";","module.exports = __webpack_public_path__ + \"static/media/defineDaysBtn.9d6dbf2f.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_define_days.4fdbcdf5.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_join.97927b3a.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_join_mob.36c4c4ac.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_log_in.e2eb34c9.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_log_in_mob.0334cc38.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_back_he.8a0c7333.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_back.ce8c479a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_google play.82c56ec4.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_app store.624731ef.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_close.1e5f3ea4.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_eye_open_gray.b1ae694a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_big_gauge.d07b58d1.svg\";","module.exports = __webpack_public_path__ + \"static/media/btnChangePasswordHe.39aa1997.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_change_password.feeaf6ea.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_save_gray_he.9c23f223.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_save_blue.f2670a5f.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_cancel_white_he.1d424f12.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_cancel_white.4cdb01e6.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_confirm_he.722dda75.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_confirm.5905acf8.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_small_calendar.48f87c61.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_location.b185623c.svg\";","module.exports = __webpack_public_path__ + \"static/media/landing_page_imageHe.4bf42863.png\";","module.exports = __webpack_public_path__ + \"static/media/landing_page_image.3863bcd7.png\";","module.exports = __webpack_public_path__ + \"static/media/landing_page_top.2217f348.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo.c76f250e.svg\";","module.exports = __webpack_public_path__ + \"static/media/bg_wave.ac911515.svg\";","module.exports = __webpack_public_path__ + \"static/media/bg_wave_mob.d9359e06.svg\";","module.exports = __webpack_public_path__ + \"static/media/bg_wave_bottom.500a3c6e.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_empowerement.8598dce6.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_flexibility.c3794558.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_custom service.ba97a8e9.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_safety.46b1657a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_clarity.981b829e.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_context.7609b8eb.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_bar_chart.71a2d24e.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_bar_chart_selected.276de137.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_table_chart.a6e97a8c.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_table_chart_selected.206684bf.svg\";","module.exports = __webpack_public_path__ + \"static/media/printer.e4f184ec.svg\";","module.exports = __webpack_public_path__ + \"static/media/excel.7129d289.svg\";","module.exports = __webpack_public_path__ + \"static/media/landing_page_top_mob.262ecdbd.svg\";","module.exports = __webpack_public_path__ + \"static/media/landing_page_image_mob.c896c0dc.svg\";","module.exports = __webpack_public_path__ + \"static/media/phone-call.fd93e5d1.svg\";","module.exports = __webpack_public_path__ + \"static/media/placeholder.17514b0a.png\";","module.exports = __webpack_public_path__ + \"static/media/about_logo.91b512fc.png\";","module.exports = __webpack_public_path__ + \"static/media/btn_see_details_he.39fabdec.svg\";","module.exports = __webpack_public_path__ + \"static/media/btn_see_details.a08ce182.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_alerts.5862afed.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_big_new message.bfd9d72b.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAFrCAIAAACohOxLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkMzNDU5RjcwMEM3RDExRTY5MERBQTkzRUM5RkQxMUU2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkMzNDU5RjcxMEM3RDExRTY5MERBQTkzRUM5RkQxMUU2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzM0NTlGNkUwQzdEMTFFNjkwREFBOTNFQzlGRDExRTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzM0NTlGNkYwQzdEMTFFNjkwREFBOTNFQzlGRDExRTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Io5QCAAAhS0lEQVR42uzd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\"","module.exports = __webpack_public_path__ + \"static/media/usa.d8ba0fb2.png\";","module.exports = __webpack_public_path__ + \"static/media/ic_above_average_consumption.d3a6f40f.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_above_maximum_consumption.1310d35b.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_annual_ration_exceeded.348789dc.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_monthly_ration_exceeded.87e1a9ce.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAjCAYAAACHIWrsAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAPWSURBVHgB7VU9b9NcFD7XjtPCO5D3F2BU6AdTszGAMBINbCSU8DGR/oKGASmEIc5AQWKg/QWlExJtSLpBixQjGNgaFgggFP8DwgAKcXMP5zixZUKgxJEYEI+U+Prcc+75eu6xCiGQuJgvT8ycmPnw+rkFQ0KBEEAUMSHgIIRAKIejYE+Hc+l8xkjm9D31LuUXWXcvPd+hkczG5tLXZ/sVBMCiponVoEzFTlECrHynJyFLh53stz99IWcEA/YdRiP7swK0HVYIGkiU1xSEzaDs8cYda3t9qRaUIciicGQxKEtcvHlVEUo1GoVMIAEvQzMW1dpVWuoIzqnt9bu1YPaqus9QFOWcADRYp7dVowNqKHFzq3S70u+M2HWfCGZtb9w69UOGVsVstp0obWBTQMQvYWL+RjKq/ddQFVEmZ0kEYaGUK/yjbRs5ANpLpPMN1vUzRpnhgJzdz6lgIAL6cPZyTm+1Wk2rstykKO+RZZajROgUn1IpYQDm0rmMAFGg43Q60dx6uFTkqnQTWW7+0mGgJK4zak5xa2PJhN9A4kLepBMLntNBOir/cTT69LFxu/6y1XWWL5Cj3DDOGDx5Jo6e4CTMiZnjrz68eVFnOV+XwzPHdX4X3chu7oDAWSJL3FHVZrSj7lC/Kk/WlxYgBObSN6pUYr3tfImDtl+PAuxwz7dLd7IuaZRIJ8XZOI5jj3UU6gXG+ik+DBCRbfWxyL6MRdcHAeLsbKAys+1MOr8KI4Kz5F+//LvRZqTzPGl0lLubMCKQhgWV1fDYOtBhBKW72e60LRgRu0JY/NQ0Tf9hc7KE5vQDdDe8iCY3MMnyIyXMBHVZb6qE2aCNf06fjXeWZ8Nrl6VTj6gABKT70+nAK1WBAm0EB7lN8gUlAicFghl0MozN2/NCuCWlj+khUl7jjYgCNMJAp/UCK/CTdVQVqj1D66uA/8PY+Bl6OFpGN8IvFJ2dEv5I0ssYG9+l6CNg11PCHtXmz0NfxdggGUWpD9QneRgbfro9HDsAH6fKWPVYR+tFkjXGEBpEqMZkGQssd9n2CKssd21KWP6ZjcfKoA2/uz1kKhMJFmnJUTd7T4savoYK0IcUjIC8SfIVCS7ZhrKpzwvTJ800pUyXI0s0P4ASnr2fF/f9PbpXUnHp/YmcLHskCGPz96M7aYgwUsKaVxJuNI67/aFvJNhKC4r1K70yUqlIdo7oFhvW5u28SHmjjRmkU6MrdJBNzwzL2bA3rmwKrUICXhvuexdD2dAUOuReC15Qc4ukMEsKTOcaNTr+7ryI8wgjud2T8/411g9jA//wD2HwDcIbLeGpTP8iAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/ic_above_average_consumption_big.2ed1059b.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_above_maximum_consumption_big.992b1e44.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_annual_ration_exceeded_big.841043e6.svg\";","module.exports = __webpack_public_path__ + \"static/media/ic_monthly_ration_exceeded_big.2ba1e65d.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAATuSURBVHgB7VnNThtXFD5nPHbStIt5gUqD8tuoVd1llaY1UkK6dMqP2hXmCYBFJSAL7A2wCzwBZlcViM0uJZFwVRbNiizairSJOm/QyaZKwL6n58yPa8xgrm1so8ifZM3Mne/ce7/7c849Y4A+9HB3dC4jP+gwTOgg7ozMpBBgNXjMQwdhwDuCvpDzhrb3SCo9ZQFctErFJQeahNia5nuZcpmKrdjXoq0ZSaWzViL+/t+JuLHnCzoK0wQnuHWj7OPxS2kD8WE8jqvQJhoKSX07Yw8Nz6bhdFgJ89JUfeHjH5YcRWrQiKnPos1w3O8EOtAAd0Zmp1LpGbsRp6GQRDlWAAML98ZmH0a9LxWzLnc053UpRpGj/nRjqSSCot4RqS2+OHjo1xGFe6NzqzJrPOsFaABs9HJoZC7LjPmAmd3+cSEHmpARjMcrFlGsuuTK5TfPS8VlV7cOEUEAGe+BILe9sZA9iYtwCpoR4wVAjI1zpbwcyTqB5vD7UoXUmswWnIEIv2saGBqZzQP665krn3iyvpCvfS9HEK5IxNrQHByuL3dCfb4D0BAh0PJa2xuLGV7Qa/6TqpaLM7g7+mAnaNT22iUsKaJp2eQHh2pge30B5Sf3UiYdY5YTVGGLrYx+7WbmveM0I0KgNSPVjnNjob+XZWQgO4NgCYkAgkqu0XKphW9viBNJBkUOix1sNZ40JSTE0NiDce553n8idrE0oSugHuJaWdB8MCAti2laiCynRCW25zdMjnFIg4/bjMpfc52qgjvcHRtaFNNUZPdFGDtnKUIgccaI0SALEddsR0V6LzizBz0pMMaiCofG5uYv37xduvzx7eSHV289c/Z3Pd9//aMvZU2n+OeyiM/PQkSIl7/tugM3bz1DRPZYaF/55IvXr37f/VXeiRcziWcMIWXG0Hr1xy9b9fbRM0LBBiRIJ0wjI7cyIqFfR6LcWYoIIfuMFKx4TSucD89vRNWY5JKirSjbSCF8NpomUBMEmDfKKi9lFyqGHxR5Sf20sbgMHcJhJZENllj1/PaU2/Pd+b8D25uLxSg7rc3un3IP/pF7EfhkfSkPHUTNacLhGDSgY6O12ePxg/AE7HZahMAw/VXA4ID7fVLLRpP0lX+nfoYuIDgtO17bZKZ0bLSEcNT2RgU5ekO3QOQPGuKnOnQ9Iag896uwXIIugZBKXptKvdbhR272K+uUMsvg7H/3f+YmrjDMJexVsswPfBddz6tFu7zaNmt5L0ePr4xIIdcfEcmVEPIHLkw7E1gVcMFib0JwJK3tNu/FN4hNCQng8JN3hGdzyUlsiEbXeNpCbhTI5rQjQ2FmeBwrbzlbvMhBqxc85z66WkJCXC1Q0gBvSpMB+zmWYWW/bo32itdHH72CuDsdTq94UeWN3C/n4pD7axjzR94VaDLw53ZQ1HVeS3FEgpMqwxpfLdOASfAzxGPoJk8/jvARhUzP/aUgGl4mZxBnbD3g/TmCRS0hIW5sUhic7KDIlY9mL4Zx+TzwmoZEei/an1NeH310EJGb/doj2pODmvEGcvXJkCRdhgnjyJ6FZBP2gMfud0BLSF0cyXKS4300S1gwyRVlo2y6ydOOI9c2KXtK0iP5wBrLdXvBYyHH/ng9MY54bo9HgadmvM6i+Jb/tQqTm17xtIXUClIVSBp8VOBvLqX9+9EfEHrF6+O84j/gom8wi13pwQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABMCAYAAAAlS0pSAAAACXBIWXMAABCcAAAQnAEmzTo0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAw/SURBVHgB7VvPbhTJGf+qetxeEgkmT0AjZReUC+YJGJSYRLlg82+Tk+0nsDlEAnPw+LCAkgPmCTw+JQJ7MTdiR/LwBJhL5ECkbZ4gs1K0C57pqv2+numZqurqPzM9PdZK/kmW3V3VVdW//v5XGeAUpzjFKX4+YHDCqM3d9yoV8BgDT0pW5cCqUZsA2WJMtqQEn7Ggtf/ib4dwgpg4Wb+7fb+GhNyQjM/g5DMAspr/adaSAIdMikMk8tW/tp80YYKYCFlEEGPOAk42Nxw5WWAtBnI3kGJrEsSVRlZtbqVaqZxZ5IwvIEEzUD58lLr1/RePGlASSiFr9s7qIg68hn96GV1bIJkvGamW/BjZqKixb8MYXKa/sa0G2SiNtLGShSShBLGnqBq1pD740k1sfyNANEdRHVJpnAPtHb+RQZ5/3BbXmrtPfBgTxkbW7Nery0zARkIzShA8O+6IxjgX/4c/3fdEh9XxLa7iq3jWTgzqe88frcMYUJisGi54KnA2E6SpR9IPG83djRaUiNk791H12ZqNNAmy2W7LpaIfqhBZRJQb8AOw2SYJ61kkkRNwnTM1wSjO4pdRrapkm4xuPtkz1N/D4+DHZvp49apbOV7Bt1qzNBdWy5HJIvuEX/LAEgocooFdQgNrDSApCHVdvoCk1NJsWwoOkbjmcUc+S3rxUD0DWhvzjCY0/u35UYPbkchKIkoK8awdfKrbvn4v1lobkSArJKCzwDn3dh7v2tpnb61uMA7Lxm0MbNvXRiFsaLISVQ/Vbm/7Ud3sXwZJFhyiis3bJO367dW6RS1b2P/KsCo5FFlJRPXUrqH1JXvk/nINVWYlZUj8ymxXSvGum/+Bxxl7qgy8TiEGhQp4/2o3uGVe0mBo8zb++fzxPfN+1/jzTeP20DZsKLJm7zw8MCXESlSa4SeChNjCQHTXjLN6wWz/pWSAY3+rj93LLReRmQWww0qCjTDykvsvHl+DnOB5O16/uxpXJRmPlMmeuYHzFuJEtUIP2f7hwv7Ok5VRczl6bm/78SJ3xAWU2i1LF8+d4gezd/6ipVj7L540aH71Htrd2u+/frACOZGLLJIUnKiu3iNjbtqo63cfLlgNP0btHG0E9R9XvPX6H0/8iDSSEKPZYzD19vrdB5r00fxSwDNtbYI9NYlNQi6yeiqlTuGTdKh3wlRHyoZJFMZI9/a3v7n2OodtEIJqV6zZ/+Ei8xkiLVQlQ2q6y2QbJhHtwK0DhR8aKk8hBzJtlmlHCCglF9SXT7FRI7vpYZES98U8X7cvvFU72WyviUzJ6lUP1FHXTSlJMeZVVIeDvGI+KlKICtdANoy8c3QjDJhj9gvW1D428IxFLIJGgvQphVH7oJ16CjGimGqXSiUsgSjTLnrT7hntox933A1jnd401t8gBalkmVKFhnRdNdBdw2/EUfjFsN81kzAQziKUACYphNCJQpWK2TC0gSvd8k4Xzd06emepG/vkcCREIlm9gT1lKD90vwowRHhpLKhJHofEXCMMXbzpEMaFve1v7ikhREgUzR96PsNLMsaypGtGJdREIllOWA5WJsI8TL3+7a0Hc2a52OkES9HfEWHkqsnFQ4mg8WmeiKj+ehy5pJJBcVWWdJnvrSKRLExD5tRr1haaWHPOtQQVVbZhGn5a+P7Oo6EkytuU1S+fD1+zp3nMSgeFFSYZpnTximio1zLcVLHDSlaX/YEdIPUyQwUzmjfJHAVE1PQ5eMsr8Pbit/I7uoaCMFWNpOuPNx+ej66JUENdq0mqaCWLST6ndxKv1OupNtekxSZVo+CLs6B6Vm+6ai3iDQVSNSn0tKjD5ZJ6jU7ijX5tly67GnJ2Wb0MQGrizcIKgNKO+3ZQEJd25CIm14vaTQkrX23LOSgIycSufi219XcrGwqM9+/ftt3s7hQPoCa9VLpF6pV26Rfd4Lz0d+lJeykYsHi3Se1QAN316aqoBqCWdqvNjJFVC7ezdHultjvO55r+hHwHReHqe4xSz92q8gvYhKKQuilxHbemt4OvzqnatQgxsipS6IkwC75Xrx2ms84MMoeFRf389zfZFY0wCbWLO7JQnCaM5Bmrt57RQ/voxzy4YI4RIwt3WTzthuRGEqyrhGnPhoFN/bBaGhbjKgyW9IXBWhHvKHXJoYkMu8S0diYMHmhN8UElbpMzZY1Sy7Mk4+cZKUoPGG/VsArpqYvKbcMM9UMvtH50s7vof8+zw6925DobkFmdPhuq43yeoSlo5lw1J6DX2ED8Sr2mowNcKcKoz0aIkaWejwoHESy9WCcBK6iqgIZq2YQM2NTv6BbuLit4j9cYb1FE7XWHhrlLL2Tt6E626lPQrMaCzChGSemcU69RQHShgNj+Zf6y8jhB6pSkfiZYoKujdGBzHMHqKDgRstxquJfnRddIXONoXrcZEXpSpKYsnnsWChn7URFTwzy6qwKtFy5c9D0mesdUtQ2Nul7P9/GLpaZKnxnUpyWQOoZrITuG4zSO/mwnmODIYD1gsDVYF34cxhMzgixbTYiRlaW7TIqPqgFgovNxb+evu5AXrq5+Ao36h5vJL03w51kLbdw9lMDBNlk39krcxnptOJnuFtpgbs6kr7bnsdUxNcQNT1+9Rl6M4MxwsbF4JRmmUadY6sMt1sjz7BH1Y4rjwNiLjD3khh4fonR/1JtBCyVsmyXxoLSixyPSqFkF0oirmD2PssE06pzlCwP6U3WM6mclf6LNjXwWZEd7j5gGsSBbssIakFY9ZJ7aHgTTTX0SyJXoklRBTqOeBDL2aAC2lMlrX3bHzQPto/NAD7aNkpP1GLnVG2LApuVm8eoiS2xPQkyqMox6Ej6x0BP2PyZn2dJlKZEfqiUlc/1Sf78+7KGDYO/0Trymd5BaUppU/4lgSlUYqQ8pVRHI2KO90UKJLOkyS8VY33qj9zCqDDKwFgfskpVR/6FDHdpUnC+k7bkZUuXjrA0ogGMenl3NJV1U1UVTsajecwL97CvmwzdAX6/Vu1vJyqr/9DYjmsojVbfyC2ugaEoVDrY7qlRFsElXkmd0hSFV2SXyVlJum7xhYZRiTTIwiNNtDoNlOgIZG4eDsUukH8wYFaZ02Tyj7UAL5k/ae00HeqCK60uMGStJDaSKmCAvK6MsX7+9avQi6etH+LhNHr5A3371ovXaYExo/KegVEUg6cIkm168u0ach3JGf2mgEShVsQMfuL/ghacBozXBYH2EtBJ5IlkkirN3HjRJBXu3qvHjhlK/MjJ56eqGX45JqiJgkr2LiXX/g/ZyxvpgPazKjDVCqvdML5FnJNKy0EYESpKqgv6HebtLHhW9JNuPrrFefxUKgI4npLWnktXdrtdzqLzwXmJiqgSCWNZ9BeVgMG5PFWEkxI8nmKhA1hDAMCURM5ADasWh0kGinEEbuuu+4bz4Ui7TNhd5RrRh96AAcNu+qR7fnqqGnjeUYLPykA6eKfUMSgLt9+FL9A+OCAZXSA1pa552nM37MCIuvQydyHf98SQs5U3Oh0VpxT8MFDV16LjwP1s/NNIeFEDQBqOEBC0oCaWR1RF69WLqR7hCv9tT5i4L5FLxJEjjo/CfI1lmqYf+IYB+U3yk1qXw/nKRmrrDdbI//R/G6nFVlEZWL6VpKTP18y80ymoiW3XPwcHIhCnjInw1KB03yt6w0GtPvXNXvVTFj5ooxKCjRkPUpkKEZyD0DKEJJaJUslig51nc6UbPpIpOt0qqSoGHTmETUxhJZ7MwvMg+m27U83kHCgXRWSgtdIiAL32gfX0B8+9vs5DE37yUM4EMwwvP9mxaWNGr5w8OjKBUYcyWuIExDpS+b2jWzdUjRLRFT5urWqlYgQN2z9Y7I6FJHo6xBCWjdMkioFqRjVLPoPqiA/Mf7g6khoJLEaBno1CCw3lSKds2/a+xbuU4oTT2HUJYeTW2/svARMgimOpIQOmoH7fgWR4PRt6SdrKZ+Q9XmNrQESWYACZGFiXWroQD81Qh0P8to71BSdv6b4IkYXp0lcmw/GKchIHDY1TjMHabACZGFoEIm+5KxnJKNx9X5YMMjX4VDIIiMAFbnxxYmRRR4ZxwAuh5Mu1s1hBooUddijzqJHEiZEUg0jA8WLaopg1NlLZXn3FnaJLSpOJEyYpAnhCrgzWUthn8Ocfo0C1KENqp7/HnEL1j82hMtftTnOIUpzjFKU5RBD8BGq36HwRLDuwAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALKSURBVHgB7ZrtcdswDIahXgfwBmUnqDeos0E2iEfIBvYGyQZRJmgzgb2B3AmkDepOgAIV3UA0JYGKSPGHnztcmKP48ZIURIIuYEYQcUV/7sm+k63JDNnKZp/JTmQN2RvZsSiKM+QECTBkT2S/UQ8/+8JlIQeoI7sBATVZRXaw6T52sBR2FirPKD+Tbewyc8usbF7pEVMlnx0ronY68uzr/EgdpWcGDaTAI4LTG5gIlV176lMPyGSwfUFnHUHP4PyAmFADW+y+DwZmwoqRTuMeYuGM2hZmhup8lLMNMXBm4wCRwNZVx5sVp4ENRAJb9xxnwLD1/3GnvNuefFdUHuwT6FiL9C+Iz1tP271MEXKE+JxE2mgKaIXI6U2xY5VtGE0BrRBZcQMZ8ln5XAntyJzpDHGEDFEJsQegR8gY7dLKnpuQ3Bh9R+jLyt+Q+OeDLt9E+gtvW8acTNGXYbfovNcxkAcN2R0JanyZQ0IqUG4PEsIhpDtfxpAQtEl2vT9hWXg7/295k5AiqGTK3a6iL/WlM33P3NxvbtyE5EZ0ITbMYyAyUYTYM/6Oz970L3u92nqe9MHqqe7XinCD25IKA0OiGvc7VHiqkBen4wfshpKYp8A666RCsBs2YtYizw2JhkTuR4XM/Y7IvVlJu4n/0RC72XsV+RuYkZhe689Ifpr7wxmWVidaj9dXByag3tGlNVQ4WIgtd5BlyfZ4fVEadP+xlBDftRw64kxgnemF2LK++0G0s2UgEI0QzcGqIY/zFSZgO33xZKe+Y6qiHh5Mw+m+g5U20jgJ2/EGlgS76zx1FEX2w4h+VH3PDX1H5B3Fcr9MAHgQ6ROE4owE8wCJ4TadPhiYAra/ZpDsMMHZAt+PAZL9UJnR0Aq7UehOL8NTHGuLYeA6KPhKjmMLHwXbr/NS7DV9VAe7sF1SfEdy+VFZLHimG2idTan99vwFUqv7smGpxh4AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAGCAYAAAD37n+BAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACnSURBVHgBfY6tDsJAEITvR2B5BZBgqAbBiXoQFTwKKBRUInkHQjgJNW0CAlxVZXMS3GEQXNJlryHk0tCu2p2ZbzOU4PjBPKaEjknzpNFu5TG7GdOaEgKqPgvqbV7CbiWQyKVmHMR/CBQzIBK50fairuUHiwFWizHU/kqamcI7yvD3iLtAnp3v3f7wgdCkFAqYnQ7h1c3waoE8u6Sd3uiJ0C3ar7dV/wOQ2DaWD16zyAAAAABJRU5ErkJggg==\"","import { translationEN } from \"./locales/en\";\nimport { translationHE } from \"./locales/he\";\nimport { translationAR } from \"./locales/ar\";\nimport { translationES } from \"./locales/es\";\n\nconst translations = {\n languages: [\n { lang: \"he\", phoneCountries: [\"il\"] },\n {\n lang: \"en\",\n phoneCountries: [\n \"au\",\n \"az\",\n \"be\",\n \"hr\",\n \"fr\",\n \"de\",\n \"gr\",\n \"ie\",\n \"it\",\n \"nz\",\n \"ph\",\n \"sk\",\n \"si\",\n \"th\",\n \"gb\",\n \"vn\",\n ],\n },\n { lang: \"ar\", phoneCountries: [\"ar\"] },\n {\n lang: \"es\",\n phoneCountries: [\n \"cr\",\n \"br\",\n \"cl\",\n \"co\",\n \"do\",\n \"ec\",\n \"gt\",\n \"mx\",\n \"pe\",\n \"pt\",\n \"es\",\n \"uy\",\n ],\n },\n ],\n resources: {\n he: {\n translations: translationHE,\n },\n en: {\n translations: translationEN,\n },\n ar: {\n translations: translationAR,\n },\n es: {\n translations: translationES,\n },\n },\n // The first in the list - default for the phone input\n phoneCountries: [\n { label: \"il\", value: \"+972\" },\n { label: \"cr\", value: \"+506\" },\n { label: \"ar\", value: \"+54\" },\n { label: \"au\", value: \"+61\" },\n { label: \"az\", value: \"+994\" },\n { label: \"be\", value: \"+32\" },\n { label: \"br\", value: \"+55\" },\n { label: \"cl\", value: \"+56\" },\n { label: \"co\", value: \"+57\" },\n { label: \"hr\", value: \"+385\" },\n { label: \"do\", value: \"+1\" },\n { label: \"ec\", value: \"+593\" },\n { label: \"fr\", value: \"+33\" },\n { label: \"de\", value: \"+49\" },\n { label: \"gr\", value: \"+30\" },\n { label: \"gt\", value: \"+502\" },\n { label: \"ie\", value: \"+353\" },\n { label: \"it\", value: \"+39\" },\n { label: \"mx\", value: \"+52\" },\n { label: \"nz\", value: \"+64\" },\n { label: \"pe\", value: \"+51\" },\n { label: \"ph\", value: \"+63\" },\n { label: \"pt\", value: \"+351\" },\n { label: \"sk\", value: \"+421\" },\n { label: \"si\", value: \"+386\" },\n { label: \"es\", value: \"+34\" },\n { label: \"th\", value: \"+66\" },\n { label: \"gb\", value: \"+44\" },\n { label: \"uy\", value: \"+598\" },\n { label: \"vn\", value: \"+84\" },\n ],\n findCountryLanguage: (country) => {\n let countryLanguage = translations.languages[0].lang;\n\n for (let i = 0; i < translations.languages.length; i++) {\n if (translations.languages[i].phoneCountries.includes(country)) {\n countryLanguage = translations.languages[i].lang;\n\n break;\n }\n }\n\n return countryLanguage;\n },\n findCountryShortName: (countryCode) => {\n if (!countryCode.includes(\"+\")) countryCode = \"+\" + countryCode;\n\n const shortName = translations.phoneCountries.find(\n item => item.value === countryCode,\n ).label;\n\n return shortName;\n }\n};\n\nexport default translations;\n","export const translationHE = {\n 1: \"שגיאת מערכת\",\n 401: \"בקשה לא מורשית, המשתמש לא קיים\",\n 403: \"אסור\",\n 429: \"בקשה לא מורשית, שיעור בקשת המשתמש חרג מהמגבלה\",\n 500: \"שגיאת שרת אינטרנט\",\n 1100: \"יש להזין פרטי פניה\",\n 4033: \"הטווח אינו מספיק, הטווח הדרוש לא נמצא\",\n 5000: \"נתונים לא חוקיים\",\n 5010: \"אישור סיסמה לא חוקי\",\n 5020: \"קוד שפה לא חוקי\",\n 5030: \"טווח תאריכים שגוי\",\n 5040: \"כמות מטרים לא חוקית\",\n 5050: 'כתובת דוא\"ל לא חוקית',\n 5060: \"הזדהות נכשלה, יש לוודא שכל הפרטים נכונים.\",\n 5061: \"שדה אימות לא חוקי\",\n 5070: \"טוקן איפוס לא חוקי\",\n 5080: \"מפתח לא חוקי\",\n 5090: \"לא ניתן לקבל אישורים מ- Redis\",\n 5450: \"כשלון ברישום משתמש\",\n 5451: \"כשלון בזיהוי משתמש\",\n 5452: \"כשלון בקבלת קובץ לוג\",\n 5600: \"מזהה יישום לא חוקי\",\n 5601: \"תפקיד דורש מזהה אפליקציה אחר\",\n 10000: \"שגיאת התחברות\",\n 10002: \"המשתמש לא נמצא. סיבה אפשרית: קוד שגוי שהוזן או קוד פג תוקף\",\n 10010: \"שגיאה בניתוח מספר הטלפון\",\n 10020: \"מספר טלפון לא חוקי\",\n 10030: \"מספר הטלפון הסלולרי לא נמצא\",\n 10040: \"הצרכן כבר רשום במערכת\",\n 10050: \"עיר הצרכן אינה קיימת\",\n 10060: \"לא נמצאו מדים עבור הצרכן\",\n 10070: \"פרטי צרכן לא נמצאו\",\n 10080: 'כתובת הדוא\"ל כבר בשימוש',\n 10090: \"יצירת משתמש נכשלה\",\n 10100: \"קוד הרשמה שגוי\",\n 10110: \"סוג לקוח לא נתמך\",\n 10120: \"הסיסמה אינה עומדת בתנאים המינימליים\",\n 10130: \"המשתמש אינו רשום\",\n 10140: \"סוג מספר הטלפון אינו נתמך\",\n 10150: 'המערכת לא מצאה משתמש בעל כתובת דוא\"ל הזאת',\n 10160: \"אין נתונים זמינים\",\n 10170: \"לא ניתן לאחזר את מספר החשבון\",\n 10180: \"פג תוקף הסיסמה\",\n 10190: \"פג תוקף טוקן איפוס סיסמה\",\n 10200: \"לא ניתן לאפס סיסמה\",\n 10210: \"הסיסמה זהה לאחת מהסיסמאות הקודמות\",\n 10220: \"משתמש אינו פעיל\",\n 10230: \"קוד הרשמה לא אומת\",\n 10240: \"החשבון חסום\",\n 10250: \"לא ניתן לשנות את מצב אפשור המשתמש\",\n 10260: \"סף אחוז קבלה לא חוקי\",\n 10270: \"הערה ללוג\",\n 10280: \"מספר חשבון אינו קיים\",\n 10290: \"נתונים לא חוקיים\",\n 10300: \"נתונים כבר קיימים\",\n 10310: \"סף אחוז הקריאה לא חוקי\",\n 10327: \"מספר הטלפון משוייך למספר חשבונות\",\n 10404: \"נתונים לא נמצאו\",\n 10520: \"פעולה לא חוקית\",\n 11000: \" יש לבחור נושא פניה\",\n 110000: \"טסט ריק\",\n 16000: \"נושא בקשה ריק\",\n 16001: \"טקסט בקשה ריק\",\n 17000: \"אזור זמן לא מוגדר לעיר\",\n 17001: \"מזהה אזור זמן לא חוקי\",\n 17002: \"התקבל זמן-תאריך לא חוקי\",\n 17003: \"מרווח ביקור לא חוקי\",\n HOME: \"בית\",\n SETTINGS: \"הגדרות\",\n ALERTS: \"הודעות\",\n NoInternetConnection: \"אין חיבור לאינטרנט\",\n READYOURMETER: \"אודות Read Your Meter Pro \",\n aboutText:\n \"ב Read Your Meter Pro אנו מתמקדים בעתיד ניהול המים. כל מה שאנו עושים זה פתרונות רשת בטכנולוגיה מנוסה ומהימנה עבור תקשורת מרחוק והתרעות מידע על צריכה וביצועים. בין אם אתה משרת אוכלוסיות כפריות קטנות או אזורי מטרופולין גדולים, אספקת מים בלבד או אספקת כלים משולבים, Read Your Meter Pro הוא השותף שלך לשינוי תוצאות המשחק בפיננסים, שירות לקוחות ותפעול השירות. נוכחות המכירות העצומה ורשת השותפים של Read Your Meter Pro מבטיחים שירות מותאם אישית וקשוב על מנת להבטיח את הצרכים הספציפיים שלך ולהגדיל את ציפיותיך. צור עימנו קשר היום על מנת לקבוע את פתרון המים המתאים לך\",\n AdminLogIn: \"התחברות\",\n USERNAME: \"שם משתמש\",\n PASSWORD: \"סיסמה\",\n ForgotPassword: \"שכחתי סיסמה\",\n Back: \"חזור\",\n Report: \"דווח\",\n alertInfoText:\n \"מערכת הקריאה האוטומטית של חברת המים שלך זיהתה התרעות חשד לדליפה. התרעה זו מזוהה כאשר יש שימוש מתמיד במים למשך 24 שעות. הסיבה לכך צריכת מים גבוהה יכולה להיות שימוש אמיתי, דליפה בקו או בעיה באחד ממכשירי המים שלך (צינור דולף).\",\n callUs: \" לכל בעיה, צרו איתנו קשר\",\n WaterMeter: \"מד מים\",\n automaticReadingSystem:\n \"מערכת הקריאה האוטומטית של חברת המים שלך זיהתה התרעות חשד לדליפה. התרעה זו מזוהה כאשר יש שימוש מתמיד במים למשך 24 שעות. הסיבה לכך צריכת מים גבוהה יכולה להיות שימוש אמיתי, דליפה בקו או בעיה באחד ממכשירי המים שלך (צינור דולף).\",\n errorOccurred: \"אירעה שגיאה \",\n websiteTerms: \" תנאי השימוש באתר Read Your Meter Pro \",\n acceptance: \" תנאי שימוש \",\n termsText:\n \"קניין רוחני\\nכל התכנים המופיעים באתר מהווים קניין רוחני, לרבות כזה המוגן בפטנטים ו/או בסימני מסחר ו/או כזה המהווה סוד מסחרי ו/או זכות יוצרים ו/או כל זכות אחרת. האתר מכיל קניין רוחני אשר הינו מקניינה הבלעדי של החברה ו/או קניין רוחני של צד שלישי על פי הרשאה שנתן לחברה. \\n אין לעשות כל שימוש מסחרי במידע ובנתונים המתפרסמים באתר, ובכלל זה התמונות, העיצובים, או כל נתון ומידע אחר, אלא בכפוף לקבלת הסכמתה של החברה מראש ובכתב. \\nאין לעשות שימוש בשמות ו/או בסימנים המסחריים המוצגים באתר, מבלי לקבל את הסכמת החברה מראש ובכתב. \\nאין להציג תכנים מהאתר בכל דרך שהיא, ובכלל זה באמצעות כל תוכנה, מכשיר, או אמצעי אחר, בין אם אותם אמצעים משנים את עיצוב האתר או משנים תכנים כלשהם מהאתר, ובפרט תכנים מסחריים, ובין אם לאו. \\nאין לעשות כל שימוש במידע המופיע באתר במסגרת אתר אינטרנט אחר ואין ליטול מתוך האתר נתונים לצורך הצגה באתר אחר, ללא קבלת הסכמת החברה מראש ובכתב. \\n אין ליצור קישור לאתר, מכל אתר אינטרנט שהוא או להציג את האתר באתר אחר, אלא בכפוף להסכמתה של החברה מראש ובכתב ליצירת הקישור ולאופן יצירתו.כל תשדורת או מידע אשר יעביר המשתמש הרשום לאתר, לא יהיו מוגנים על פי דיני זכויות יוצרים, לא תהיינה למשתמש הרשום כל זכויות קנייניות במידע ,והחברה תהיה רשאית לעשות בחומר כל שימוש כפי שיראה לה לנכון. כמו כן,החברה לא תהיה אחראית לכל שימוש שיעשה על ידי צד שלישי במידע, באופן מורשה או בלתי מורשה. \\n\\n אחריות החברה\\nכל התכנים באתר מסופקים כמות שהם (AS IS). החברה לא מביעה עמדה לגבי המידע המוצג באתר ולא תשא באחריות,ישירה ו/או עקיפה, לטעויות, לאי דיוקים, להשמטות, לפגמים וכיוצא בזה בגין השימוש באתר וכן לא תהיה אחראית לנזקי תכנה, חומרה או כל נזק אחר, ישיר ו/או עקיף, כתוצאה מהשימוש באתר ו/או תוך כדי השימוש באתר ו/או כתוצאה מהמידע המוצג בו,לרבות לנזקים העלולים להיגרם על ידי וירוסים. \\n על אף העדכון השוטף של האתר,יתכן כי המידע המתפרסם באתר זה יהיה חלקי. לכן, מומלץ למשתמש הרשום, להשיג מידע עצמאית, במקביל לשימוש במידע הנלקח מאתר זה. \\n השימוש באתר ובתכניו הינו באחריות המשתמש הבלעדית והמלאה. לא תישמע כל טענה מכל סוג שהוא כלפי החברה ו/או מי מטעמה בגין אובדן, הפסד או נזק הנובעים מהסתמכות או שימוש במידע הניתן באתר. \\n החברה לא תישא באחריות כלשהי להפרעות, תקלות, וירוסים או כל גורם אחר אשר עלול להפריע או לפגום בשירותי האתר ו/או לגרום לנזקים כלשהם. כן החברה לא תישא באחריות כלשהי לנזקים שייגרמו למערכת המחשב ו/או לתשתיות של המשתמש ו/או לאובדן מידע או כל נזק אחר הנובע משימוש באתר, לרבות במקרה ויעלה בידי צד שלישי לחדור למידע באתר או במערכות החברה או להשתמש בו שימוש בלתי מורשה. \\n החברה מנהלת ומפעילה את האתר באופן שוטף וללא הפרעות ככל הניתן. יחד עם זאת, יתכנו הפרעות ו/או הפסקות ו/או תקלות בפעילות האתר. המשתמש מודע כי ייתכנו ליקויים, עיכובים והפרעות באיכות השירות ובזמינותו וכי החברה לא תהיה אחראית לכל הפרעה ו/או תקלה ו/או לכל נזק שייגרם בשל כך– ללא קשר לסיבת התקלה. \\n האתר מכיל קישורים לאתרי אינטרנט אחרים שאינם מופעלים על ידי החברה, אלא על ידי גורמים אחרים. מובהר כי אין לחברה שליטה באתרים המקושרים ואין היא נושאת באחריות כלשהי לתכנים ולשירותים שנכללים בהם או לזמינותם. אין בהכללת הקישורים לאתרים אלה באתר, משום אישור למידע ולתכנים המופיעים בהם. המשתמש מוותר בזאת על כל טענה מכל מין וסוג שהוא כלפי החברה ו/או מי מטעמה בקשר עם האתרים המקושרים. \\n החברה רשאית להסיר מהאתר קישורים שנכללו בו בעבר או להימנע מהוספת קישורים חדשים, וכן רשאית היא להוסיף קישורים בכל עת, הכל פי שיקול דעתה הבלעדי. \",\n setMonthlyTitle: \"הגבלת סף צריכה יומית בזמן היעדרות\",\n VacationDates: \"תאריכי היעדרות\",\n ChooseDate: \"בחר תאריך\",\n EmailAlert: \"התרעה בדואר אלקטרוני\",\n SMSAlert: \"התרעה ב SMS\",\n waterDesc: \"כל מדי המים\",\n BillingCycle: \"צריכת המים לחודש\",\n CurrentBillingCycle: \"צריכת חודש נוכחי\",\n BillingCycleLimit: \" סף תעריף נמוך לחודש:\",\n Update: \"עדכון\",\n SetBillingCycleLimit: \" סף תעריף נמוך:\",\n getInformed: \"קבלת התרעה על צריכת מים בזמן היעדרות מהבית\",\n CancelVacation: \"ביטול התרעה\",\n waterConsumption: \"צריכת מים\",\n compareToPreviousYear: \"השוואה לשנה קודמת\",\n tab2Heading: \"השוואה לעומת משקי בית דומים\",\n WaterUsageForBillingCycle: \" הצריכה שלי לחודש\",\n EndOfBillingCycleForecast: \"תחזית סוף חודש\",\n CurrentMeterReading: \"קריאת מונה נוכחית\",\n getInformedMob: \"קבלת מידע על צריכת מים בזמן היעדרות מהבית\",\n OnlineYourWorldWater: \"גישה מרחוק לעולם המים שלך\",\n MyWaterAdvisor: \"Read Your Meter Pro\",\n Empowerment: \"מידע\",\n KnowledgeOfHowUseWaterEmpower:\n \"אפליקציה חדשנית וידידותית, המאפשרת לכל אחד לקבל מידע, בזמן אמת, על צריכת המים הפרטית שלו\",\n Safety: \"צריכה בזמן היעדרות\",\n MonitorUnexpected:\n \"רוצה מידע על צריכת מים בזמן היעדרות מהבית? עדכן אותנו על חופשה מתוכננת!\",\n mobileApps: \" זמין גם עבור IOS ואנדרואיד\",\n AppsAvailableForBothApple:\n \"האפליקציה זמינה באנדרואיד ובאייפון דרך חנות האפליקציות בחינם\",\n SetBudget: \"במידה ויש תקלה בהתחברות לאתר יש לפנות למרכז השירות 1700-50-65-65\",\n InvalidMonthlyLimitSet: \" הוגדרה מגבלה חודשית לא חוקית\",\n choosePassword: \"סיסמה חדשה\",\n typePasswordAgain: \"אימות סיסמה\",\n ConfirmPassword: \"אימות סיסמה\",\n passwordDontMatch: \"הסיסמה אינה תואמת\",\n emailsDontMatch: \"המייל אינו תואם\",\n passwordResetSuccessfully: \"הסיסמה אופסה בהצלחה.\",\n passwordError: \"יש להזין 8 תווים ומעלה כולל ספרות ואותיות\",\n changePassword: \"החלף סיסמה\",\n enterCodeAgain: \"הזן את הקוד שנשלח אליך באימייל\",\n email: \"אימייל\",\n emailAccessibility: \"אימייל\",\n mail: \"מייל\",\n needHelp: \"זקוק לעזרה? התקשר למרכז השירות 1700-50-65-65\",\n SearchUtilityByName: \"חיפוש ספק מים לפי שם\",\n JoinMyWaterAdvisor: \"הרשמה\",\n signUpWithPhone: \"הרשמה באמצעות מספר טלפון סלולרי\",\n PhoneNumberRegistered: \"מספר טלפון המעודכן אצל ספק המים שלך\",\n signUpWithAccountNumber: \"הרשמה באמצעות פרטי חשבון\",\n billAccountNumber: \" מספר משלם כפי שהוא מופיע בחשבון\",\n callYourUtilityOffice: \"זקוק לעזרה? התקשר למרכז השירות 1700-50-65-65\",\n foundMonthlyWaterBill: \"ניתן למצוא את שם ספק המים בחשבון המים שלך\",\n billAccountNumberUpperCase: \" מספר המשלם כפי שהוא מופיע בחשבון המים\",\n billFullName: \"שמך המלא כפי שהוא מופיע בחשבון המים שלך\",\n billPropertyName: \"מספר הנכס כפי שהוא מופיע בחשבון המים\",\n propertyNumber: \"מספר נכס\",\n billMunicipality: \"שם הרשות / תאגיד המים\",\n chooseMunicipality: \"הקלד או בחר רשות / תאגיד\",\n municipality: \"רשות או תאגיד\",\n smsCode: \" הזן את הקוד שנשלח באמצעות SMS למספר\",\n validEmail: \"הזן מייל מעודכן\",\n chooseNewPassword: \"בחר סיסמה חדשה\",\n mustContain: \"יש להזין 8 תווים ומעלה, כולל ספרות ואותיות\",\n mustContain8Char: \"\",\n passwordCheck: \"יש להזין 8 תווים ומעלה ספרות ואותיות\",\n iAgree: \" בהרשמה אתה מסכים ל\",\n Privacy: \" מדיניות פרטיות\",\n privacyText:\n \"האתר מציע שירותים הדורשים רישום אקטיבי של המשתמש לאתר. הרישום כולל מתן פרטים אישיים כגון: תיבת דואר אלקטרוני, מספר צרכן, מספר נכס ועוד. כמו כן ניתן, אולם אין זאת חובה לעדכן נתונים נוספים כגון: שטח גינה, מספר נפשות ועוד.\\nיודגש כי רישום לשירותים באתר, ייעשה על פי החלטתו ושיקול דעתו הבלעדי של המשתמש. \\nמשתמש שיבחר להירשם לאתר, נותן הסכמתו לחברה לקבלת הודעות מטעם החברה אשר יעודכנו בפרופיל המשתמש באתר. \\nהחברה תהיה רשאית לעשות שימוש בפרטי המשתמש, בין בעצמה ובין על ידי מי מטעמה, לצרכים מסחריים, סטטיסטיים ושיווקיים שונים וכן לצורך שיפור השירותים הניתנים באתר או לצורך יצירת קשר עם המשתמש. \\n מבלי לגרוע מזכויות החברה כאמור, החברה מתחייבת לעשות כל שביכולתה להגנת המידע הפרטי שנמסר לה על ידי המשתמש. החברה לא תמסור את פרטי המשתמש לכל צד שלישי, פרט לגורמים האחראים על תפעול האתר, לרבות תאגיד המים העירוני, וכן לכל רשות אכיפה ו/או על פי החלטת או הוראת בית משפט\",\n ofUse: \"בשימוש\",\n repeatEmail: \"אימות כתובת מייל\",\n PhoneNumber: \"מספר הטלפון הסלולרי\",\n Account: \"מספר משלם\",\n wasNotFound: \"לא נמצא\",\n pleaseTry: \"יש לבדוק את\",\n orRegisteringWith: \"או הירשם עם\",\n enterPrimaryCellPhoneProvider:\n \"יש להזין את מספר הטלפון הסלולרי המעודכן אצל ספק המים שלך\",\n phonePrefix: \"+972 IL\",\n SetRealTimeAlerts: \" הגדר התרעות בזמן אמת בהתאם להעדפותיך\",\n Alerts: \"התרעות\",\n SuspectedLeak: \" חשד לדליפה\",\n BillingCycleConsumptionLimit: \"צריכה מעל המקסימום\",\n DailyUsageDuringVacation: \"שימוש יומי בזמן היעדרות\",\n MyWaterMeters: \"מדי המים שלי\",\n AccountNumber: \"מספר משלם\",\n Edit: \"ערוך\",\n a: \"א\",\n MonthlyConsumptionLimit: \"סף צריכה חודשית\",\n DailyUsageVacation: \"צריכה יומית במהלך היעדרות\",\n curPassword: \"סיסמה נוכחית\",\n EnterPhoneReceiveSMS: \"יש להזין מספר טלפון סלולרי כדי לקבל התרעות\",\n Home: \"דף הבית\",\n AboutMasterMeter: \"אודות Master Meter\",\n waterMeter: \"מד מים\",\n Clarity: \"בהירות\",\n BetterUnderstand: \" להבין טוב יותר כמה מים משמשים לגינון או פעילויות אחרות\",\n CompareOnesUsage:\n \" השווה את השימוש ביחס למשקי בית דומים לצורך תוכנית שימור יעילה יותר\",\n LogIn: \"התחבר\",\n REGISTERED_EMAIL: \"שם משתמש (כתובת מייל)\",\n WATER_ADVISOR_PASSWORD: \"סיסמה \",\n fullName: \"שם מלא\",\n code: \"קוד\",\n TermsofUse: \"תנאי השימוש\",\n TermsOfUse: \"תנאי השימוש\",\n TermsOfUseTitle: \"תנאי השימוש\",\n sendInstructions: \"יש להזין את כתובת המייל שלך לקבלת הנחיות לאיפוס הסיסמה\",\n cancel: \"ביטול\",\n name: \"שם\",\n MonitorRealTimeConsumption:\n \"עקוב אחר צריכת המים שלך עם נתונים בזמן אמת, התרעות וניתוח נתונים\",\n Context: \"הקשר\",\n CustomerService: \"שירות לקוחות\",\n Flexibility: \"גמישות\",\n ReceiveAlerts: \"קבל התרעות\",\n DailyUsageLimit: \"צריכה יומית\",\n from: \"החל מתאריך\",\n to: \"עד תאריך\",\n RealTimeAlerts: \"התרעות בזמן אמת\",\n ApplicationPrivacyStatement: \"הצהרת פרטיות של אפליקציות\",\n Contact: \"תמיכה טכנית\",\n FooterContact: \"תמיכה טכנית\",\n AllRightsReserve: \" ©Read Your Meter Pro 2023 זכויות שמורות ל \",\n AboutUs: \"אודות\",\n UserGuide: \"מדריך למשתמש\",\n FAQ: \"שאלות ותשובות\",\n ChooseWaterMeter: \"בחר מד מים\",\n AllWaterMeters: \"כל מדי המים\",\n ok: \"תקין\",\n Minimum: \"מינימום\",\n Total: 'סה\"כ',\n Average: \"ממוצע\",\n Welcome: \"ברוך הבא\",\n Data: \"תאריך\",\n Consumption: \"צריכה\",\n OK: \"תקין\",\n Maximum: \"מקסימום\",\n Monthly: \"חודשי\",\n Daily: \"יומי\",\n Hourly: \"שעתי\",\n Status: \"התרעה\",\n and: \"ו\",\n NewMessage: \"צור קשר\",\n Subject: \"נושא\",\n Message: \"הודעה\",\n HasSent: \"הודעה נשלחה בהצלחה\",\n Send: \"שלח\",\n chgPassword: \"שנה סיסמה\",\n ConsumptionBelowLimit: \"צריכה בתעריף נמוך\",\n ConsumptionOverLimit: \"צריכה בתעריף גבוה\",\n btnDefineDays: \"הגדר תאריכים\",\n SystemMessages: \"התרעות\",\n Requests: \"פניות\",\n Return: \"חזור\",\n AboveMaximumConsumption:\n \"התרעות צריכה מעל המקסימום מתקבלת כאשר מונה המים מראה על צריכה יומית חריגה.\\nהגורמים לצריכה חריגה יכולים להיות שניים: צריכה אמיתית גבוהה, או תקלה באחד מהאביזרים במערכת (מצוף בניאגרה שלא סוגר, ברז השקיה שנשאר פתוח וכו').\\nנבקשך לבדוק את הנושא, ובמידה וקיימת תקלה לטפל בה\",\n AboveAverageConsumption:\n \"התרעות צריכה מעל הממוצע מתקבלת כאשר מונה המים מראה על צריכה יומית גבוהה בצורה משמעותית ביחס לתקופה המקבילה אשתקד. הגורמים לצריכה חריגה יכולים להיות שניים:\\nצריכה אמיתית גבוהה, או תקלה באחד מהאביזרים במערכת (מצוף בניאגרה שלא סוגר, ברז השקיה שנשאר פתוח וכו').\\nנבקשך לבדוק את הנושא, ובמידה וקיימת תקלה לטפל בה.\",\n ConsumptionAboveAverageSuspectedLeak:\n \"התרעות צריכה מעל הממוצע – חשד לדליפה. מתקבלת כאשר מונה המים מראה על צריכה יומית גבוהה בצורה משמעותית מאוד ביחס לתקופה המקבילה אשתקד.\\nהגורמים לצריכה חריגה יכולים להיות שניים:\\nצריכה אמיתית גבוהה, או תקלה באחד מהאביזרים במערכת (מצוף בניאגרה שלא סוגר, ברז השקיה שנשאר פתוח וכו').\\nנבקשך לבדוק את הנושא, ובמידה וקיימת תקלה לטפל בה.\",\n Leak: \"התרעות חשד לדליפה מתקבלת כאשר מד המים נותן אינדיקציה לכך שזרימת המים מתקיימת במשך זמן ארוך מהסביר ברציפות.\\nהגורמים לצריכה חריגה יכולים להיות שניים:\\nצריכה אמיתית ממושכת, דליפה בצנרת או תקלה באחד מהאביזרים במערכת (מצוף בניאגרה שלא סוגר, ברז השקיה שנשאר פתוח וכו').\\nנבקשך לבדוק את הנושא, ובמידה וקיימת תקלה לטפל בה.\",\n AnnualRationExceeded: \"\",\n MonthlyRationExceeded: \"\",\n ConsumptionDuringVacation:\n \"התרעות צריכה בזמן היעדרות מתקבלת כאשר צריכת המים שנמדדת במד המים עולה על הסף שהגדרת לתקופת ההיעדרות.\",\n LeakInMainMeter:\n \"התרעות חשד לדליפה מתקבלת כאשר מד המים נותן אינדיקציה לכך שזרימת המים מתקיימת במשך זמן ארוך מהסביר ברציפות.\\nהגורמים לצריכה חריגה יכולים להיות שניים:\\nצריכה אמיתית ממושכת, דליפה בצנרת או תקלה באחת מהמערכות הצורכות מים בבניין (מערכת השקיה שנשארה פתוחה וכו').\\nנבקשך לבדוק את הנושא, ובמידה וקיימת תקלה לטפל בה.\",\n AccessibilityStatement: \"הצהרת נגישות\",\n AccessibilityStatementTitle: \"הצהרת נגישות\",\n AlertDate: \"התרעה התקבלה בתאריך\",\n replyInquiry: \"פניה מתאריך\",\n inquiryFrom: \"מענה לפניה מ\",\n seeDetails: \"ראה פרטים\",\n ContactUs: \"פרטי התקשרות:\",\n Tel: \"טל: \",\n HappyToAssist: \"נשמח לעמוד לשירותכם ולסייע בכל עניין:\",\n InTouch: \"שירות לקוחות ארד\",\n isRequired: \"שדה חובה\",\n notValidEmail: \"כתובת המייל אינה תקינה\",\n valueExceeded: \"\",\n symbols: \"\",\n PasswordsNotEqual: \"הסיסמאות אינם תואמות\",\n ReplyOn: \"תשובה לפניה\",\n JoinButton: \"הרשמה\",\n Login: \"התחברות\",\n SignUp: \"הרשמה\",\n resetPassword: \"איפוס סיסמה\",\n estimateConsumption: \"אומדן\",\n realConsumption: \"צריכה\",\n ResendCode: \"עדין מחכה לקוד? שלח שוב\",\n invalidDates: \"לא הוגדר טווח תאריכי היעדרות\",\n CouldNotConfirmAlert: \"לא ניתן לאשר את ההתרעה\",\n PasswordRecoveryFailed: \"אירעה בעיה בעת איפוס הסיסמה\",\n PasswordChangedSuccessfully: \"איפוס הסיסמה בוצע בהצלחה\",\n selectMeterForDates: \"אנא בחר מונה להגדרת התרעת צריכה זמן העדרות\",\n TermsOfUseText:\n \"1. כללי\\n\" +\n '1.1 ברוכים הבאים לאתר האינטרנט של חברת ארד טכנולוגיות מדידה בע\"מ (להלן:\"החברה\").\\n' +\n '1.2 החברה מפעילה אתר אינטרנט זה (\"האתר\") בכפוף להסכמתך להגבלות ולתנאים כפי שיפורטו להלן, וכן לפי הוראות כל דין. על ידי כניסתך לאתר ו/או ביצוע פעולת הרישום כמשתמש לאתר, הנך נחשב כמי שקבל על עצמו את כל ההגבלות והתנאים, ללא כל הסתייגות ורק בכפוף לכך הנך רשאי להשתמש באתר.\\n' +\n '1.3 אנא קראו בעיון עמוד זה בדבר \"תנאי השימוש\" בטרם תעשו שימוש כלשהו באתר. תנאי השימוש המפורטים כאן מסדירים את היחסים בין המשתמש באתר לבין החברה. השימוש באתר זה ייחשב כהסכמה מצדך לכל האמור בו. אם אינך מסכים לתנאי השימוש, הנך מתבקש להפסיק להשתמש באתר באופן מיידי.\\n' +\n \"\\n\" +\n \"2. האתר\\n\" +\n \"2.1 אתר זה נועד לאפשר למשתמש הרשום קבלת מידע על צריכת המים הפרטית וכן מידע הקשור לאספקת המים על ידי תאגיד המים העירוני. המשתמש הרשום רשאי להשתמש באתר ובמידע הכלול בו בהתאם לתנאים המפורטים בעמוד זה.\\n\" +\n \"2.2 המידע באתר נועד לשימוש האישי והפרטי של המשתמש הרשום ואינו מיועד לשימוש מסחרי. אין להכניס שינויים, להעתיק, להפיץ, להציג, לשכפל, לפרסם, או למכור פריט מפריטי המידע, התכנים, התמונות, או הפרסומים שמקורם באתר, אלא באישור מפורש מראש מטעם החברה.\\n\" +\n \"2.3 החברה שומרת על זכותה להתאים ו/או לעדכן ו/או לשפר ו/או לשנות ו/או להסיר את תכני האתר, כולם או חלקם, ללא כל הודעה מוקדמת. החברה שומרת על זכותה להגביל תכנים מסוימים ו/או את הגישה לשירותי האתר, כולם או חלקם ו/או לסיים את פעילותו.\\n\" +\n \"2.4 המידע הכלול באתר נכון למועד פרסומו.\\n\" +\n \"\\n\" +\n \"3. קניין רוחני\\n\" +\n \"3.1 כל התכנים המופיעים באתר מהווים קניין רוחני, לרבות כזה המוגן בפטנטים ו/או בסימני מסחר ו/או כזה המהווה סוד מסחרי ו/או זכות יוצרים ו/או כל זכות אחרת. האתר מכיל קניין רוחני אשר הינו מקניינה הבלעדי של החברה ו/או קניין רוחני של צד שלישי על פי הרשאה שנתן לחברה.\\n\" +\n \"3.2 אין לעשות כל שימוש מסחרי במידע ובנתונים המתפרסמים באתר, ובכלל זה התמונות, העיצובים, או כל נתון ומידע אחר, אלא בכפוף לקבלת הסכמתה של החברה מראש ובכתב.\\n\" +\n \"3.3 אין לעשות שימוש בשמות ו/או בסימנים המסחריים המוצגים באתר, מבלי לקבל את הסכמת החברה מראש ובכתב.\\n\" +\n \"3.4 אין להציג תכנים מהאתר בכל דרך שהיא, ובכלל זה באמצעות כל תוכנה, מכשיר, או אמצעי אחר, בין אם אותם אמצעים משנים את עיצוב האתר או משנים תכנים כלשהם מהאתר, ובפרט תכנים מסחריים, ובין אם לאו.\\n\" +\n \"3.5 אין לעשות כל שימוש במידע המופיע באתר במסגרת אתר אינטרנט אחר ואין ליטול מתוך האתר נתונים לצורך הצגה באתר אחר, ללא קבלת הסכמת החברה מראש ובכתב.\\n\" +\n \"3.6 אין ליצור קישור לאתר, מכל אתר אינטרנט שהוא או להציג את האתר באתר אחר, אלא בכפוף להסכמתה של החברה מראש ובכתב ליצירת הקישור ולאופן יצירתו.\\n\" +\n \"3.7 כל תשדורת או מידע אשר יעביר המשתמש הרשום לאתר, לא יהיו מוגנים על פי דיני זכויות יוצרים, לא תהיינה למשתמש הרשום כל זכויות קנייניות במידע ,והחברה תהיה רשאית לעשות בחומר כל שימוש כפי שיראה לה לנכון. כמו כן,החברה לא תהיה אחראית לכל שימוש שיעשה על ידי צד שלישי במידע, באופן מורשה או בלתי מורשה.\\n\" +\n \"\\n\" +\n \"4. אחריות החברה\\n\" +\n '4.1 כל התכנים באתר מסופקים \"כמות שהם\" (\"AS IS\"). החברה לא מביעה עמדה לגבי המידע המוצג באתר ולא תשא באחריות,ישירה ו/או עקיפה, לטעויות, לאי דיוקים, להשמטות, לפגמים וכיוצ\"ב בגין השימוש באתר וכן לא תהיה אחראית לנזקי תכנה, חומרה או כל נזק אחר, ישיר ו/או עקיף, כתוצאה מהשימוש באתר ו/או תוך כדי השימוש באתר ו/או כתוצאה מהמידע המוצג בו,לרבות לנזקים העלולים להיגרם על ידי וירוסים.\\n' +\n \"4.2 על אף העדכון השוטף של האתר,יתכן כי המידע המתפרסם באתר זה יהיה חלקי. לכן, מומלץ למשתמש הרשום, להשיג מידע עצמאית, במקביל לשימוש במידע הנלקח מאתר זה.\\n\" +\n \"4.3 השימוש באתר ובתכניו הינו באחריות המשתמש הבלעדית והמלאה. לא תישמע כל טענה מכל סוג שהוא כלפי החברה ו/או מי מטעמה בגין אובדן, הפסד או נזק הנובעים מהסתמכות או שימוש במידע הניתן באתר.\\n\" +\n \"4.4 החברה לא תישא באחריות כלשהי להפרעות, תקלות, וירוסים או כל גורם אחר אשר עלול להפריע או לפגום בשירותי האתר ו/או לגרום לנזקים כלשהם. כן החברה לא תישא באחריות כלשהי לנזקים שייגרמו למערכת המחשב ו/או לתשתיות של המשתמש ו/או לאובדן מידע או כל נזק אחר הנובע משימוש באתר, לרבות במקרה ויעלה בידי צד שלישי לחדור למידע באתר או במערכות החברה או להשתמש בו שימוש בלתי מורשה.\\n\" +\n \"4.5 החברה מנהלת ומפעילה את האתר באופן שוטף וללא הפרעות ככל הניתן. יחד עם זאת, יתכנו הפרעות ו/או הפסקות ו/או תקלות בפעילות האתר. המשתמש מודע כי ייתכנו ליקויים, עיכובים והפרעות באיכות השירות ובזמינותו וכי החברה לא תהיה אחראית לכל הפרעה ו/או תקלה ו/או לכל נזק שייגרם בשל כך– ללא קשר לסיבת התקלה.\\n\" +\n \"4.6 האתר מכיל קישורים לאתרי אינטרנט אחרים שאינם מופעלים על ידי החברה, אלא על ידי גורמים אחרים. מובהר כי אין לחברה שליטה באתרים המקושרים ואין היא נושאת באחריות כלשהי לתכנים ולשירותים שנכללים בהם או לזמינותם. אין בהכללת הקישורים לאתרים אלה באתר, משום אישור למידע ולתכנים המופיעים בהם. המשתמש מוותר בזאת על כל טענה מכל מין וסוג שהוא כלפי החברה ו/או מי מטעמה בקשר עם האתרים המקושרים.\\n\" +\n \"4.7 החברה רשאית להסיר מהאתר קישורים שנכללו בו בעבר או להימנע מהוספת קישורים חדשים, וכן רשאית היא להוסיף קישורים בכל עת, הכל פי שיקול דעתה הבלעדי.\\n\" +\n \"\\n\" +\n \"\\n\" +\n \"5. הגנה על הפרטיות\\n\" +\n \"5.1 האתר מציע שירותים הדורשים רישום אקטיבי של המשתמש לאתר. הרישום כולל מתן פרטים אישיים כגון: תיבת דואר אלקטרוני, מספר צרכן, מספר נכס ועוד. כמו כן ניתן, אולם אין זאת חובה לעדכן נתונים נוספים כגון: מספר נפשות ועוד.\\n\" +\n \"5.2 יודגש כי רישום לשירותים באתר, ייעשה על פי החלטתו ושיקול דעתו הבלעדי של המשתמש.\\n\" +\n \"5.3 משתמש שיבחר להירשם לאתר, נותן הסכמתו לחברה לקבלת הודעות מטעם החברה אשר יעודכנו בפרופיל המשתמש באתר.\\n\" +\n \"5.4 החברה תהיה רשאית לעשות שימוש בפרטי המשתמש, בין בעצמה ובין על ידי מי מטעמה, לצרכים מסחריים, סטטיסטיים ושיווקיים שונים וכן לצורך שיפור השירותים הניתנים באתר או לצורך יצירת קשר עם המשתמש.\\n\" +\n \"5.5 מבלי לגרוע מזכויות החברה כאמור, החברה מתחייבת לעשות כל שביכולתה להגנת המידע הפרטי שנמסר לה על ידי המשתמש. החברה לא תמסור את פרטי המשתמש לכל צד שלישי, פרט לגורמים האחראים על תפעול האתר, לרבות תאגיד המים העירוני, וכן לכל רשות אכיפה ו/או על פי החלטת או הוראת בית משפט.\\n\" +\n \"\\n\" +\n \"6. שונות\\n\" +\n \"6.1 על הסכם זה יחולו דיני מדינת ישראל בלבד וסמכות השיפוט בכל דבר ועניין הקשורים להסכם זה ו/או הנובעים ממנו מוקנית לבית המשפט המוסמך בתל אביב-יפו באופן בלעדי.\\n\" +\n \"6.2 אם בית משפט מוסמך ייקבע כי תנאי מתנאי הסכם זה אינו תקף או שאינו ניתן לאכיפה מכוח הוראות החוקים הרלוונטיים, אזי יוסר תנאי זה מבלי להשפיע על תוקפם של יתר התנאים בהסכם זה.\",\n PrivacyPolicyText:\n \"האתר מציע שירותים הדורשים רישום אקטיבי של המשתמש לאתר. הרישום כולל מתן פרטים אישיים כגון: תיבת דואר אלקטרוני, מספר צרכן, מספר נכס ועוד. כמו כן ניתן, אולם אין זאת חובה לעדכן נתונים נוספים כגון: שטח גינה, מספר נפשות ועוד.\\nיודגש כי רישום לשירותים באתר, ייעשה על פי החלטתו ושיקול דעתו הבלעדי של המשתמש. \\nמשתמש שיבחר להירשם לאתר, נותן הסכמתו לחברה לקבלת הודעות מטעם החברה אשר יעודכנו בפרופיל המשתמש באתר. \\nהחברה תהיה רשאית לעשות שימוש בפרטי המשתמש, בין בעצמה ובין על ידי מי מטעמה, לצרכים מסחריים, סטטיסטיים ושיווקיים שונים וכן לצורך שיפור השירותים הניתנים באתר או לצורך יצירת קשר עם המשתמש. \\n מבלי לגרוע מזכויות החברה כאמור, החברה מתחייבת לעשות כל שביכולתה להגנת המידע הפרטי שנמסר לה על ידי המשתמש. החברה לא תמסור את פרטי המשתמש לכל צד שלישי, פרט לגורמים האחראים על תפעול האתר, לרבות תאגיד המים העירוני, וכן לכל רשות אכיפה ו/או על פי החלטת או הוראת בית משפט\",\n firstParagraph:\n \"האינטרנט מהווה כיום את המאגר הגדול ביותר לחופש המידע עבור כלל המשתמשים ומשתמשים בעלי מוגבלויות בפרט.\\n\" +\n \"\\n\" +\n \"ככזה, אנו שמים חשיבות רבה במתן אפשרות שווה לאנשים עם מוגבלות לשימוש במידע המוצג באתר ולאפשר חווית גלישה טובה יותר.\\n\" +\n \"\\n\" +\n \"אנו שואפים להבטיח כי השירותים הדיגיטליים יהיו נגישים לאנשים עם מוגבלויות מתוך אמונה כי לכל אדם מגיעה הזכות לחיות בשוויון, כבוד, נוחות ועצמאות.\\n\" +\n \"\\n\" +\n \"כדי לממש הבטחה זו, אנו שואפים לדבוק ככל האפשר בהמלצות התקן הישראלי לנגישות תכנים באינטרנט ובמסמך WCAG2.1 הבינלאומי.\",\n howAccessibilityWork: \"כיצד עובדת ההנגשה באתר?\",\n howAccessibilityWorkFirstRow: \"באתר מוצב תפריט הנגשה של חברת\",\n howAccessibilityWorkFirstRowLink: \"הנגשת אתרים.\",\n howAccessibilityWorkFirstRowEnd: \"נגיש בקליק.\",\n howAccessibilityWorkSecondRow:\n \"לחיצה על התפריט מאפשרת פתיחת כפתורי ההנגשה. לאחר בחירת נושא בתפריט יש להמתין לטעינת הדף.\",\n howAccessibilityWorkThirdRow:\n \"התוכנה פועלת בדפדפנים הפופולריים: Chrome, Firefox, Safari, Opera בכפוף\",\n howAccessibilityWorkThirdRowLink: \"לתנאי היצרן.\",\n howAccessibilityListHeader: \"אפשרויות הנגישות בתפריט:\",\n howAccessibilityWorkList:\n 'התאמה לניווט מקלדת - מתן אפשרות לניווט ע\"י מקלדת\\n' +\n \"התאמה לקורא מסך - התאמת האתר עבור טכנולוגיות מסייעות כגון NVDA , JAWS\\n\" +\n \"חסימת הבהובים - עצירת אלמנטים נעים וחסימת הבהובים\\n\" +\n \"הגדלת פונט האתר ל-4 גדלים שונים\\n\" +\n \"התאמות ניגודיות - שינוי ניגודיות צבעי האתר\\n\" +\n \"התאמת האתר לעיוורי צבעים\\n\" +\n \"שינוי הפונט לקריא יותר\\n\" +\n \"הגדלת הסמן ושינוי צבעו לשחור או לבן\\n\" +\n \"הגדלת התצוגה לכ-200%\\n\" +\n \"הדגשת קישורים באתר\\n\" +\n \"הדגשת כותרות באתר\\n\" +\n \"הצגת תיאור אלטרנטיבי לתמונות\\n\" +\n \"הצהרת נגישות\\n\" +\n \"שליחת משוב נגישות\",\n accessibilityIssues: \"פניה בנושא הנגישות\",\n accessibilityIssuesRow:\n \"אם במהלך הגלישה באתר נתקלתם בקושי בנושא נגישות, צוות הנגישות של החברה עומד לרשותכם במגוון ערוצים לפנייה בנושאי נגישות, נשמח לקבל מכם משוב.\",\n accessibilityContactName: \"שם: מחלקת\",\n accessibilityContactNameBold: \"שרות לקוחות\",\n accessibilityDate: \"תאריך עדכון ההצהרה: 1/2/2023\",\n buttons: {\n back: \"חזור\",\n cancel: \"בטל\",\n changePassword: \"החלף סיסמה\",\n confirm: \"אישור\",\n continue: \"המשך\",\n defineDates: \"הגדר תאריכים\",\n finish: \"סיום\",\n getCode: \"קבל קוד\",\n register: \"הרשמה\",\n logIn: \"התחברות\",\n resetPassword: \"איפוס סיסמה\",\n save: \"שמור\",\n savePassword: \"שמור סיסמה\",\n seeDetails: \"ראה פרטים\",\n sendInstructions: \"איפוס סיסמה\",\n signUp: \"הרשמה\",\n logOut: \"התנתק\",\n },\n \"AlertsTitles\": {\n \"AboveMaximumConsumption\": \"צריכה מעל למקס\", \n \"AboveAverageConsumption\": \"צריכה מעל לממוצע\", \n \"SuspectedLeak\": \"צריכה חריגה מאוד\", \n \"PossibleLeak\": \"חשד לדליפה\", \n \"AnnualRationExceeded\": \"חריגה מהקצבה שנתית\", \n \"MonthlyRationExceededTitle\": \"חריגה מהקצבה חודשית\", \n \"DailyUsageDuringVacation\": \"צריכה בזמן העדרות\", \n \"BillingCycleConsumptionLimit\": \"צריכה חריגה\", \n \"PossibleLeakInMainMeter\": \"חשד לדליפה במונה ראשי\", \n \"AlertIdNotFound\": \"התרעה\",\n 'OldReading': \"קיראה ישנה\",\n 'NetworkError': \"שגיאת תקשורת\",\n 'InvalidData': \"נתנוים שגויים\",\n \"LeakGroups\": \"קבוצות דליפה\",\n \"CommonUsageGroups\": \"קבוצות צריכה משותפת\",\n \"NegativeLeakGroups\": \"קבוצות דליפה שליליות\",\n \"NegativeCommonUsageGroups\": \"קבוצות צריכה משותפת שליליות\",\n \"HighCommonConsumption\": \"צריכה משותפת גבוהה\",\n \"NegativeCommonConsumption\": \"צריכה משותפת שלילית\",\n \"NegativeConsumption\": \"צריכה שלילית\",\n \"InactiveMeter\": \"חשד למונה עצור\",\n \"BelowMinimumConsumption\": \"צריכה מתחת למינ\",\n \"BelowAverageConsumption\": \"צריכה חריגה\",\n \"InactiveCompoundMeter\": \"חשד למונה משולב עצור\",\n \"Tamper\": \"חשד לחבלה\",\n \"CutWire\": \"חיווט\",\n \"LowBattery\": \"סוללה חלשה\",\n \"CCWRead\": \"זרימה הפוכה\",\n \"NoTransmission\": \"אין שידור\",\n \"HighFlow\": \"ספיקה גבוהה\",\n \"LowFlow\": \"ספיקה נמוכה\",\n \"AboveUpperBound\": \"חריגה מסף גבוה\",\n \"BelowLowerBound\": \"חריגה מסף נמוך\",\n \"ManualReadMissing\": \"קריאה ידנית חסרה\",\n \"FlowAboveQMax\": \"ספיקה מעל Qmax\",\n \"WrongMeterSN\": \"הצלבת מונים\",\n \"MeasurementFail\": \"תקלת מדידה זמנית\",\n \"MeterBoxOpen\": \"קופסת מונה פתוחה\",\n \"Tilt\": \"חשד להטיית מונה\",\n \"DisassembledMeter\": \"חשד לפירוק מד\",\n \"EmptyTanks\": \"מיכלים ריקים\",\n \"WrongSequence\": \"סדר החלפות שגוי\",\n \"GasTankBelowCriticalLevel\": \"מתחת לרמה הקריטית\",\n \"StaticReadOnGasTank\": \"רמת צובר ללא שינוי\",\n \"RTCImprecision\": \"אי-דיוק של שעון היחידה\",\n \"UnitReset\": \"יחידה אותחלה\",\n \"SensorFailure\": \"תקלה בסנסור\",\n \"DryChamber\": \"תא מדידה יבש\",\n \"Freeze\": \"קיפאון\",\n \"SlaveBatteryLow\": \"סוללה חלשה ברכיב מחובר\",\n \"HydrantNoCommunication\": \"הידרנט קליטה לא סדירה\",\n \"HydrantTamper\": \"הידרנט חשד לחבלה\",\n \"SolitaryPeopleStaticMeter\": \"מים חיים\"\n },\n \"MessageSubjectsMap\": {\n \"UpdateInformation\": \"עדכון פרטים\",\n \"ReadAbnormalConsumption\": \"קריאה/צריכה חריגה\",\n \"Leak\": \"נזילה\",\n \"WaterMeter\": \"מד המים\",\n \"WaterBill\": \"חשבון המים\",\n \"Other\": \"אחר\"\n }\n};\n","export const translationEN = {\n 1: \"System Error\",\n 401: \"Unauthorized request, user does not exists\",\n 403: \"Forbidden\",\n 429: \"Unauthorized request, user request rate exceeded limit\",\n 500: \"Internal Server Error\",\n 1100: \"Request Subject Empty\",\n 4033: \"Insufficient scope, required scope not found\",\n 5000: \"Invalid Data\",\n 5010: \"Invalid Password Confirmation\",\n 5020: \"Invalid Language Code\",\n 5030: \"Wrong Dates Range\",\n 5040: \"Invalid Meter Count\",\n 5050: \"Invalid Email\",\n 5060: \"Invalid Credentials\",\n 5061: \"Invalid Captcha\",\n 5070: \"Invalid Reset Token\",\n 5080: \"Invalid Key\",\n 5090: \"Cannot Get Credentials From Redis\",\n 5450: \"Failed To Register User\",\n 5451: \"Failed To Authenticate User\",\n 5452: \"Failed To Receive LOG File\",\n 5600: \"Invalid Application Id\",\n 5601: \"Role Requires Different Application Id\",\n 10000: \"Login Error\",\n 10002: \"User not found. Possible reason: wrong code entered or code expired\",\n 10010: \"Parsing Phone Number Error\",\n 10020: \"Invalid Phone Number\",\n 10030: \"Phone number Not Found\",\n 10040: \"Consumer Registered Already\",\n 10050: \"Consumer Municipal Does Not Exists\",\n 10060: \"Consumer Meters Not Found\",\n 10070: \"Consumer Registration Details Not Found In Redis\",\n 10080: \"Email In Use Already\",\n 10090: \"Cannot Create User\",\n 10100: \"Wrong Registration Code\",\n 10110: \"Unsupported Client Type\",\n 10120: \"Password Not Meet Minimal Requirements\",\n 10130: \"User Not Registered\",\n 10140: \"Unsupported Phone Number Type\",\n 10150: \"Cannot Find User With Provided Email\",\n 10160: \"No Data Available\",\n 10170: \"Cant Retrieve Account Number\",\n 10180: \"Password Expired\",\n 10190: \"Reset Password Token Expired\",\n 10200: \"Unable To Reset Password\",\n 10210: \"Password Is Equal To One Of Previous\",\n 10220: \"Inactive User\",\n 10230: \"Registration Code Was Not Validated\",\n 10240: \"Account Blocked\",\n 10250: \"Cannot Change User Enable State\",\n 10260: \"Invalid Reception Percentage Threshold\",\n 10270: \"Comment Too Long\",\n 10280: \"Account Number Does Not Exists\",\n 10290: \"Invalid Data\",\n 10300: \"Data Already Exists\",\n 10310: \"Invalid Read Meters Percentage Threshold\",\n 10327: \"Phone Number Assigned To Multiple Accounts\",\n 10404: \"Data Not Found\",\n 10520: \"Invalid Action\",\n 16000: \"Request Subject Empty\",\n 16001: \"Request Text Empty\",\n 17000: \"Time Zone Not Defined For Municipal\",\n 17001: \"Invalid Time Zone Id\",\n 17002: \"Invalid Date Time Received\",\n 17003: \"Invalid Visit Interval\",\n 110000: \"Request Text Empty\",\n 11000: \"Select Subject\",\n LogIn: \"Log In\",\n REGISTERED_EMAIL: \"REGISTERED E-MAIL\",\n WATER_ADVISOR_PASSWORD: \"PASSWORD\",\n fullName: \"Your full name\",\n code: \"code\",\n TermsofUse: \"Terms of Use\",\n TermsOfUse: \"Terms of Use\",\n TermsOfUseTitle: \"Terms of Use\",\n sendInstructions:\n \"Enter your e-mail below and we will send you the instructions on how to reset your password\",\n cancel: \"Cancel\",\n name: \"Name\",\n MonitorRealTimeConsumption:\n \"Monitor your water consumption with real time data, alerts and analytics\",\n Context: \"Context\",\n CustomerService: \"Customer Service\",\n Flexibility: \"Flexibility\",\n ReceiveAlerts: \"Receive Alerts\",\n DailyUsageLimit: \"Daily Usage Limit\",\n from: \"From\",\n to: \"To\",\n RealTimeAlerts: \"Real Time Alerts\",\n ApplicationPrivacyStatement: \"Application Privacy Statement\",\n Contact: \"Technical Support\",\n FooterContact: \"Technical Support\",\n AllRightsReserve: \"All Rights Reserves ©2023 Read Your Meter Pro\",\n AboutUs: \"About Us\",\n UserGuide: \"User Guide\",\n FAQ: \"FAQ\",\n ChooseWaterMeter: \"Choose Water Meter\",\n AllWaterMeters: \"All Water Meters\",\n READYOURMETER: \"About Read Your Meter Pro \",\n ok: \"ok\",\n Minimum: \"Minimum\",\n Total: \"Total\",\n Average: \"Average\",\n Welcome: \"Welcome\",\n Data: \"Date\",\n Consumption: \"Consumption\",\n OK: \"OK\",\n Maximum: \"Maximum\",\n Monthly: \"Monthly\",\n Daily: \"Daily\",\n Hourly: \"Hourly\",\n Status: \"Alert\",\n HOME: \"HOME\",\n Home: \"Home\",\n SETTINGS: \"SETTINGS\",\n ALERTS: \"MESSAGES\",\n NoInternetConnection: \"No internet connection\",\n AboutMasterMeter: \"About Master Meter\",\n aboutText:\n \" At Master Meter, we are focused on the future of water management. Everything we do is designed to help our utility customers reduce costs, improve efficiencies, and promote water stewardship through empowering conservation.\\n\\n Master Meter is a study in innovation. Our parent company, Israel-based Arad Group, is located in the world’s most robust center of resource management technology development. With few natural resources,\\n Israel has positioned itself as a global leader in desalination, micro-irrigation, water management software, advanced meter infrastructure, solar power, pipe rehabilitation, and more.\\n Albert Einstein famously noted, “Necessity is the mother of all invention.” Our customers enjoy a real advantage in working with the very best technologies available today.\\n\\n Our Sonata and Octave smart water meters are based on solid-state technology and leverage the most innovative science to ensure that your water meters stay accurate. Over 6 million Dialog® 3G AMR, Allegro Mobile,\\n and Allegro AMI Under- the-Glass (UTGTM) endpoints are in use today, making our networking solutions a tried and trusted technology for remotely communicating consumption and performance alert information.\\n\\n Whether you’re serving small rural populations or major metropolitan areas, delivering water only or provisioning combination utilities, Master Meter is your partner to deliver game changing results across Finance, Customer Service,\\n and Utility Operations. Master Meter’s vast sales presence and partner network ensure a personalized, attentive service to ensure your specific needs are met, and your expectations exceeded.\\n Contact us today to determine which smart water metering solution is right for you. \",\n AdminLogIn: \"Admin Log In\",\n USERNAME: \"USERNAME\",\n PASSWORD: \"Password\",\n ForgotPassword: \"I forgot my password\",\n Back: \"Back\",\n Report: \"Report\",\n alertInfoText:\n 'The automatic reading system of your water utility has\\n detected a \"suspected leak\" alert. This alert is detected\\n when there is a constant use of water for a period of 24\\n hours. The reason for high water usage can be genuine usage,\\n a leak in the line, or a problem in one of your water\\n devices (leaky hose).',\n callUs: \"Call us if you need any help\",\n WaterMeter: \"Water Meter\",\n waterMeter: \"water meter\",\n automaticReadingSystem:\n 'The automatic reading system of your water utility has\\n detected a \"suspected leak\" alert. This alert is detected\\n when there is a constant use of water for a period of 24\\n hours. The reason for high water usage can be genuine usage,\\n a leak in the line, or a problem in one of your water\\n devices (leaky hose).',\n errorOccurred: \"Unknown error has occurred.\",\n privacyText:\n \"Master Meter, Inc. (\\\"Master Meter\\\"), owns this application named My Water Advisor (the \\\"Application\\\"). This Application Privacy Statement (\\\"Privacy Statement\\\") discloses Master Meter's privacy practices concerning the Application. The Privacy Statement is subject to and incorporated into the My Water Advisor Application End User License Agreement and Terms of Use. Master Meter desires to provide consumers with transparency and control over being tracked as they traverse the Internet. We do not track Internet behavior; rather we facilitate, through the Application, your ability to exert your control and choice whether or not to be tracked on your device. In order to help you exert your control and choice, we need to collect the information described in the section entitled Data Collected by Us.\\nThis privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website. Please read this policy carefully to understand our policies and practices regarding your information and how we treat it. If you do not agree with our policies and practices, do not download, register with, or use this Application. By downloading, registering with, or using this Application, you agree to this privacy policy. This policy may change from time to time (see – link to “changes to our privacy policy”). Your continued use of this Application after we make changes is deemed to be acceptance of those changes, so please check the policy periodically for updates.\\n\\nWhat this Privacy Statement Covers\\n\\nThis Privacy Policy tells you about Master Meter, Inc.'s policies and practices for the collection, use and disclosure of information we collect about you through My Water Advisor, including the website www.mywateradvisor.com. By using this Application, our Site and Services, you agree to the terms of this Privacy Policy and you consent to the processing of information about you as described here.\\n\\nWhat personal information do we collect from the people that visit this Application?\\n\\nData Collected by Us. The Application collects the following information from your device: IP address (anonymized), device identifiers, mobile device operation system, information about your device's capabilities, browser type and browser identifier. In some instances it is possible that the tracking companies may use identification mechanisms that the Application is unable to collect. In that event, the tracking company may send the Application your unique tracking ID, in the form of a text string, which Master Meter does not process or use. Rather, this data is stored within the Application and is only passed back to the tracking company in the event that you execute an opt-out choice. When this is completed, the particular data is then removed from the Application memory. Master Meter also collects anonymous data from your device in order to know how many times the Application has been installed and opened, and how many opt-outs have been executed. This helps us analyze the Application so we can improve its functionality.\\n\\nCollection and Use of Personal Information\\n\\nPersonal information is data that can be used to identify or contact a single person. You may be asked to provide your personal information anytime you use this Application or are in contact with Master Meter. Master Meter and its affiliates may share this personal information with each other and use it consistent with this Privacy Policy. They may also combine it with other information to provide and improve our products, services, content, and advertising. You are not required to provide the personal information that we have requested, but, if you chose not to do so, in many cases we will not be able to provide you with our products or services or respond to any queries you may have.\\n\\nWhat personal information do we collect from the people that visit our blog, website or app?\\n\\nWhen ordering or registering on our site, as appropriate, you may be asked to enter your email address, phone number or other details to help you with your experience.\\n\\nInformation you provide to us.\\n\\nWhen you register, we ask you for one of the following pieces of information:\\n•\\tAccount Number; or\\n•\\tCell Phone number;\\n\\nCollection and Use of Non-Personal Information\\n\\nWe also collect data in a form that does not, on its own, permit direct association with any specific individual. We may collect, use, transfer, and disclose non-personal information for any purpose. The following are some examples of non-personal information that we collect and how we may use it:\\n•\\tWe may collect information such as occupation, language, zip code, area code, unique device identifier, referrer URL, location, and the time zone where an Apple product is used so that we can better understand customer behavior and improve our products, services, and advertising.\\n•\\tWe may collect information regarding customer activities on our website. This information is aggregated and used to help us provide more useful information to our customers and to understand which parts of our website, products, and services are of most interest. Aggregated data is considered non-personal information for the purposes of this Privacy Policy.\\n•\\tWe may collect and store details of how you use our services, including search queries. This information may be used to improve the relevancy of results provided by our services. Except in limited instances to ensure quality of our services over the Internet, such information will not be associated with your IP address.\\n\\nDo we use 'cookies'?\\n\\nWe do not use cookies for tracking purposes\\nYou can choose to have your device or computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser (like Internet Explorer) settings. Each browser is a little different, so look at your browser's Help menu to learn the correct way to modify your cookies.\\nIf you disable cookies, some features will be disabled that make your site experience more efficient and some of our services may not function properly.\\n\\nStorage and Usage of Data\\n\\nAll the collected data is stored locally, meaning on the device, and is only sent by us to the tracking company at your direction to alert that that you have chosen to opt-out of being tracked by them. When you close the Application, Master Meter clears all the data, except for a record of companies that you have elected to opt-out from. The only exception to this practice is for IDs that can be reset by you, such as IDFA (Identifier For Advertising), which is a cross app/publisher, in iOS. In those cases, Master Meter stores the ID locally on the device in an anonymous format. Each time you open the Application, Master Meter checks to see if you reset your ID on your device. If the ID has been reset, then the Application will indicate to you that you will need to opt-out again.\\n\\nSharing Your Information. Except as disclosed in this Privacy Statement, Master Meter does not rent, sell or share the information you have allowed us to collect with third parties without your permission... We may share your information without your permission (i) pursuant to judicial or other government subpoenas, warrants, or orders or otherwise to comply with law; (ii) where Master Meter believes the rights, property or an individual's safety or security is at risk; (iii) if Master Meter finds that your actions violate our Terms of Use Agreement; or (iv) where otherwise required by law.\\n\\nRetention of Information\\n\\nSubject to the disclosures in this Privacy Statement and applicable law, we will retain your information as necessary to comply with our legal obligations, resolve disputes, and enforce our agreements.\\n\\nChildren's Privacy\\n\\nMaster Meter is committed to protecting the safety and privacy of young people using the Internet. Our services, products and websites are not directed at children under the age of 13 and we do not knowingly collect personal information from children under the age of 13.\\n\\nCOPPA (Children Online Privacy Protection Act)\\n\\nWhen it comes to the collection of personal information from children under 13, the Children's Online Privacy Protection Act (COPPA) puts parents in control. The Federal Trade Commission, the nation's consumer protection agency, enforces the COPPA Rule, which spells out what operators of websites and online services must do to protect children's privacy and safety online.\\n\\nWe do not specifically market to children under 13.\\n\\nCalifornia Online Privacy Protection Act\\n\\nCalOPPA is the first state law in the nation to require commercial websites and online services to post a privacy policy. The law's reach stretches well beyond California to require a person or company in the United States (and conceivably the world) that operates websites collecting personally identifiable information from California consumers to post a conspicuous privacy policy on its website stating exactly the information being collected and those individuals with whom it is being shared, and to comply with this policy. - See more at: http://consumercal.org/california-online-privacy-protection-act-caloppa/#sthash.0FdRbT51.dpuf\\n\\nAccording to CalOPPA we agree to the following:\\n\\nUsers can visit our site anonymously\\n\\nOnce this privacy policy is created, we will add a link to it on our home page, or as a minimum on the first significant page after entering our website.\\n\\nOur Privacy Policy link includes the word 'Privacy', and can be easily be found on the page specified above.\\n\\nUsers will be notified of any privacy policy changes:\\n•\\tOn our Privacy Policy Page\\nUsers are able to change their personal information:\\n•\\tBy logging in to their account\\n\\nOur Commitment to Security\\n\\nMaster Meter has appropriate physical, administrative and technical safeguards procedures in place, which are designed to protect and safeguard your data. Of course, although Master Meter uses standard industry practices to protect and safeguard your data, we cannot guarantee that your communications with Master Meter or your data will never be unlawfully intercepted, or that your data will never be unlawfully accessed by unauthorized third parties.\\n\\nWhile Master Meter has implemented these security measures to secure your personal information from accidental loss and from unauthorized use, access, alteration and disclosure, the safety and security of your information also depends on you. Where we have given you (or where you have chosen) a password for access to our Application, you are responsible for keeping this password confidential. We ask you not to share your password with anyone.\\n\\nUnfortunately, the transmission of information via the internet is not completely secure. Although we do our best to protect your personal information, we cannot guarantee the security of your personal information transmitted through our Application. Any transmission of personal information is at your own risk. We are not responsible for any circumvention of any privacy settings or security measures we provide.\\n\\nHow do we protect visitor information?\\n\\nOur website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible.\\n\\nWe do not use an SSL certificate\\n•\\tWe do not need an SSL because:\\nWe do not send/receive sensitive information, only alerts for water leaks, Electronic correspondence from the Utility, and customer initiated settings and preference modifications.\\n\\nThird Party Disclosure\\n\\nWe do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. Master Meter may disclose aggregated information about users, and information that does not identify any individual or device without restriction\\n\\nThird party links\\n\\nWe do not include or offer third party products or services on our website.\\n\\nHow does our site handle do not track signals?\\n\\nWe honor do not track signals and do not track, plant cookies, or use advertising when a Do Not Track (DNT) browser mechanism is in place.\\n\\nDoes our site allow third party behavioral tracking?\\n\\nIt's also important to note that we do not allow third party behavioral tracking\\n\\nChanges to the Privacy Statement\\n\\nMaster Meter reserves the right to modify the Privacy Statement as business needs require. If we decide to change the Privacy Statement, we will post those changes here so that you will always know what information we gather, how we might use that information and whether we will disclose it to anyone. All changes will be posted on www.mywateradvisor.com and on the Application at the time they take effect. Contact Information.\\n\\nContacting Us\\n\\nIf there are any questions regarding this privacy policy you may contact us using the information below.\\nwww.mastermeter.com\\nMansfield\\nUSA\\nTX\\n\\nMM rev 01.17\",\n websiteTerms: \"My Water Advisor Website Terms of Use\",\n acceptance: \"Acceptance of the Terms of Use\",\n termsText:\n 'Last Modified: 03.01.17\\n\\nThese terms of use are entered into by and between You and Master Meter, Inc. (\"Company\", \"we\" or \"us\"). The following terms and conditions (collectively, these \"Terms of Use\"), govern your access to and use of My Water Advisor.com, including any content, functionality and services offered on or through a guest or a registered user.\\n\\nPlease read the Terms of Use carefully before you start to use the Website. By using the Website or by clicking to accept or agree to the Terms of Use when this option is made available to you, you accept and agree to be bound and abide by these Terms of Use and our Privacy Policy, found at https://www.mywateradvisor.com/pp.aspx, incorporated herein by reference. If you do not want to agree to these Terms of Use or the Privacy Policy, you must not access or use the Website.\\n\\nThis Website is offered and available to users who are 18 years of age or older. By using this Website, you represent and warrant that you are of legal age to form a binding contract with the Company and meet all of the foregoing eligibility requirements. If you do not meet all of these requirements, you must not access or use the Website.\\n\\nChanges to the Terms of Use\\nWe may revise and update these Terms of Use from time to time in our sole discretion. All changes are effective immediately when we post them, and apply to all access to and use of the Website thereafter. However, any changes to the dispute resolution provisions set forth in Governing Law and Jurisdiction will not apply to any disputes for which the parties have actual notice prior to the date the change is posted on the Website.\\n\\nYour continued use of the Website following the posting of revised Terms of Use means that you accept and agree to the changes. You are expected to check this page from time to time so you are aware of any changes, as they are binding on you.\\n\\nAccessing the Website and Account Security\\nWe reserve the right to withdraw or amend this Website, and any service or material we provide on the Website, in our sole discretion without notice. We will not be liable if for any reason all or any part of the Website is unavailable at any time or for any period. From time to time, we may restrict access to some parts of the Website, or the entire Website, to users, including registered users.\\n\\n You are responsible for:\\n• Making all arrangements necessary for you to have access to the Website.\\n• Ensuring that all persons who access the Website through your internet connection are aware of these Terms of Use and comply with them.\\n\\nTo access the Website or some of the resources it offers, you may be asked to provide certain registration details or other information. It is a condition of your use of the Website that all the information you provide on the Website is correct, current and complete. You agree that all information you provide to register with this Website or otherwise, including but not limited to through the use of any interactive features on the Website, is governed by our Privacy Policy [INSERT AS LINK TO WEBSITE\\'S PRIVACY POLICY], and you consent to all actions we take with respect to your information consistent with our Privacy Policy.\\n\\nIf you choose, or are provided with, a user name, password or any other piece of information as part of our security procedures, you must treat such information as confidential, and you must not disclose it to any other person or entity. You also acknowledge that your account is personal to you and agree not to provide any other person with access to this Website or portions of it using your user name, password or other security information. You agree to notify us immediately of any unauthorized access to or use of your user name or password or any other breach of security. You also agree to ensure that you exit from your account at the end of each session. You should use particular caution when accessing your account from a public or shared computer so that others are not able to view or record your password or other personal information.\\n\\nWe have the right to disable any user name, password or other identifier, whether chosen by you or provided by us, at any time in our sole discretion for any or no reason, including if, in our opinion, you have violated any provision of these Terms of Use.\\n\\nIntellectual Property Rights\\nThe Website and its entire contents, features and functionality (including but not limited to all information, software, text, displays, images, video and audio, and the design, selection and arrangement thereof), are owned by the Company, its licensors or other providers of such material and are protected by United States and international copyright, trademark, patent, trade secret and other intellectual property or proprietary rights laws.\\n\\nThese Terms of Use permit you to use the Website for your personal, non-commercial use only. You must not reproduce, distribute, modify, create derivative works of, publicly display, publicly perform, republish, download, store or transmit any of the material on our Website, except as follows:\\n •Your computer may temporarily store copies of such materials in RAM incidental to your accessing and viewing those materials.\\n• You may store files that are automatically cached by your Web browser for display enhancement purposes.\\n• You may print or download one copy of a reasonable number of pages of the Website for your own personal, non-commercial use and not for further reproduction, publication or distribution.\\n• If we provide desktop, mobile or other applications for download, you may download a single copy to your computer or mobile device solely for your own personal, non-commercial use, provided you agree to be bound by our end user license agreement for such applications.\\n\\nYou must not:\\n• Modify copies of any materials from this site.\\n• Delete or alter any copyright, trademark or other proprietary rights notices from copies of materials from this site.\\n\\nYou must not access or use for any commercial purposes any part of the Website or any services or materials available through the Website.\\n\\nIf you print, copy, modify, download or otherwise use or provide any other person with access to any part of the Website in breach of the Terms of Use, your right to use the Website will cease immediately and you must, at our option, return or destroy any copies of the materials you have made. No right, title or interest in or to the Website or any content on the Website is transferred to you, and all rights not expressly granted are reserved by the Company. Any use of the Website not expressly permitted by these Terms of Use is a breach of these Terms of Use and may violate copyright, trademark and other laws.\\n\\nTrademarks\\nThe Company name, the terms and all related names, logos, product and service names, designs and slogans are trademarks of the Company or its affiliates or licensors. You must not use such marks without the prior written permission of the Company. All other names, logos, product and service names, designs and slogans on this Website are the trademarks of their respective owners.\\n\\n\\n\\n\\nProhibited Uses\\nYou may use the Website only for lawful purposes and in accordance with these Terms of Use. You agree not to use the Website:\\n• In any way that violates any applicable federal, state, local or international law or regulation (including, without limitation, any laws regarding the export of data or software to and from the US or other countries).\\n• For the purpose of exploiting, harming or attempting to exploit or harm minors in any way by exposing them to inappropriate content, asking for personally identifiable information or otherwise.\\n• To send, knowingly receive, upload, download, use or re-use any material which does not comply with the Content Standards set out in these Terms of Use.\\n• To impersonate or attempt to impersonate the Company, a Company employee, another user or any other person or entity (including, without limitation, by using e-mail addresses associated with any of the foregoing).\\n• To engage in any other conduct that restricts or inhibits anyone\\'s use or enjoyment of the Website, or which, as determined by us, may harm the Company or users of the Website or expose them to liability.\\nAdditionally, you agree not to:\\n\\n• Use the Website in any manner that could disable, overburden, damage, or impair the site or interfere with any other party\\'s use of the Website, including their ability to engage in real time activities through the Website.\\n• Use any robot, spider or other automatic device, process or means to access the Website for any purpose, including monitoring or copying any of the material on the Website.\\n• Use any manual process to monitor or copy any of the material on the Website or for any other unauthorized purpose without our prior written consent.\\n• Use any device, software or routine that interferes with the proper working of the Website.\\n• Introduce any viruses, trojan horses, worms, logic bombs or other material which is malicious or technologically harmful.\\n• Attempt to gain unauthorized access to, interfere with, damage or disrupt any parts of the Website, the server on which the Website is stored, or any server, computer or database connected to the Website.\\n• Attack the Website via a denial-of-service attack or a distributed denial-of-service attack.\\n• Otherwise attempt to interfere with the proper working of the Website.\\n\\n\\nReliance on Information Posted\\n\\nThe information presented on or through the Website is made available solely for general information purposes. We do not warrant the accuracy, completeness or usefulness of this information. Any reliance you place on such information is strictly at your own risk. We disclaim all liability and responsibility arising from any reliance placed on such materials by you or any other visitor to the Website, or by anyone who may be informed of any of its contents.\\n\\nChanges to the Website\\n\\nWe may update the content on this Website from time to time, but its content is not necessarily complete or up-to-date. Any of the material on the Website may be out of date at any given time, and we are under no obligation to update such material.\\n\\nInformation About You and Your Visits to the Website\\n\\nAll information we collect on this Website is subject to our Privacy Policy [INSERT AS LINK TO SITE\\'S PRIVACY POLICY]. By using the Website, you consent to all actions taken by us with respect to your information in compliance with the Privacy Policy.\\n\\nLinks from the Website\\n\\nIf the Website contains links to other sites and resources provided by third parties, these links are provided for your convenience only. This includes links contained in advertisements, including banner advertisements and sponsored links. We have no control over the contents of those sites or resources, and accept no responsibility for them or for any loss or damage that may arise from your use of them. If you decide to access any of the third party websites linked to this Website, you do so entirely at your own risk and subject to the terms and conditions of use for such websites.\\n\\nGeographic Restrictions\\n\\nThe owner of the Website is based in the state of [STATE] in the United States. We provide this Website for use only by persons located in the United States. We make no claims that the Website or any of its content is accessible or appropriate outside of the United States. Access to the Website may not be legal by certain persons or in certain countries. If you access the Website from outside the United States, you do so on your own initiative and are responsible for compliance with local laws.\\n\\nDisclaimer of Warranties\\n\\nYou understand that we cannot and do not guarantee or warrant that files available for downloading from the internet or the Website will be free of viruses or other destructive code. You are responsible for implementing sufficient procedures and checkpoints to satisfy your particular requirements for anti-virus protection and accuracy of data input and output, and for maintaining a means external to our site for any reconstruction of any lost data. WE WILL NOT BE LIABLE FOR ANY LOSS OR DAMAGE CAUSED BY A DISTRIBUTED DENIAL-OF-SERVICE ATTACK, VIRUSES OR OTHER TECHNOLOGICALLY HARMFUL MATERIAL THAT MAY INFECT YOUR COMPUTER EQUIPMENT, COMPUTER PROGRAMS, DATA OR OTHER PROPRIETARY MATERIAL DUE TO YOUR USE OF THE WEBSITE OR ANY SERVICES OR ITEMS OBTAINED THROUGH THE WEBSITE OR TO YOUR DOWNLOADING OF ANY MATERIAL POSTED ON IT, OR ON ANY WEBSITE LINKED TO IT.\\n\\n YOUR USE OF THE WEBSITE, ITS CONTENT AND ANY SERVICES OR ITEMS OBTAINED THROUGH THE WEBSITE IS AT YOUR OWN RISK. THE WEBSITE, ITS CONTENT AND ANY SERVICES OR ITEMS OBTAINED THROUGH THE WEBSITE ARE PROVIDED ON AN \"AS IS\" AND \"AS AVAILABLE\" BASIS, WITHOUT ANY WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. NEITHER THE COMPANY NOR ANY PERSON ASSOCIATED WITH THE COMPANY MAKES ANY WARRANTY OR REPRESENTATION WITH RESPECT TO THE COMPLETENESS, SECURITY, RELIABILITY, QUALITY, ACCURACY OR AVAILABILITY OF THE WEBSITE. WITHOUT LIMITING THE FOREGOING, NEITHER THE COMPANY NOR ANYONE ASSOCIATED WITH THE COMPANY REPRESENTS OR WARRANTS THAT THE WEBSITE, ITS CONTENT OR ANY SERVICES OR ITEMS OBTAINED THROUGH THE WEBSITE WILL BE ACCURATE, RELIABLE, ERROR-FREE OR UNINTERRUPTED, THAT DEFECTS WILL BE CORRECTED, THAT OUR SITE OR THE SERVER THAT MAKES IT AVAILABLE ARE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS OR THAT THE WEBSITE OR ANY SERVICES OR ITEMS OBTAINED THROUGH THE WEBSITE WILL OTHERWISE MEET YOUR NEEDS OR EXPECTATIONS.\\n\\nTHE COMPANY HEREBY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR PARTICULAR PURPOSE.\\n\\nTHE FOREGOING DOES NOT AFFECT ANY WARRANTIES WHICH CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.\\n\\nLimitation on Liability\\n\\nIN NO EVENT WILL THE COMPANY, ITS AFFILIATES OR THEIR LICENSORS, SERVICE PROVIDERS, EMPLOYEES, AGENTS, OFFICERS OR DIRECTORS BE LIABLE FOR DAMAGES OF ANY KIND, UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR INABILITY TO USE, THE WEBSITE, ANY WEBSITES LINKED TO IT, ANY CONTENT ON THE WEBSITE OR SUCH OTHER WEBSITES OR ANY SERVICES OR ITEMS OBTAINED THROUGH THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, PERSONAL INJURY, PAIN AND SUFFERING, EMOTIONAL DISTRESS, LOSS OF REVENUE, LOSS OF PROFITS, LOSS OF BUSINESS OR ANTICIPATED SAVINGS, LOSS OF USE, LOSS OF GOODWILL, LOSS OF DATA, AND WHETHER CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF CONTRACT OR OTHERWISE, EVEN IF FORESEEABLE.\\n\\nTHE FOREGOING DOES NOT AFFECT ANY LIABILITY WHICH CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.\\n\\nIndemnification\\n\\nYou agree to defend, indemnify and hold harmless the Company, its affiliates, licensors and service providers, and its and their respective officers, directors, employees, contractors, agents, licensors, suppliers, successors and assigns from and against any claims, liabilities, damages, judgments, awards, losses, costs, expenses or fees (including reasonable attorneys\\' fees) arising out of or relating to your violation of these Terms of Use or your use of the Website, including, but not limited to, your User Contributions, any use of the Website\\'s content, services and products other than as expressly authorized in these Terms of Use or your use of any information obtained from the Website.\\n\\nGoverning Law and Jurisdiction\\n\\nAll matters relating to the Website and these Terms of Use and any dispute or claim arising therefrom or related thereto (in each case, including non-contractual disputes or claims), shall be governed by and construed in accordance with the internal laws of the State of Texas without giving effect to any choice or conflict of law provision or rule (whether of the State of Texas or any other jurisdiction).\\n\\nArbitration\\n\\nAt Company\\\\\\'s sole discretion, it may require You to submit any disputes arising from the use of these Terms of Use or the Website, including disputes arising from or concerning their interpretation, violation, invalidity, non-performance, or termination, to final and binding arbitration under the Rules of Arbitration of the American Arbitration Association applying Texas law.\\n\\nLimitation on Time to File Claims\\n\\nANY CAUSE OF ACTION OR CLAIM YOU MAY HAVE ARISING OUT OF OR RELATING TO THESE TERMS OF USE OR THE WEBSITE MUST BE COMMENCED WITHIN ONE (1) YEAR AFTER THE CAUSE OF ACTION ACCRUES, OTHERWISE, SUCH CAUSE OF ACTION OR CLAIM IS PERMANENTLY BARRED.\\n\\nWaiver and Severability\\n\\nNo waiver of by the Company of any term or condition set forth in these Terms of Use shall be deemed a further or continuing waiver of such term or condition or a waiver of any other term or condition, and any failure of the Company to assert a right or provision under these Terms of Use shall not constitute a waiver of such right or provision.\\n\\nIf any provision of these Terms of Use is held by a court or other tribunal of competent jurisdiction to be invalid, illegal or unenforceable for any reason, such provision shall be eliminated or limited to the minimum extent such that the remaining provisions of the Terms of Use will continue in full force and effect.\\n\\nEntire Agreement\\n\\nThe Terms of Use and our Privacy Policy constitute the sole and entire agreement between you and Master Meter, Inc. with respect to the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website.`',\n setMonthlyTitle: \"Define usage limit while away\",\n VacationDates: \"Vacation dates\",\n ChooseDate: \"Choose date\",\n EmailAlert: \"Email alert\",\n SMSAlert: \"SMS alert\",\n waterDesc: \"All Water Meters\",\n BillingCycle: \"Water Consumption\",\n CurrentBillingCycle: \"Current Month Consumption\",\n BillingCycleLimit: \"Monthly Low-Rate Threshold Value:\",\n Update: \"Update\",\n SetBillingCycleLimit: \"Set Billing Cycle Limit\",\n getInformed: \"Get informed about water consumption while away from home\",\n CancelVacation: \"Cancel alert\",\n waterConsumption: \"WATER CONSUMPTION\",\n compareToPreviousYear: \"COMPARE TO PREVIOUS YEAR\",\n tab2Heading: \"Me vs. Similar Households\",\n WaterUsageForBillingCycle: \"Water Usage for Billing Cycle\",\n EndOfBillingCycleForecast: \"End of Month Forecast\",\n CurrentMeterReading: \"Current Meter Reading\",\n getInformedMob: \"Get informed about water consumption while away from home\",\n OnlineYourWorldWater: \"Online access to Your World of Water™\",\n MyWaterAdvisor: \"Read Your Meter Pro\",\n Empowerment: \"Empowerment\",\n KnowledgeOfHowUseWaterEmpower:\n \"Knowledge of how and when we use water empower’s conservation\",\n Clarity: \"Clarity\",\n BetterUnderstand:\n \"Better understand how much water is used for gardening or other activities\",\n CompareOnesUsage:\n \"Compare ones usage against similar households for a more effective conservation program\",\n Safety: \"Safety\",\n MonitorUnexpected:\n \"Monitor unexpected or unauthorized usage while away on vacation\",\n mobileApps: \"Also Available for IOS and Android\",\n AppsAvailableForBothApple:\n \"Apps available for both Apple iOS and Android, and cloud-based browser desktop access\",\n SetBudget: \"Set budget alerts to end month-end high billing surprises\",\n InvalidMonthlyLimitSet: \"Invalid monthly limit set\",\n choosePassword: \"CHOOSE A PASSWORD YOU WISH TO USE\",\n typePasswordAgain: \"TYPE THE PASSWORD AGAIN\",\n ConfirmPassword: \"Confirm Password\",\n passwordDontMatch: \"Passwords do not match\",\n emailsDontMatch: \"E-mails do not match\",\n passwordResetSuccessfully: \"Password was reset successfully.\",\n passwordError:\n \"Password must contain numbers and letters.\\nPassword must contain 8 characters or more.\",\n changePassword: \"Change Password\",\n enterCodeAgain: \"Enter the code that was sent via email.\",\n email: \"E-mail\",\n emailAccessibility: \"E-mail\",\n mail: \"E-mail\",\n needHelp: \"Need help? Call your utility office\",\n SearchUtilityByName: \"Search Utility by Name\",\n JoinMyWaterAdvisor: \"Register\",\n signUpWithPhone: \"Sign up with cell phone number\",\n PhoneNumberRegistered:\n \"Phone number registered with your utility or service provider\",\n signUpWithAccountNumber: \"Sign up with account number\",\n billAccountNumber: \"Account number as it appeared on the bill\",\n callYourUtilityOffice: \"Need help? Call your utility office\",\n foundMonthlyWaterBill:\n \"Your water utility name can be found in the monthly water bill\",\n billAccountNumberUpperCase: \"ACCOUNT NUMBER AS IT APPEARED ON YOUR BILL\",\n billFullName: \"FULL NAME AS IT APPEARED ON YOUR BILL\",\n billPropertyName: \"PROPERTY NUMBER AS IT APPEARED ON YOUR BILL\",\n billMunicipality: \"Select Water Authority / Corporation\",\n chooseMunicipality: \"Choose Municipality\",\n municipality: \"Municipality\",\n propertyNumber: \"Property Number\",\n smsCode: \"Enter the code that was sent via SMS to number\",\n validEmail: \"PROVIDE A VALID E-MAIL\",\n chooseNewPassword: \"CHOOSE A NEW PASSWORD TO USE\",\n mustContain: \"Enter 8 characters or more, including alphanumeric\",\n mustContain8Char: \"\",\n passwordCheck:\n \"Enter 8 characters or more including both numbers and letters\",\n iAgree: \"By signing up, you agree to\",\n Privacy: \"Privacy Policy\",\n ofUse: \"of Use\",\n repeatEmail: \"REPEAT E-MAIL\",\n PhoneNumber: \"Phone number\",\n Account: \"Account\",\n wasNotFound: \"was not found\",\n pleaseTry: \"Please try another\",\n orRegisteringWith: \"or registering with\",\n enterPrimaryCellPhoneProvider:\n \"Enter the primary cell phone number registered with your utility or service provider.\",\n phonePrefix: \"+1 US\",\n SetRealTimeAlerts: \"Set Real-Time Alerts according to your preferences\",\n Alerts: \"Alerts\",\n SuspectedLeak: \"Suspected Leak\",\n BillingCycleConsumptionLimit: \"Billing Cycle Consumption Limit\",\n DailyUsageDuringVacation: \"Daily Usage During Vacation\",\n MyWaterMeters: \"My Water Meters\",\n AccountNumber: \"Account Number\",\n Edit: \"Edit\",\n a: \"a\",\n MonthlyConsumptionLimit: \"Monthly Consumption Limit\",\n DailyUsageVacation: \"Daily Usage Vacation\",\n curPassword: \"YOUR CURRENT PASSWORD\",\n chgPassword: \"CHANGE PA\",\n EnterPhoneReceiveSMS: \"Enter a cell phone number to receive alerts\",\n and: \"and\",\n NewMessage: \"Contact Us\",\n Subject: \"Subject\",\n Message: \"Message\",\n HasSent: \"Message was sent\",\n Send: \"Send\",\n ConsumptionBelowLimit: \"Consumption at low rate\",\n ConsumptionOverLimit: \"Consumption at high rate\",\n btnDefineDays: \"Define Dates\",\n SystemMessages: \"Alerts\",\n Requests: \"Requests\",\n Return: \"Back\",\n AboveMaximumConsumption:\n 'The automatic reading system of the utility has detected a \"consumption above maximum value\" alert.\\n This alert is detected when there is a high daily usage of water.\\n The reason for high water usage can be either a genuine usage or a problem in one of the water devices (such as leak from the cistern, open valve, etc). \\n Please review the issue and if a problem exist, fix it.',\n AboveAverageConsumption:\n 'The automatic reading system of the utility has detected a \"consumption above average\" alert.\\n This alert is detected when the usage of water is significantly higher than that in the same month last year.\\n The reason for high water usage can be either a genuine usage or a problem in one of the water devices (such as leak from the cistern, open valve, etc). \\n Please review the issue and if a problem exist, fix it.',\n ConsumptionAboveAverageSuspectedLeak:\n 'The automatic reading system of the utility has detected a \"consumption above average - suspected leak\" alert.\\n This alert is detected when the usage of water is significantly higher than that in the same month last year.\\n The reason for high water usage can be either a genuine usage or a problem in one of the water devices (such as leak from the cistern, open valve, etc). \\n Please review the issue and if a problem exist, fix it',\n Leak: 'The automatic reading system of your water utility has detected a \"suspected leak\" alert.\\n This alert is detected when there is a constant use of water for a period of 24 hours.\\n The reason for high water usage can be genuine usage, a leak in the line, or a problem in one of your water devices (leaky hose, open valve, toilet, etc).\\n Please review the issue and if a problem exist, fix it',\n AnnualRationExceeded: \"\",\n MonthlyRationExceeded: \"\",\n ConsumptionDuringVacation:\n \"The Utility’s automated reading system has detected a “Consumption During Vacation” alert.\\n This alert is detected when the daily usage of water is higher than the threshold you defined for the vacation period.\",\n LeakInMainMeter:\n 'The automatic reading system of your water utility has detected a \"suspected leak\" alert.\\n This alert is detected when there is a constant use of water for a period of 24 hours.\\n The reason for high water usage can be genuine usage, a leak in the line, or a problem in one of your water devices (Irrigation valve is open).\\n Please review the issue and if a problem exist, fix it',\n AccessibilityStatement: \"Accessibility Statement\",\n AccessibilityStatementTitle: \"Accessibility Statement\",\n AlertDate: \"Alert received on\",\n replyInquiry: \"Inquiry from\",\n inquiryFrom: \"Reply to the inquiry from\",\n seeDetails: \"SEE DETAILS\",\n ContactUs: \"Contact Us:\",\n Tel: \"Tel:\",\n HappyToAssist: \"We will be happy to assist you. Get in touch with us:\",\n InTouch: \"ARAD customer service\",\n isRequired: \"is required\",\n notValidEmail: \"is not a valid email\",\n valueExceeded: \"The value exceeded\",\n symbols: \"symbols\",\n PasswordsNotEqual: \"Passwords are not equal\",\n ReplyOn: \"Response to the request\",\n JoinButton: \"REGISTER\",\n Login: \"Log In\",\n SignUp: \"SIGN UP\",\n resetPassword: \"Reset Password\",\n estimateConsumption: \"Estimate\",\n realConsumption: \"Real\",\n ResendCode: \"Resend code\",\n invalidDates: \"Invalid start/end date set\",\n CouldNotConfirmAlert: \"Could not confirm alert\",\n PasswordRecoveryFailed: \"Password recovery failed\",\n PasswordChangedSuccessfully: \"Password changed successfully\",\n selectMeterForDates:\n \"Please select a specific meter to update the usage during vacation alert\",\n TermsOfUseText:\n '1. General\\n1.1. Welcome to the website of Arad Measurement Technologies Ltd. (hereinafter: \"the Company\").\\n1.2. The Company operates website (the \"Website\") subject to your agreement to the terms and conditions as set forth below, and in accordance with the provisions of any law. By entering the site and / or performing the registration operation as a user of the site, you are considered to have accepted all the restrictions and conditions, without any reservations, only after you agree to the terms of use you are allowed to use the site.\\n1.3. Please read this page regarding the \"Terms of Use\" carefully before making any use of the Site. The terms of use listed here regulate the relationship between the user of the site and the company. The use of this website will be considered as your consent to everything stated on it. If you do not agree to the terms of use, you are asked to stop using the site immediately.\\n\\n2. The Website\\n2.1. This site is intended to enable the registered user to receive information about the his/her private water consumption as well as information related to the water supply by the municipal water corporation. The registered user may use the site and the information contained therein in accordance with the conditions set out on this page.\\n2.2. The information on the website is intended for the personal and private use of the registered user and is not intended for commercial use. You may not make changes, copy, distribute, display, reproduce, publish, or sell an item from the items of information, content, images, or publications originating from the Site, except with the expressed prior permission of the Company.\\n2.3. The Company reserves the right to adjust and / or update and / or improve and / or change and / or remove the contents of the site, in whole or in part, without any prior notice. The company reserves the right to restrict certain content and / or access to the site\\'s services, in whole or in part, and / or terminate its activities.\\n2.4. The information contained on the website as of the date of its publication.\\n\\n3. Intellectual Property\\n3.1. All content appearing on the site constitutes intellectual property, including one protected by patents and / or trademarks and / or one that constitutes a trade secret and / or copyright and / or any other right. The site contains intellectual property which is the exclusive property of the company and / or intellectual property of a third party according to the permission given to the company.\\n3.2. No commercial use may be made of the information and data published on the Site, including the images, designs, or any other data and information, except subject to the Company\\'s prior written consent.\\n3.3. The names and / or trademarks displayed on the website may not be used without the prior written consent of the company.\\n3.4. Content from the Site may not be displayed in any way, including by any software, device, or other means, whether those means alter the design of the Site or alter any content from the Site, and in particular commercial content, or not.\\n3.5. No use may be made of the information appearing on the website within the framework of another website and no data may be taken from the website for the purpose of displaying on another website, without the prior written consent of the company.\\n3.6. Do not create a link to the site, from any website or display the site on another site, except with the prior written consent of the company to create the link and how it is created.\\n3.7. Any transmission or information transmitted by the registered user to the site will not be protected by copyright law, the registered user will not have any proprietary rights in the information, and the company will be entitled to make any use of the material as it sees fit. Also, the company will not be responsible for any use made by a third party of the information, in an authorized or unauthorized manner.\\n\\n4. Liability of the company\\n4.1. All content on the Site is provided \"AS IS\". The company does not express a position regarding the information presented on the site and will not bear responsibility, direct and / or indirect, for errors, inaccuracies, omissions, defects, etc. for the use of the site and will not be responsible for software, hardware or any other damage, direct and / or indirect, as a result of the use of the website and / or while using the website and / or as a result of the information presented on it, including damage that may be caused by viruses.\\n4.2. Despite the regular updating of the site, it is possible that the information published on this site will be partial. Therefore, it is recommended that the registered user obtain information independently, in addition to the information taken from this site.\\n4.3. The use of the website and its contents is the sole and complete responsibility of the user. No claim of any kind will be heard against the company and / or anyone on its behalf for any loss or damage resulting from reliance or use of the information provided on the site.\\n4.4. The company will not bear any responsibility for interruptions, malfunctions, viruses or any other factor that may interfere with or impair the services of the site and / or cause any damage. The Company will not be liable for any damage caused to the computer system and / or the user\\'s infrastructure and / or loss of information or any other damage resulting from the use of the site, including in the event a third party penetrates the information on the site or the company\\'s systems or its unauthorized use.\\n4.5. The company manages and operates the site on an ongoing basis and without interruptions as much as possible. However, there may be disruptions and / or interruptions and / or malfunctions in the activity of the site. The user is aware that there may be defects, delays and disruptions in the quality and availability of the service and that the company will not be responsible for any disruption and / or malfunction and / or any damage caused as a result - regardless of the cause of the malfunction.\\n4.6. The Website contains links to other websites which are not operated by the Company but by third parties. It is clarified that the company has no control over the linked sites and does not bear any responsibility for the content and services included in them or their availability. The inclusion of links to these sites on the site does not constitute an endorsement of the information and content contained therein. The user hereby waives any claim of any kind and type towards the company and / or anyone on its behalf in connection with the linked sites.\\n4.7. The Company may remove from the Site links previously included in it or refrain from adding new links, and may also add links at any time, in its sole discretion.\\n\\n5. Privacy protection\\n5.1. The site offers services that require active user registration to the site. The registration includes providing personal details such as: e-mail box, consumer number, property number and more. It is also possible, but it is not necessary to update additional data such as number of persons and more.\\n5.2. It will be emphasized that registration for services on the site will be done at the sole decision and discretion of the user.\\n5.3. A user who chooses to register to the site, gives his consent to the company to receive messages on behalf of the company which will be updated in the user profile on the site.\\n5.4. The Company shall be entitled to do so.',\n PrivacyPolicyText:\n \"The site offers services that require active registration of the user to the site. The registration includes providing personal details such as: e-mail box, consumer number, property number and more. It is also possible, but it is not necessary to update additional data such as: garden area, number of persons and more.\\nIt will be emphasized that registration for services on the site will be done at the sole discretion of the user.\\nA user who chooses to register to the site, gives his consent to the company to receive messages on behalf of the company which will be updated in the user profile on the site.\\nThe company will be entitled to use the user's details, whether by itself or by anyone on its behalf, for various commercial, statistical and marketing needs, as well as for the purpose of improving the services provided on the site or for the purpose of contacting the user.\\n Without derogating from the company's rights as aforesaid, the company undertakes to do everything in its power to protect the private information provided to it by the user. The company will not provide the user details to any third party, except to the parties responsible for the operation of the site, including the municipal water corporation, as well as to any enforcement authority and / or according to a decision or court order.\",\n firstParagraph:\n \"Today, the Internet is the largest repository of freedom of information for all users and users with disabilities in particular.\\n\" +\n \"\\n\" +\n \"As such, we place great importance on providing equal opportunity for people with disabilities to use the information displayed on the site and enable a better browsing experience.\\n\" +\n \"\\n\" +\n \"We strive to ensure that digital services are accessible to people with disabilities in the belief that every person deserves the right to live in equality, dignity, comfort, and independence.\\n\" +\n \"\\n\" +\n \"To fulfill this promise, we strive to adhere as much as possible to the recommendations of the Israeli Standard for Internet Content Accessibility and the international WCAG2.1 document.\",\n howAccessibilityWork: \"How does website accessibility work?\",\n howAccessibilityWorkFirstRow:\n \"The website houses an accessibility menu of a website\",\n howAccessibilityWorkFirstRowLink: \"accessibility company.\",\n howAccessibilityWorkFirstRowEnd: \"NagishBeclick.\",\n howAccessibilityWorkSecondRow:\n \"Pressing the menu allows you to open the accessibility buttons. After selecting a menu item, wait for the page to load.\",\n howAccessibilityWorkThirdRow:\n \"The software works in popular browsers: Chrome, Firefox, Safari, Opera, Subject to\",\n howAccessibilityWorkThirdRowLink: \"manufacturer's terms.\",\n howAccessibilityListHeader: \"Accessibility options in the menu:\",\n howAccessibilityWorkList:\n \"Adaptation for keyboard navigation - Enabling keyboard navigation\\n\" +\n \"Screen reader adaptation - Adapt the site for assistive technologies such as NVDA , JAWS\\n\" +\n \"Blocking the flickers - Stopping moving elements and blocking the flickers\\n\" +\n \"Increase the site font to 4 different sizes\\n\" +\n \"Contrast adjustments - change the contrast of site colors\\n\" +\n \"Adapting the site to color blind people\\n\" +\n \"Change the font to more readable\\n\" +\n \"Enlarge the cursor and change its color to black or white\\n\" +\n \"Increase the display to about 200%\\n\" +\n \"Highlighting links on the site\\n\" +\n \"Highlighting headlines on the site\\n\" +\n \"Displays an alternative description for images\\n\" +\n \"Accessibility statement\\n\" +\n \"Sending accessibility feedback\",\n accessibilityIssues: \"Contact about accessibility issues\",\n accessibilityIssuesRow:\n \"If while browsing the website you have difficulty accessing issues, the company's accessibility team is at your disposal in a variety of channels for accessing issues, we will be happy to receive feedback from you.\",\n accessibilityContactName: \"Name: Customer\",\n accessibilityContactNameBold: \"Service Department\",\n accessibilityDate: \"Date of updating the statement 1/2/2023\",\n buttons: {\n back: \"BACK\",\n cancel: \"CANCEL\",\n changePassword: \"CHANGE PASSWORD\",\n confirm: \"CONFIRM\",\n continue: \"CONTINUE\",\n defineDates: \"DEFINE DATES\",\n finish: \"FINISH\",\n getCode: \"GET CODE\",\n register: \"REGISTER\",\n logIn: \"LOG IN\",\n resetPassword: \"RESET PASSWORD\",\n save: \"SAVE\",\n savePassword: \"SAVE PASSWORD\",\n seeDetails: \"SEE DETAILS\",\n sendInstructions: \"SEND INSTRUCTIONS\",\n signUp: \"SIGN UP\",\n logOut: \"LOG OUT\",\n },\n \"AlertsTitles\": {\n \"AboveMaximumConsumption\": \"Above Maximum Consumption\",\n \"AboveAverageConsumption\": \"Above Average Consumption\",\n \"SuspectedLeak\": \"Consumption Above Average - Suspected Leak\",\n \"PossibleLeak\": \"Leak\",\n \"AnnualRationExceeded\": \"Annual Ration Achieved\",\n \"MonthlyRationExceededTitle\": \"Monthly Ration Achieved\",\n \"DailyUsageDuringVacation\": \"Consumption During Vacation\",\n \"BillingCycleConsumptionLimit\": \"Billing Cycle Consumption Limit\",\n \"PossibleLeakInMainMeter\": \"Leak In Main Meter\",\n \"AlertIdNotFound\": \"Alert\",\n 'OldReading': \"Old Reading\",\n 'NetworkError': \"Network Error\",\n 'InvalidData': \"Invalid Data\",\n \"LeakGroups\": \"Leak Groups\",\n \"CommonUsageGroups\": \"Common Usage Groups\",\n \"NegativeLeakGroups\": \"Negative Leak Groups\",\n \"NegativeCommonUsageGroups\": \"Negative Common Usage Groups\",\n \"HighCommonConsumption\": \"High Common Consumption\",\n \"NegativeCommonConsumption\": \"Negative Common Consumption\",\n \"NegativeConsumption\": \"Negative Consumption\",\n \"InactiveMeter\": \"Inactive Meter\",\n \"BelowMinimumConsumption\": \"Below Minimum Consumption\",\n \"BelowAverageConsumption\": \"Below Average Consumption\",\n \"InactiveCompoundMeter\": \"Inactive Compound Meter\",\n \"Tamper\": \"Tamper\",\n \"CutWire\": \"Cut Wire\",\n \"LowBattery\": \"Low Battery\",\n \"CCWRead\": \"CCW Read\",\n \"NoTransmission\": \"No Transmission\",\n \"HighFlow\": \"High Flow\",\n \"LowFlow\": \"Low Flow\",\n \"AboveUpperBound\": \"Above Upper Bound\",\n \"BelowLowerBound\": \"Below Lower Bound\",\n \"ManualReadMissing\": \"Manual Read Missing\",\n \"FlowAboveQMax\": \"Flow Above QMax\",\n \"WrongMeterSN\": \"Wrong Meter SN\",\n \"MeasurementFail\": \"Measurement Fail\",\n \"MeterBoxOpen\": \"Meter Box Open\",\n \"Tilt\": \"Tilt\",\n \"DisassembledMeter\": \"Disassembled Meter\",\n \"EmptyTanks\": \"Empty Tanks\",\n \"WrongSequence\": \"Wrong Sequence\",\n \"GasTankBelowCriticalLevel\": \"Gas Tank Below Critical Level\",\n \"StaticReadOnGasTank\": \"Static Read On Gas Tank\",\n \"RTCImprecision\": \"RTC Imprecision\",\n \"UnitReset\": \"Unit Reset\",\n \"SensorFailure\": \"Sensor Failure\",\n \"DryChamber\": \"Dry Chamber\",\n \"Freeze\": \"Freeze\",\n \"SlaveBatteryLow\": \"Slave Battery Low\",\n \"HydrantNoCommunication\": \"Hydrant No Communication\",\n \"HydrantTamper\": \"Hydrant Tamper\",\n \"SolitaryPeopleStaticMeter\": \"Solitary People Static Meter\"\n },\n \"MessageSubjectsMap\": {\n \"UpdateInformation\": \"Update Information\",\n \"ReadAbnormalConsumption\": \"Read/Abnormal Consumption\",\n \"Leak\": \"Leak\",\n \"WaterMeter\": \"Water Meter\",\n \"WaterBill\": \"Water Bill\",\n \"Other\": \"Other\"\n }\n};\n","export const translationAR = {\n 1: \"خطأ في النظام\",\n 401: \"طلب غير مصرح به ، المستخدم غير موجود\",\n 403: \"ممنوع\",\n 429: \"طلب غير مصرح به ، معدل طلب المستخدم تجاوز الحد\",\n 500: \"خطأ في الخادم الداخلي\",\n 1100: \"طلب الموضوع فارغ\",\n 4033: \"النطاق غير كاف ، النطاق المطلوب غير موجود\",\n 5000: \"البيانات غير صحيح\",\n 5010: \"كلمة المرور غير صحيح\",\n 5020: \"رمز اللغة غير صحيح\",\n 5030: \"نطاق التواريخ خاطئ\",\n 5040: \"رقم العداد غير صحيح\",\n 5050: \"بريد إلكتروني غير صحيح\",\n 5060: \"فشل تسجيل الدخول ، تأكد من صحة جميع التفاصيل\",\n 5061: \"رمز التحقق غير صحيح\",\n 5070: \"رمز إعادة التعيين غير صحيح\",\n 5080: \"الزر غير صحيح\",\n 5090: \"Redis لا يمكن الحصول على بيانات الاعتماد من\",\n 5450: \"فشل في تسجيل المستخدم\",\n 5451: \"فشل مصادقة المستخدم\",\n 5452: \"فشل في تلقي ملف السجل\",\n 5600: \"رقم التطبيق غير صحيح\",\n 5601: \"الدور يتطلب معرف تطبيق مختلف\",\n 10000: \"خطأ في تسجيل الدخول\",\n 10002: \"لم يتم العثور على المستخدم. السبب المحتمل: إدخال رمز خاطئ أو انتهاء صلاحية الرمز\",\n 10010: \"تحليل رقم الهاتف خطأ\",\n 10020: \"رقم الهاتف غير صحيح\",\n 10030: \"رقم الهاتف غير موجود\",\n 10040: \"المستهلك مسجل بالتطبيق\",\n 10050: \"البلدية غير موجود\",\n 10060: \"لم يتم العثور على عدادات المستهلك\",\n 10070: \"Redis معلومات تسجيل المستهلك غير موجودة في\",\n 10080: \"البريد الإلكتروني مستخدم بالتطبيق\",\n 10090: \"لا يمكن إنشاء المستخدم\",\n 10100: \"رمز التسجيل خاطئ\",\n 10110: \"نوع الزبون غير معروف\",\n 10120: \"كلمة المرور لا تلبي الحد الأدنى من المتطلبات\",\n 10130: \"المستخدم غير مسجل\",\n 10140: \"نوع رقم هاتف غير مدعوم\",\n 10150: \"لا يمكن العثور على المستخدم بالبريد الإلكتروني المقدم\",\n 10160: \"لا تتوافر بيانات\",\n 10170: \"لا يمكن استرداد رقم الحساب\",\n 10180: \"انتهت صلاحية كلمة المرور\",\n 10190: \"انتهت صلاحية رمز إعادة تعيين كلمة المرور\",\n 10200: \"غير قادر على إعادة تعيين كلمة المرور\",\n 10210: \"كلمة المرور تساوي إحدى كلمات المرور السابقة\",\n 10220: \"المستخدم غير فعال\",\n 10230: \"لم يتم تحقق رمز التسجيل\",\n 10240: \"تم إغلاقه الحساب\",\n 10250: \"لا يمكن تغيير حالة تمكين المستخدم\",\n 10260: \"عتبة نسبة الاستلام غير صحيح\",\n 10270: \"التعليق طويل جدًا\",\n 10280: \"رقم الحساب غير موجود\",\n 10290: \"البيانات غير صحيح\",\n 10300: \"البيانات موجودة\",\n 10310: \"عتبة النسبة المئوية لعداد القراءة غير صحيحة\",\n 10327: \"رقم الهاتف مخصص لحسابات متعددة\",\n 10404: \"لم يتم العثور على البيانات\",\n 10520: \"إجراء غير صحيح\",\n 16000: \"طلب الموضوع فارغ\",\n 16001: \"طلب النص فارغ\",\n 17000: \"المنطقة الزمنية غير محددة للبلدية\",\n 17001: \"المنطقة الزمنية غير صحيحة\",\n 17002: \"تاريخ الاستلام غير صحيح\",\n 17003: \"الفاصل الزمني للزيارة غير صحيح\",\n 110000: \"طلب النص فارغ\",\n 11000: \"اختر الموضوع\",\n LogIn: \"تسجيل الدخول\",\n REGISTERED_EMAIL: \"بريد الكتروني المسجل\",\n WATER_ADVISOR_PASSWORD: \"كلمه السر\",\n fullName: \"الاسم الكامل\",\n code: \"الشيفرة\",\n TermsofUse: \"تعليمات الاستخدام\",\n TermsOfUse: \"تعليمات الاستخدام\",\n TermsOfUseTitle: \"Terms of Use\",\n sendInstructions:\n \"أدخل بريدك الإلكتروني أدناه وسنرسل لك التعليمات حول كيفية إعادة تعيين كلمة المرور الخاصة بك\",\n cancel: \"الغاء\",\n name: \"الاسم\",\n MonitorRealTimeConsumption:\n \"راقب استهلاكك للمياه من خلال البيانات والتنبيهات والتحليلات في الوقت الحالي\",\n Context: \"سياق الكلام\",\n CustomerService: \"خدمة الزبائن\",\n Flexibility: \"المرونة\",\n ReceiveAlerts: \"تلقي التنبيهات\",\n DailyUsageLimit: \"تحديد الاستخدام اليومي\",\n from: \"من\",\n to: \"الى\",\n RealTimeAlerts: \"تنبيهات في الوقت الفعلي\",\n ApplicationPrivacyStatement: \"بيان خصوصية التطبيق\",\n Contact: \"الدعم التقني\",\n FooterContact: \"الدعم التقني\",\n AllRightsReserve: \"جميع الحقوق محفوظة © 2023 Read Your Meter Pro\",\n AboutUs: \"معلومات عنا\",\n UserGuide: \"دليل المستخدم\",\n FAQ: \"التعليمات\",\n ChooseWaterMeter: \"اختر عداد المياه\",\n AllWaterMeters: \"كل عدادات المياه\",\n ok: \"نعم\",\n Minimum: \"الحد الأدنى\",\n Total: \"المجموع\",\n Average: \"المعدل\",\n Welcome: \"أهلا بك\",\n Data: \"تاريخ\",\n Consumption: \"الاستهلاك\",\n OK: \"نعم\",\n Maximum: \"الحد الأقصى\",\n Monthly: \"شهريا\",\n Daily: \"اليومي\",\n Hourly: \"كل ساعة\",\n Status: \"تنبيه\",\n HOME: \"الصفحة الرئيسية\",\n Home: \"الصفحة الرئيسية\",\n SETTINGS: \"إعدادات\",\n ALERTS: \"رسائل\",\n NoInternetConnection: \"لا يوجد اتصال بالإنترنت\",\n AboutMasterMeter: \"\",\n aboutText: \"\",\n AdminLogIn: \"دخول المسؤول\",\n USERNAME: \"اسم المستخدم\",\n PASSWORD: \"كلمة المرور\",\n ForgotPassword: \"لقد نسيت كلمة المرور\",\n Back: \"رجوع\",\n Report: \"تقرير\",\n alertInfoText: \"يحتوي نظام القراءة التلقائي لمرفق المياه الخاص بك على\\n اكتشف تنبيه تسرب مشتبه به. تم الكشف عن هذا التنبيه\\n عندما يكون هناك استخدام مستمر للمياه لمدة 24\\n ساعات. يمكن أن يكون سبب الاستخدام العالي للمياه هو الاستخدام الحقيقي ،\\n تسرب في الخط ، أو مشكلة في أحد المياه الخاصة بك\\n الأجهزة (خرطوم تسرب).\",\n callUs: \"اتصل بنا إذا كنت بحاجة إلى أي مساعدة\",\n WaterMeter: \"عداد مياه\",\n waterMeter: \"عداد مياه\",\n automaticReadingSystem: \"يحتوي نظام القراءة التلقائي لمرفق المياه الخاص بك على\\n اكتشف تنبيه تسرب مشتبه به. تم الكشف عن هذا التنبيه\\n عندما يكون هناك استخدام مستمر للمياه لمدة 24\\n ساعات. يمكن أن يكون سبب الاستخدام العالي للمياه هو الاستخدام الحقيقي ،\\n تسرب في الخط ، أو مشكلة في أحد المياه الخاصة بك\\n الأجهزة (خرطوم تسرب).\",\n errorOccurred: \"حدث خطأ غير معروف.\",\n privacyText: \"\",\n websiteTerms: \"اقرأ شروط استخدام موقع Meter Pro الخاص بك\",\n acceptance: \"قبول شروط الاستخدام\",\n termsText: \"\",\n setMonthlyTitle: \"تحديد حد الاستخدام أثناء التواجد بعيدًا\",\n VacationDates: \"مواعيد الاجازات\",\n ChooseDate: \"اختر التاريخ\",\n EmailAlert: \"تنبيه عبر البريد الإلكتروني\",\n SMSAlert: \"تنبيه عبر الرسائل القصيرة\",\n waterDesc: \"كل عداد المياه\",\n BillingCycle: \"استهلاك الماء\",\n CurrentBillingCycle: \"استهلاك الشهر الحالي\",\n BillingCycleLimit: \"قيمة الحد الادنى شهريا:\",\n Update: \"تحديث\",\n SetBillingCycleLimit: \"تعيين حد دورة الفواتير\",\n getInformed:\n \"احصل على معلومات حول استهلاك المياه أثناء تواجدك بعيدًا عن المنزل\",\n CancelVacation: \"إلغاء التنبيه\",\n waterConsumption: \"استهلاك الماء\",\n compareToPreviousYear: \"مقارنة بالعام السابق\",\n tab2Heading: \"أنا مقابل الأسر المماثلة\",\n WaterUsageForBillingCycle: \" المياه المستخدمة لدورة الفاتورة\",\n EndOfBillingCycleForecast: \"توقعات نهاية الشهر\",\n CurrentMeterReading: \"قراءة العداد الحالية\",\n getInformedMob:\n \"احصل على معلومات حول استهلاك المياه أثناء تواجدك بعيدًا عن المنزل\",\n OnlineYourWorldWater: \"الوصول عبر الإنترنت إلى عالمك المائي الخاص بك\",\n MyWaterAdvisor: \"Read Your Meter Pro\",\n Empowerment: \"التمكين\",\n KnowledgeOfHowUseWaterEmpower:\n \"معرفة كيف ومتى نستخدم تمكين الحفاظ على المياه\",\n Clarity: \"وضوح\",\n BetterUnderstand:\n \"فهم أفضل لكمية المياه المستخدمة في البستنة أو الأنشطة الأخرى\",\n CompareOnesUsage:\n \"قارن استخدامها مع الأسر المماثلة للحصول على برنامج حماية أكثر فعالية\",\n Safety: \"أمان\",\n MonitorUnexpected:\n \"راقب الاستخدام غير المتوقع أو غير المصرح به أثناء تواجدك في الإجازة\",\n mobileApps: \"متاح أيضًا لنظامي IOS و Android\",\n AppsAvailableForBothApple:\n \"تتوفر التطبيقات لكل من Apple iOS و Android ، والوصول إلى سطح المكتب عبر المتصفح المستند إلى السحابة\",\n SetBudget:\n \"قم بتعيين تنبيهات الميزانية لمفاجآت نهاية الشهر بالفواتير العالية\",\n InvalidMonthlyLimitSet: \"تم تعيين حد شهري غير صالح\",\n choosePassword: \"اختر كلمة مرور ترغب في استخدامها\",\n typePasswordAgain: \"اكتب كلمة المرور مرة أخرى\",\n ConfirmPassword: \"تأكيد كلمة المرور\",\n passwordDontMatch: \"كلمة المرور غير مطابقة\",\n emailsDontMatch: \"رسائل البريد الإلكتروني لا تتطابق\",\n passwordResetSuccessfully: \"تم إعادة تعيين كلمة المرور بنجاح.\",\n passwordError:\n \"يجب أن تحتوي كلمة المرور على أرقام وحروف. \\n يجب أن تحتوي كلمة المرور على 8 أحرف أو أكثر.\",\n changePassword: \"تغيير كلمة المرور\",\n enterCodeAgain: \"أدخل الرمز الذي تم إرساله عبر البريد الإلكتروني.\",\n email: \"البريد الإلكتروني\",\n emailAccessibility: \"البريد الإلكتروني\", \n mail: \"البريد الإلكتروني\",\n needHelp: \"تحتاج مساعدة؟ اتصل بمكتب المرافق الخاص بك\",\n SearchUtilityByName: \"ابحث عن أداة بالاسم\",\n JoinMyWaterAdvisor: \"تسجيل\",\n signUpWithPhone: \"قم بالتسجيل باستخدام رقم الهاتف الخليوي\",\n PhoneNumberRegistered: \"رقم الهاتف المسجل لدى المرافق أو مزود الخدمة\",\n signUpWithAccountNumber: \"سجل مع رقم الحساب\",\n billAccountNumber: \"رقم الحساب كما ظهر على الفاتورة\",\n callYourUtilityOffice: \"تحتاج مساعدة؟ اتصل بمكتب المرافق الخاص بك\",\n foundMonthlyWaterBill:\n \"يمكن العثور على اسم مرفق المياه الخاص بنا في فاتورة المياه الشهرية\",\n billAccountNumberUpperCase: \"رقم الحساب كما ظهر على فاتورتك\",\n billFullName: \"الاسم الكامل كما ظهر على فاتورتك\",\n billPropertyName: \"رقم الملكية كما ظهر على فاتورتك\",\n billMunicipality: \"حدد هيئة / مؤسسة المياه\",\n chooseMunicipality: \"اختر البلدية\",\n municipality: \"البلدية\",\n propertyNumber: \"رقم الخاصية\",\n smsCode: \"أدخل الرمز الذي تم إرساله عبر الرسائل القصيرة إلى الرقم\",\n validEmail: \"تقديم بريد إلكتروني صالح\",\n chooseNewPassword: \"اختر كلمة مرور جديدة لاستخدامها\",\n mustContain: \"أدخل 8 أحرف أو أكثر ، بما في ذلك الأبجدية الرقمية\",\n mustContain8Char: \"\",\n passwordCheck: \"أدخل 8 أحرف أو أكثر بما في ذلك الأرقام والحروف\",\n iAgree: \"بالتسجيل ، أنت توافق على\",\n Privacy: \"سياسة الخصوصية\",\n ofUse: \"من الاستخدام\",\n repeatEmail: \"كرر البريد الإلكتروني\",\n PhoneNumber: \"رقم التليفون\",\n Account: \"حساب\",\n wasNotFound: \"لم يتم العثور عليه\",\n pleaseTry: \"يرجى المحاولة مرة أخرى\",\n orRegisteringWith: \"أو التسجيل ب \",\n enterPrimaryCellPhoneProvider:\n \"أدخل رقم الهاتف الخلوي الأساسي المسجل لدى المرافق أو مزود الخدمة.\",\n phonePrefix: \"+1 US\",\n SetRealTimeAlerts: \"اضبط تنبيهات الوقت الفعلي وفقًا لتفضيلاتك\",\n Alerts: \"تنبيهات\",\n SuspectedLeak: \"اشتباه في تسرب\",\n BillingCycleConsumptionLimit: \"تحديد استهلاك دورة الفوترة\",\n DailyUsageDuringVacation: \"الاستخدام اليومي خلال الإجازة\",\n MyWaterMeters: \"عدادات المياه الخاصة بي\",\n AccountNumber: \"رقم حساب\",\n Edit: \"تعديل\",\n a: \"a\",\n MonthlyConsumptionLimit: \"حد الاستهلاك الشهري\",\n DailyUsageVacation: \" الاستخدام اليومي في الإجازة\",\n curPassword: \"كلمة السر الحالية الخاصة بك\",\n chgPassword: \"تغيير كلمة المرور\",\n EnterPhoneReceiveSMS: \"أدخل رقم هاتف محمول لتلقي التنبيهات\",\n and: \"وأيضا\",\n NewMessage: \"اتصل بنا\",\n Subject: \"موضوع\",\n Message: \"رسالة\",\n HasSent: \"تم إرسال الرسالة\",\n Send: \"ارسل\",\n ConsumptionBelowLimit: \"الاستهلاك بمعدل منخفض\",\n ConsumptionOverLimit: \"الاستهلاك بمعدل مرتفع\",\n btnDefineDays: \"تحديد التواريخ\",\n SystemMessages: \"التنبيهات\",\n Requests: \"الطلبات\",\n Return: \"رجوع\",\n AboveMaximumConsumption: \"اكتشف نظام القراءة التلقائي للأداة استهلاكًا أعلى من تنبيه القيمة القصوى. \\n يتم اكتشاف هذا التنبيه عندما يكون هناك استخدام يومي مرتفع للمياه. \\n يمكن أن يكون سبب الاستخدام المرتفع للمياه إما استخدامًا حقيقيًا أو مشكلة في أحد أجهزة المياه (مثل التسرب من الخزان ، والصمام المفتوح ، وما إلى ذلك). \\n يرجى مراجعة المشكلة وفي حالة وجود مشكلة ، قم بإصلاحها.\",\n AboveAverageConsumption: \"اكتشف نظام القراءة الأوتوماتيكي للأداة تنبيه استهلاك أعلى من المتوسط. \\n يتم اكتشاف هذا التنبيه عندما يكون استخدام المياه أعلى بكثير من ذلك في الشهر نفسه من العام الماضي. \\n يمكن أن يكون سبب الاستخدام المرتفع للمياه إما استخدامًا حقيقيًا أو مشكلة في أحد أجهزة المياه (مثل تسرب من الخزان ، فتح الصمام ، إلخ). \\n يرجى مراجعة المشكلة وفي حالة وجود مشكلة ، قم بإصلاحها.\",\n ConsumptionAboveAverageSuspectedLeak: \"اكتشف نظام القراءة التلقائي للأداة استهلاكًا أعلى من المتوسط ​​- تنبيه تسرب مشتبه به.\\n يتم الكشف عن هذا التنبيه عندما يكون استخدام المياه أعلى بكثير من ذلك في نفس الشهر من العام الماضي.\\n يمكن أن يكون سبب الاستخدام المرتفع للمياه إما استخدامًا حقيقيًا أو مشكلة في أحد أجهزة المياه (مثل التسرب من الخزان ، والصمام المفتوح ، وما إلى ذلك). \\n يرجى مراجعة المشكلة وفي حالة وجود مشكلة ، قم بإصلاحها\",\n Leak: \"اكتشف نظام القراءة التلقائي لمرفق المياه لديك تنبيهًا مشتبهًا في حدوث تسرب.\\n يتم الكشف عن هذا التنبيه عندما يكون هناك استخدام مستمر للمياه لمدة 24 ساعة.\\n يمكن أن يكون سبب الاستخدام المرتفع للمياه هو الاستخدام الحقيقي ، أو تسرب في الخط ، أو مشكلة في أحد أجهزة المياه الخاصة بك (خرطوم تسرب ، صمام مفتوح ، مرحاض ، إلخ).\\n يرجى مراجعة المشكلة وفي حالة وجود مشكلة ، قم بإصلاحها\",\n AnnualRationExceeded: \"\",\n MonthlyRationExceeded: \"\",\n ConsumptionDuringVacation: \"كشف نظام القراءة الآلي للمرافق عن تنبيه الاستهلاك أثناء الإجازة.\\n يتم اكتشاف هذا التنبيه عندما يكون الاستخدام اليومي للمياه أعلى من الحد الذي حددته لفترة الإجازة.\",\n LeakInMainMeter: \"اكتشف نظام القراءة التلقائي لمرفق المياه لديك تنبيهًا مشتبهًا في حدوث تسرب.\\n يتم الكشف عن هذا التنبيه عندما يكون هناك استخدام مستمر للمياه لمدة 24 ساعة.\\n يمكن أن يكون سبب الاستخدام المرتفع للمياه هو الاستخدام الحقيقي ، أو تسرب في الخط ، أو مشكلة في أحد أجهزة المياه الخاصة بك (صمام الري مفتوح).\\n يرجى مراجعة المشكلة وفي حالة وجود مشكلة ، قم بإصلاحها\",\n AccessibilityStatement: \"بيان إمكانية الوصول\",\n AccessibilityStatementTitle: \"بيان إمكانية الوصول\",\n AlertDate: \"تم تلقي التنبيه في\",\n replyInquiry: \"استفسار من\",\n inquiryFrom: \"الرد على الاستفسار من\",\n seeDetails: \"انظر التفاصيل\",\n ContactUs: \"اتصل بنا:\",\n Tel: \"الهاتف:\",\n HappyToAssist: \"ونحن سوف نكون سعداء لمساعدتك. ابق على تواصل معنا:\",\n InTouch: \"ARAD خدمة الزبائن\",\n isRequired: \"مطلوب\",\n notValidEmail: \" بريدًا إلكترونيًاغير صالحًا\",\n valueExceeded: \"تجاوزت القيمة\",\n symbols: \"حرف او رمز\",\n PasswordsNotEqual: \"كلمات المرور غير مطابقة\",\n ReplyOn: \"الرد\",\n JoinButton: \"تسجيل\",\n Login: \"تسجيل الدخول\",\n SignUp: \"اشتراك\",\n resetPassword: \"إعادة تعيين كلمة المرور\",\n estimateConsumption: \"تقدير\",\n READYOURMETER: \"عن Read your meter Pro \",\n realConsumption: \"حقيقي\",\n ResendCode: \"أعد إرسال الرمز\",\n invalidDates: \"تم تعيين تاريخ البدء / الانتهاء غير صالح\",\n CouldNotConfirmAlert: \"لا يمكن تأكيد التنبيه\",\n PasswordRecoveryFailed: \"فشل استعادة كلمة المرور\",\n PasswordChangedSuccessfully: \"تم تغيير الرقم السري بنجاح\",\n selectMeterForDates:\n \"يرجى تحديد عداد معين لتحديث الاستخدام أثناء تنبيه الإجازة\",\n TermsOfUseText:\n '1. General\\n1.1. Welcome to the website of Arad Measurement Technologies Ltd. (hereinafter: \"the Company\").\\n1.2. The Company operates website (the \"Website\") subject to your agreement to the terms and conditions as set forth below, and in accordance with the provisions of any law. By entering the site and / or performing the registration operation as a user of the site, you are considered to have accepted all the restrictions and conditions, without any reservations, only after you agree to the terms of use you are allowed to use the site.\\n1.3. Please read this page regarding the \"Terms of Use\" carefully before making any use of the Site. The terms of use listed here regulate the relationship between the user of the site and the company. The use of this website will be considered as your consent to everything stated on it. If you do not agree to the terms of use, you are asked to stop using the site immediately.\\n\\n2. The Website\\n2.1. This site is intended to enable the registered user to receive information about the his/her private water consumption as well as information related to the water supply by the municipal water corporation. The registered user may use the site and the information contained therein in accordance with the conditions set out on this page.\\n2.2. The information on the website is intended for the personal and private use of the registered user and is not intended for commercial use. You may not make changes, copy, distribute, display, reproduce, publish, or sell an item from the items of information, content, images, or publications originating from the Site, except with the expressed prior permission of the Company.\\n2.3. The Company reserves the right to adjust and / or update and / or improve and / or change and / or remove the contents of the site, in whole or in part, without any prior notice. The company reserves the right to restrict certain content and / or access to the site\\'s services, in whole or in part, and / or terminate its activities.\\n2.4. The information contained on the website as of the date of its publication.\\n\\n3. Intellectual Property\\n3.1. All content appearing on the site constitutes intellectual property, including one protected by patents and / or trademarks and / or one that constitutes a trade secret and / or copyright and / or any other right. The site contains intellectual property which is the exclusive property of the company and / or intellectual property of a third party according to the permission given to the company.\\n3.2. No commercial use may be made of the information and data published on the Site, including the images, designs, or any other data and information, except subject to the Company\\'s prior written consent.\\n3.3. The names and / or trademarks displayed on the website may not be used without the prior written consent of the company.\\n3.4. Content from the Site may not be displayed in any way, including by any software, device, or other means, whether those means alter the design of the Site or alter any content from the Site, and in particular commercial content, or not.\\n3.5. No use may be made of the information appearing on the website within the framework of another website and no data may be taken from the website for the purpose of displaying on another website, without the prior written consent of the company.\\n3.6. Do not create a link to the site, from any website or display the site on another site, except with the prior written consent of the company to create the link and how it is created.\\n3.7. Any transmission or information transmitted by the registered user to the site will not be protected by copyright law, the registered user will not have any proprietary rights in the information, and the company will be entitled to make any use of the material as it sees fit. Also, the company will not be responsible for any use made by a third party of the information, in an authorized or unauthorized manner.\\n\\n4. Liability of the company\\n4.1. All content on the Site is provided \"AS IS\". The company does not express a position regarding the information presented on the site and will not bear responsibility, direct and / or indirect, for errors, inaccuracies, omissions, defects, etc. for the use of the site and will not be responsible for software, hardware or any other damage, direct and / or indirect, as a result of the use of the website and / or while using the website and / or as a result of the information presented on it, including damage that may be caused by viruses.\\n4.2. Despite the regular updating of the site, it is possible that the information published on this site will be partial. Therefore, it is recommended that the registered user obtain information independently, in addition to the information taken from this site.\\n4.3. The use of the website and its contents is the sole and complete responsibility of the user. No claim of any kind will be heard against the company and / or anyone on its behalf for any loss or damage resulting from reliance or use of the information provided on the site.\\n4.4. The company will not bear any responsibility for interruptions, malfunctions, viruses or any other factor that may interfere with or impair the services of the site and / or cause any damage. The Company will not be liable for any damage caused to the computer system and / or the user\\'s infrastructure and / or loss of information or any other damage resulting from the use of the site, including in the event a third party penetrates the information on the site or the company\\'s systems or its unauthorized use.\\n4.5. The company manages and operates the site on an ongoing basis and without interruptions as much as possible. However, there may be disruptions and / or interruptions and / or malfunctions in the activity of the site. The user is aware that there may be defects, delays and disruptions in the quality and availability of the service and that the company will not be responsible for any disruption and / or malfunction and / or any damage caused as a result - regardless of the cause of the malfunction.\\n4.6. The Website contains links to other websites which are not operated by the Company but by third parties. It is clarified that the company has no control over the linked sites and does not bear any responsibility for the content and services included in them or their availability. The inclusion of links to these sites on the site does not constitute an endorsement of the information and content contained therein. The user hereby waives any claim of any kind and type towards the company and / or anyone on its behalf in connection with the linked sites.\\n4.7. The Company may remove from the Site links previously included in it or refrain from adding new links, and may also add links at any time, in its sole discretion.\\n\\n5. Privacy protection\\n5.1. The site offers services that require active user registration to the site. The registration includes providing personal details such as: e-mail box, consumer number, property number and more. It is also possible, but it is not necessary to update additional data such as number of persons and more.\\n5.2. It will be emphasized that registration for services on the site will be done at the sole decision and discretion of the user.\\n5.3. A user who chooses to register to the site, gives his consent to the company to receive messages on behalf of the company which will be updated in the user profile on the site.\\n5.4. The Company shall be entitled to do so.',\n PrivacyPolicyText:\n \"يقدم الموقع خدمات تتطلب التسجيل النشط للمستخدم في الموقع. يشمل التسجيل تقديم التفاصيل الشخصية مثل: صندوق البريد الإلكتروني ورقم المستهلك ورقم العقار والمزيد. من الممكن أيضًا ، ولكن ليس من الضروري تحديث بيانات إضافية مثل: منطقة الحديقة ، وعدد الأشخاص والمزيد. \\n سيتم التأكيد على أن التسجيل للخدمات على الموقع سيتم وفقًا لتقدير المستخدم وحده. \\n المستخدم الذي يختار التسجيل في الموقع ، يمنح موافقته للشركة لتلقي الرسائل نيابة عن الشركة والتي سيتم تحديثها في ملف تعريف المستخدم على الموقع. \\\\ n يحق للشركة استخدام تفاصيل المستخدم ، سواء من خلال نفسها أو من قبل أي شخص ينوب عنها ، لمختلف الاحتياجات التجارية والإحصائية والتسويقية ، وكذلك لغرض تحسين الخدمات المقدمة على الموقع أو لغرض الاتصال بالمستخدم. \\n دون الانتقاص من حقوق الشركة كما هو مذكور أعلاه ، تتعهد الشركة ببذل كل ما في وسعها لحماية المعلومات الخاصة التي يقدمها المستخدم لها. لن تقدم الشركة تفاصيل المستخدم إلى أي طرف ثالث ، باستثناء الأطراف المسؤولة عن تشغيل الموقع ، بما في ذلك شركة المياه البلدية ، وكذلك إلى أي سلطة تنفيذية و / أو بموجب قرار أو أمر محكمة.\",\n firstParagraph:\n \"في يومنا هذا، الشبكة العنكبوتية هي أكبر مستودع لحرية المعلومات لجميع المستخدمين والمستخدمين ذوي الإعاقة على وجه الخصوص.\\n\" +\n \"\\n\" +\n \"على هذا النحو ، فإننا نولي أهمية كبيرة لتوفير فرص متساوية للأشخاص ذوي الإعاقة لاستخدام المعلومات المعروضة على الموقع وتمكين تجربة تصفح التطبيق بشكل أفضل.\\n\" +\n \"\\n\" +\n \"نسعى جاهدين لضمان إتاحة الخدمات الرقمية للأشخاص ذوي الإعاقة إيمانًا منا بأن كل شخص يستحق الحق في العيش في ظل المساواة والكرامة والراحة والاستقلالية.\\n\" +\n \"\\n\" +\n \"للوفاء بهذا الوعد ، نسعى جاهدين للالتزام قدر الإمكان بتوصيات المعيار الإسرائيلي لإمكانية الوصول إلى محتوى الإنترنت ووثيقة WCAG2.1 الدولية.\",\n howAccessibilityWork: \"كيف تعمل إمكانية الوصول إلى الموقع الويب؟\",\n howAccessibilityWorkFirstRow:\n \"يضم موقع الويب قائمة إمكانية الوصول الخاصة بشركة إمكانية الوصول إلى الموقع.\",\n howAccessibilityWorkFirstRowLink: \"شركة إمكانية الوصول.\",\n howAccessibilityWorkFirstRowEnd: \"NagishBeclick.\",\n howAccessibilityWorkSecondRow:\n \"يتيح لك الضغط على القائمة فتح أزرار إمكانية الوصول. بعد تحديد عناصر القائمة ، انتظر حتى يتم تحميل الصفحة.\",\n howAccessibilityWorkThirdRow:\n \"يعمل البرنامج في المتصفحات الشائعة: Chrome و Firefox و Safari و Opera وشروط جهة التصنيع.\",\n howAccessibilityWorkThirdRowLink: \"شروط الشركة المصنعة.\",\n howAccessibilityListHeader: \"خيارات الوصول في القائمة:\",\n howAccessibilityWorkList:\n \"التكيف مع التنقل باستخدام لوحة المفاتيح - تمكين التنقل باستخدام لوحة المفاتيح\\n\" +\n \"تكييف قارئ الشاشة - تكييف الموقع للتقنيات المساعدة مثل NVDA و JAWS\\n\" +\n \"حجب الوميض - إيقاف العناصر المتحركة وسد الوميض\\n\" +\n \"تكبير خط الموقع إلى 4 أحجام مختلفة\\n\" +\n \"تعديلات التباين - تغيير تباين ألوان الموقع\\n\" +\n \"تكييف الموقع مع المكفوفين\\n\" +\n \"تغيير الخط إلى أكثر قابلية للقراءة\\n\" +\n \"قم بتكبير المؤشر وتغيير لونه إلى الأسود أو الأبيض\\n\" +\n \"زيادة العرض إلى حوالي 200٪\\n\" +\n \"إبراز الروابط الموجودة في الموقع\\n\" +\n \"تسليط الضوء على العناوين الرئيسية على الموقع\\n\" +\n \"يعرض وصفا بديلا للصور\\n\" +\n \"بيان إمكانية الوصول\\n\" +\n \"إرسال ملاحظات حول إمكانية الوصول\",\n accessibilityIssues: \"للاتصال حول مشاكل التواصل\", \n accessibilityIssuesRow:\n \"إذا كنت تواجه صعوبة في التواصل أثناء تصفح موقع الويب ، فإن فريق التقنيات التابع للشركة تحت تصرفك بوجود مجموعة متنوعة من القنوات للوصول إلى المشكلات ، ويسعدنا تلقي تعليقات منك.\",\n accessibilityContactName: \"الاسم: الزبون\", \n accessibilityContactNameBold: \"قسم الخدمات\",\n accessibilityDate: \"تاريخ تحديث البيان 1/2/2023\",\n Telephone: \"هاتف\", \n buttons: {\n back: \"خلف\",\n cancel: \"الغاء\",\n changePassword: \"تغيير كلمة المرور\",\n confirm: \"يتأكد\",\n continue: \"يكمل\",\n defineDates: \"تحديد التواريخ\",\n finish: \"ينهي\",\n getCode: \"الحصول على رمز\",\n register: \"تسجيل\",\n logIn: \"تسجيل الدخول\",\n resetPassword: \"إعادة تعيين كلمة المرور\",\n save: \"حفظ\",\n savePassword: \"حفظ كلمة المرور\",\n seeDetails: \"انظر التفاصيل\",\n sendInstructions: \"إعادة تعيين كلمة المرور\",\n signUp: \"اشتراك\",\n logOut: \"تسجيل خروج\",\n },\n \"AlertsTitles\": {\n \"AboveMaximumConsumption\": \"الاستهلاك فوق الحد الاقصى\",\n \"AboveAverageConsumption\": \"الاستهلاك فوق المعدل\",\n \"SuspectedLeak\": \"استهلاك فوق المتوسط\",\n \"PossibleLeak\": \"اشتباه في التسرب\",\n \"AnnualRationExceeded\": \"تم تحقيق الحصة السنوية\",\n \"MonthlyRationExceededTitle\": \"تم تحقيق الحصة الشهرية\",\n \"DailyUsageDuringVacation\": \"استهلاك أثناء الإجازة\",\n \"BillingCycleConsumptionLimit\": \"حد استهلاك في دورة الفوترة\",\n \"PossibleLeakInMainMeter\": \"تسرب في الحداد الرئيسي\",\n \"AlertIdNotFound\": \"تنبيه\",\n 'OldReading': \"تنبيه\",\n 'NetworkError': \"تنبيه\",\n 'InvalidData': \"تنبيه\",\n \"LeakGroups\": \"تنبيه\",\n \"CommonUsageGroups\": \"تنبيه\",\n \"NegativeLeakGroups\": \"تنبيه\",\n \"NegativeCommonUsageGroups\": \"تنبيه\",\n \"HighCommonConsumption\": \"تنبيه\",\n \"NegativeCommonConsumption\": \"تنبيه\",\n \"NegativeConsumption\": \"تنبيه\",\n \"InactiveMeter\": \"تنبيه\",\n \"BelowMinimumConsumption\": \"تنبيه\",\n \"BelowAverageConsumption\": \"تنبيه\",\n \"InactiveCompoundMeter\": \"تنبيه\",\n \"Tamper\": \"تنبيه\",\n \"CutWire\": \"تنبيه\",\n \"LowBattery\": \"تنبيه\",\n \"CCWRead\": \"تنبيه\",\n \"NoTransmission\": \"تنبيه\",\n \"HighFlow\": \"تنبيه\",\n \"LowFlow\": \"تنبيه\",\n \"AboveUpperBound\": \"تنبيه\",\n \"BelowLowerBound\": \"تنبيه\",\n \"ManualReadMissing\": \"تنبيه\",\n \"FlowAboveQMax\": \"تنبيه\",\n \"WrongMeterSN\": \"تنبيه\",\n \"MeasurementFail\": \"تنبيه\",\n \"MeterBoxOpen\": \"تنبيه\",\n \"Tilt\": \"تنبيه\",\n \"DisassembledMeter\": \"تنبيه\",\n \"EmptyTanks\": \"تنبيه\",\n \"WrongSequence\": \"تنبيه\",\n \"GasTankBelowCriticalLevel\": \"تنبيه\",\n \"StaticReadOnGasTank\": \"تنبيه\",\n \"RTCImprecision\": \"تنبيه\",\n \"UnitReset\": \"تنبيه\",\n \"SensorFailure\": \"تنبيه\",\n \"DryChamber\": \"تنبيه\",\n \"Freeze\": \"تنبيه\",\n \"SlaveBatteryLow\": \"تنبيه\",\n \"HydrantNoCommunication\": \"تنبيه\",\n \"HydrantTamper\": \"تنبيه\",\n \"SolitaryPeopleStaticMeter\": \"تنبيه\"\n },\n \"MessageSubjectsMap\": {\n \"UpdateInformation\": \"تحديث التفاصيل\",\n \"ReadAbnormalConsumption\": \"قراءة / استهلاك غير منطقي\",\n \"Leak\": \"تسرب\",\n \"WaterMeter\": \"عداد المياه\",\n \"WaterBill\": \"فاتورة الماء\",\n \"Other\": \"اخر\"\n }\n};\n","export const translationES = {\n 1: \"Error en el sistema\",\n 401: \"Solicitud no autorizada, el usuario no existe\",\n 403: \"Prohibido\",\n 429: \"Solicitud no autorizada, la tasa de solicitud del usuario excedió el límite\",\n 500: \"Error de servidor interno\",\n 1100: \"Solicitud de asunto vacío\",\n 4033: \"Alcance insuficiente, alcance requerido no encontrado\",\n 5000: \"Datos invalidos\",\n 5010: \"Confirmación de contraseña no válida\",\n 5020: \"Código de idioma no válido\",\n 5030: \"Rango de fechas incorrecto\",\n 5040: \"Recuento de metros no válido\",\n 5050: \"Email inválido\",\n 5060: \"Credenciales no válidas\",\n 5061: \"Captcha inválido\",\n 5070: \"Token de reinicio no válido\",\n 5080: \"Tecla inválida\",\n 5090: \"No se pueden obtener credenciales de Redis\",\n 5450: \"No se pudo registrar el usuario\",\n 5451: \"Error al autenticar al usuario\",\n 5452: \"Error al recibir el archivo LOG\",\n 5600: \"Identificación de la aplicación no válida\",\n 5601: \"La función requiere un ID de aplicación diferente\",\n 10000: \"Error de inicio de sesión\",\n 10002:\n \"Usuario no encontrado. Posible motivo: código incorrecto ingresado o código caducado\",\n 10010: \"Error al analizar el número de teléfono\",\n 10020: \"Numero de telefono invalido\",\n 10030: \"Número de teléfono no encontrado\",\n 10040: \"Consumidor registrado ya\",\n 10050: \"Consumidor Municipal No Existe\",\n 10060: \"Medidores de consumo no encontrados\",\n 10070: \"Detalles de registro del consumidor no encontrados en Redis\",\n 10080: \"Correo electrónico en uso ya\",\n 10090: \"No se puede crear usuario\",\n 10100: \"Código de registro incorrecto\",\n 10110: \"Tipo de cliente no admitido\",\n 10120: \"La contraseña no cumple con los requisitos mínimos\",\n 10130: \"Usuario no registrado\",\n 10140: \"Tipo de número de teléfono no compatible\",\n 10150:\n \"No se puede encontrar el usuario con el correo electrónico proporcionado\",\n 10160: \"Datos no disponibles\",\n 10170: \"No se puede recuperar el número de cuent\",\n 10180: \"La contraseña expiró\",\n 10190: \"Token de restablecimiento de contraseña caducado\",\n 10200: \"No se puede restablecer la contraseña\",\n 10210: \"La contraseña es igual a una de las anteriores\",\n 10220: \"Usuario inactivo\",\n 10230: \"El código de registro no fue validado\",\n 10240: \"Cuenta bloqueada\",\n 10250: \"No se puede cambiar el estado de activación del usuario\",\n 10260: \"Umbral de porcentaje de recepción no válido\",\n 10270: \"Comentario demasiado Largo\",\n 10280: \"Número de cuent inexistente\",\n 10290: \"Datos Invalidos\",\n 10300: \"Los datos ya existen\",\n 10310: \"Umbral de porcentaje de lectura de medidores no válido\",\n 10327: \"Umbral de porcentaje de lectura de medidores no válido\",\n 10404: \"Datos no encontrados\",\n 10520: \"Accion Invalida\",\n 16000: \"Solicitud de asunto vacío\",\n 16001: \"Solicitar texto vacío\",\n 17000: \"Zona horaria no definida para municipalidad\",\n 17001: \"Identificación de zona horaria no válida\",\n 17002: \"Fecha y hora de recepción no válida\",\n 17003: \"Intervalo de visita no válido\",\n 110000: \"Solicitar texto vacío\",\n 11000: \"Seleccione Asunto\",\n LogIn: \"Iniciar sesión\",\n REGISTERED_EMAIL: \"EMAIL REGISTRADO\",\n WATER_ADVISOR_PASSWORD: \"CONTRASEÑA\",\n fullName: \"Nombre Completo\",\n code: \"Código\",\n TermsofUse: \"Los términos de uso\",\n TermsOfUse: \"Los términos de uso\",\n TermsOfUseTitle: \"Los términos de uso\",\n sendInstructions:\n \"Ingrese su correo electrónico a continuación y le enviaremos las instrucciones sobre cómo restablecer su contraseña\",\n cancel: \"Cancelar\",\n name: \"Nombre\",\n MonitorRealTimeConsumption:\n \"Monitorea tu consumo de agua con datos, alertas y análisis en tiempo real\",\n Context: \"Contexto\",\n CustomerService: \"Servicio al Cliente\",\n Flexibility: \"Flexibilidad\",\n ReceiveAlerts: \"Recibir Alertas\",\n DailyUsageLimit: \"Límite de uso diario\",\n from: \"Desde\",\n to: \"Hasta\",\n RealTimeAlerts: \"Alertas en tiempo real\",\n ApplicationPrivacyStatement: \"Declaración de privacidad de la aplicación\",\n Contact: \"Soporte Técnico\",\n FooterContact: \"Soporte Técnico\",\n AllRightsReserve: \"Todos los derechos reservados ©2023 Read Your Meter Pro\",\n AboutUs: \"Acerca de Nosotros\",\n UserGuide: \"Guía del usuario\",\n FAQ: \"PREGUNTAS FRECUENTES\",\n ChooseWaterMeter: \"Selecciona el medidor de agua\",\n AllWaterMeters: \"Todos los medidores de agua\",\n ok: \"ok\",\n Minimum: \"Minimo\",\n Total: \"Total\",\n Average: \"Promedio\",\n Welcome: \"Bienvenido\",\n Data: \"Fecha\",\n Consumption: \"Consumo\",\n OK: \"OK\",\n Maximum: \"Maximo\",\n Monthly: \"Mensual\",\n Daily: \"Diario\",\n Hourly: \"Cada Hora\",\n Status: \"Alerta\",\n HOME: \"INICIO\",\n Home: \"Inicio\",\n READYOURMETER: \"acerca Read your meter Pro \",\n SETTINGS: \"CONFIGURACIÓN\",\n ALERTS: \"MENSAJES\",\n NoInternetConnection: \"Sin conexión a internet\",\n AboutMasterMeter: \"\",\n aboutText: \"\",\n AdminLogIn: \"Iniciar sesión de administrador\",\n USERNAME: \"USUARIO\",\n PASSWORD: \"Contraseña\",\n ForgotPassword: \"Olvide mi contraseña\",\n Back: \"Atras\",\n Report: \"Reporte\",\n alertInfoText:\n 'El sistema de lectura automática de su empresa de agua ha\\n detectado una alerta de \"fuga sospechosa\". Esta alerta se detecta\\n cuando hay un uso constante de agua durante un período de 24\\n horas. El motivo del nivel alto de agua el uso puede ser un uso genuino,\\n una fuga en la línea o un problema en uno de sus dispositivos\\n de agua (manguera con fugas).',\n callUs: \"Llamanos si necesitas alguna ayuda\",\n WaterMeter: \"Medidor de Agua\",\n waterMeter: \"medidor de agua\",\n automaticReadingSystem:\n 'El sistema de lectura automática de su empresa de agua ha\\n detectado una alerta de \"fuga sospechosa\". Esta alerta se detecta\\n cuando hay un uso constante de agua durante un período de 24\\n horas. El motivo del nivel alto de agua el uso puede ser un uso genuino,\\n una fuga en la línea o un problema en uno de sus dispositivos\\n de agua (manguera con fugas).',\n errorOccurred: \"Se ha producido un error desconocido.\",\n privacyText: \"\",\n websiteTerms: \"Lea los términos de uso del sitio web de Your Meter Pro\",\n acceptance: \"Aceptación de los Términos de Uso\",\n termsText: \"\",\n setMonthlyTitle: \"Definir límite de uso mientras está fuera\",\n VacationDates: \"Fechas de vacaciones\",\n ChooseDate: \"Selecciona la fecha\",\n EmailAlert: \"Alerta de email\",\n SMSAlert: \"Alerta SMS\",\n waterDesc: \"Todos los medidores de agua\",\n BillingCycle: \"Consumo de Agua\",\n CurrentBillingCycle: \"Consumo del mes actual\",\n BillingCycleLimit: \"Valor de umbral de tasa baja:\",\n Update: \"Actualización\",\n SetBillingCycleLimit: \"Establecer límite de ciclo de facturación\",\n getInformed: \"Infórmate sobre el consumo de agua fuera de casa\",\n CancelVacation: \"Cancelar alerta\",\n waterConsumption: \"CONSUMO DE AGUA\",\n compareToPreviousYear: \"COMPARAR CON EL AÑO ANTERIOR\",\n tab2Heading: \"Compararme contra hogares similares\",\n WaterUsageForBillingCycle: \"Uso de agua para el ciclo de facturación\",\n EndOfBillingCycleForecast: \"Pronóstico de fin de\",\n CurrentMeterReading: \"Lectura del medidor de corriente\",\n getInformedMob: \"Infórmate sobre el consumo de agua fuera de casa\",\n OnlineYourWorldWater: \"Acceso en línea a Tu Mundo de Agua\",\n MyWaterAdvisor: \"Read Your Meter Pro\",\n Empowerment: \"Empoderamiento\",\n KnowledgeOfHowUseWaterEmpower:\n \"El conocimiento de cómo y cuándo usamos el agua empodera la conservación\",\n Clarity: \"Claridad\",\n BetterUnderstand:\n \"Comprender mejor cuánta agua se utiliza para la jardinería u otras actividades\",\n CompareOnesUsage:\n \"Compare su uso con hogares similares para un programa de conservación más efectivo\",\n Safety: \"Seguridad\",\n MonitorUnexpected:\n \"Supervise el uso inesperado o no autorizado mientras está de vacaciones\",\n mobileApps: \"También disponible para IOS y Android\",\n AppsAvailableForBothApple:\n \"Aplicaciones disponibles para Apple iOS y Android, y acceso de escritorio con navegador basado en la nube\",\n SetBudget:\n \"Establezca alertas de presupuesto para terminar con las sorpresas de facturación alta de fin de mes\",\n InvalidMonthlyLimitSet: \"Límite mensual establecido no válido\",\n choosePassword: \"ELIJA UNA CONTRASEÑA QUE DESEE UTILIZAR\",\n typePasswordAgain: \"VOLVER A ESCRIBIR LA CONTRASEÑA\",\n ConfirmPassword: \"Confirmar contraseña\",\n passwordDontMatch: \"Las contraseñas no coinciden\",\n emailsDontMatch: \"Los correos no coinciden\",\n passwordResetSuccessfully: \"La contraseña se restableció correctamente\",\n passwordError:\n \"La contraseña debe contener números y letras.\\nLa contraseña debe contener 8 caracteres o más.\",\n changePassword: \"Cambiar contraseña\",\n enterCodeAgain: \"Ingrese el código que se envió por correo electrónico.\",\n email: \"Correo Electrónico\",\n emailAccessibility: \"Email\",\n mail: \"Correo Electrónico\",\n needHelp: \"¿Necesita ayuda? Llame a su oficina de servicios públicos\",\n SearchUtilityByName: \"Búsqueda de utilidad por nombre\",\n JoinMyWaterAdvisor: \"Registro\",\n signUpWithPhone: \"Registrar con número de celular\",\n PhoneNumberRegistered:\n \"Número de teléfono registrado con su proveedor de servicios públicos o servicios\",\n signUpWithAccountNumber: \"Registrar con número de cuent\",\n billAccountNumber: \"Número de cuent como aparecío en su factura\",\n callYourUtilityOffice:\n \"¿Necesita ayuda? Llame a su oficina de servicios públicos\",\n foundMonthlyWaterBill:\n \"El nombre de su servicio de agua se puede encontrar en la factura mensual de agua\",\n billAccountNumberUpperCase: \"NÚMERO DE CUENT COMO APARECIÓ EN SU FACTURA\",\n billFullName: \"NOMBRE COMPLETO COMO APARECIÓ EN SU FACTURA\",\n billPropertyName: \"NÚMERO DE PROPIEDAD COMO APARECIÓ EN SU FACTURA\",\n billMunicipality: \"Seleccione la Autoridad/Corporación del Agua\",\n chooseMunicipality: \"Elegir Municipalidad\",\n municipality: \"Municipalidad\",\n propertyNumber: \"Número de Propiedad\",\n smsCode: \"Ingrese el código que se envió por SMS al número\",\n validEmail: \"PROPORCIONE UN CORREO ELECTRÓNICO VÁLIDO\",\n chooseNewPassword: \"ELIJA UNA NUEVA CONTRASEÑA PARA UTILIZAR\",\n mustContain: \"Ingrese 8 caracteres o más, incluidos los alfanuméricos\",\n mustContain8Char: \"\",\n passwordCheck: \"Ingrese 8 caracteres o más, incluidos números y letras\",\n iAgree: \"Al registrarte, aceptas\",\n Privacy: \"La política de privacidad\",\n ofUse: \"de uso\",\n repeatEmail: \"Repite el correo electrónico\",\n registeredEmail: \"Correo electrónico registrado\",\n provideValidMail: \"Proporcione un correo electrónico válido\",\n PhoneNumber: \"Número de teléfono\",\n Account: \"Cuenta\",\n wasNotFound: \"no fue encontrado\",\n pleaseTry: \"Por favor, intente con otro\",\n orRegisteringWith: \"o registrar con\",\n enterPrimaryCellPhoneProvider:\n \"Ingrese el número de teléfono celular principal registrado con su proveedor de servicios públicos o de servicios\",\n phonePrefix: \"+506\",\n SetRealTimeAlerts: \"Configura alertas en tiempo real según tus preferencias\",\n Alerts: \"Alertas\",\n SuspectedLeak: \"Sospecha de fuga\",\n BillingCycleConsumptionLimit: \"Límite de consumo del ciclo de facturación\",\n DailyUsageDuringVacation: \"Uso diario durante las vacaciones\",\n MyWaterMeters: \"Mi Medidor de Agua\",\n AccountNumber: \"Número de Cuent\",\n Edit: \"Editar\",\n a: \"a\",\n MonthlyConsumptionLimit: \"Límite de consumo mensual\",\n DailyUsageVacation: \"Uso Diario en Vacaciones\",\n curPassword: \"TU CONTRASEÑA ACTUAL\",\n chgPassword: \"CAMBIAR CONTRASEÑA\",\n EnterPhoneReceiveSMS: \"Ingrese un número de celular para recibir alertas\",\n and: \"y\",\n NewMessage: \"Contactanos\",\n Subject: \"Asunto\",\n Message: \"Mensaje\",\n HasSent: \"El Mensaje fue enviado\",\n Send: \"Enviar\",\n ConsumptionBelowLimit: \"Consumo a tarifa baja\",\n ConsumptionOverLimit: \"Consumo a tarifa al\",\n btnDefineDays: \"Definir fechas\",\n SystemMessages: \"Alertas\",\n Requests: \"Solicitudes\",\n Return: \"Atras\",\n AboveMaximumConsumption:\n 'El sistema de lectura automática de la empresa de servicios públicos ha detectado una alerta de \"consumo por encima del valor máximo\".\\n Esta alerta se detecta cuando hay un alto uso diario de agua.\\n El motivo del alto uso de agua puede ser un problema genuino uso o un problema en uno de los dispositivos de agua (como una fuga de la cisterna, una válvula abierta, etc.).\\n Revise el problema y, si existe un problema, arréglelo.',\n AboveAverageConsumption:\n 'El sistema de lectura automática de la empresa de servicios públicos ha detectado una alerta de \"consumo superior al promedio\".\\n Esta alerta se detecta cuando el uso de agua es significativamente mayor que el del mismo mes del año pasado.\\n El motivo del nivel alto de agua el uso puede ser un uso genuino o un problema en uno de los dispositivos de agua (como una fuga de la cisterna, una válvula abierta, etc.). \\n Revise el problema y, si existe un problema, arréglelo.',\n ConsumptionAboveAverageSuspectedLeak:\n 'El sistema de lectura automática de la empresa de servicios públicos ha detectado una alerta de \"consumo superior al promedio - sospecha de fuga\".\\n Esta alerta se detecta cuando el uso de agua es significativamente mayor que el del mismo mes del año pasado. \\n El motivo para un alto uso de agua puede ser un uso genuino o un problema en uno de los dispositivos de agua (como una fuga de la cisterna, una válvula abierta, etc.). \\n Revise el problema y, si existe un problema, arréglelo.',\n Leak: 'El sistema de lectura automática de su empresa de agua ha detectado una alerta de \"fuga sospechosa\".\\n Esta alerta se detecta cuando hay un uso constante de agua durante un período de 24 horas.\\n El motivo del alto uso de agua puede ser un uso genuino, una fuga en la línea o un problema en uno de sus dispositivos de agua (manguera con fugas, válvula abierta, inodoro, etc.).\\n Revise el problema y, si existe, arréglelo.',\n AnnualRationExceeded: \"\",\n MonthlyRationExceeded: \"\",\n ConsumptionDuringVacation:\n 'El sistema de lectura automatizado de la empresa de servicios públicos ha detectado una alerta de \"Consumo durante las vacaciones\".\\n Esta alerta se detecta cuando el uso diario de agua supera el umbral que definió para el período de vacaciones.',\n LeakInMainMeter:\n 'El sistema de lectura automática de su empresa de agua ha detectado una alerta de \"fuga sospechosa\". \\n Esta alerta se detecta cuando hay un uso constante de agua durante un período de 24 horas. \\n El motivo del alto uso de agua puede ser uso genuino, una fuga en la línea o un problema en uno de sus dispositivos de agua (la válvula de riego está abierta).\\n Revise el problema y, si existe, soluciónelo',\n AccessibilityStatement: \"Declaración de accesibilidad\",\n AccessibilityStatementTitle: \"Accessibility Statement\",\n AlertDate: \"Alerta recibida el\",\n replyInquiry: \"Consulta de\",\n inquiryFrom: \"Responder a la consulta de\",\n seeDetails: \"VER DETALLES\",\n ContactUs: \"Contáctenos:\",\n Tel: \"Tel:\",\n HappyToAssist:\n \"Estaremos encantados de ayudarle. Póngase en contacto con nosotros:\",\n InTouch: \"Atención al cliente ARAD\",\n isRequired: \"es requerido\",\n notValidEmail: \"no es un correo valido\",\n valueExceeded: \"El valor fue superado\",\n symbols: \"simbolos\",\n PasswordsNotEqual: \"Las contraseñas no son iguales\",\n ReplyOn: \"Respuesta a la solicitud\",\n JoinButton: \"REGISTRAR\",\n Login: \"Inicio Sesión\",\n SignUp: \"Registrar\",\n resetPassword: \"Restablecer la contraseña\",\n estimateConsumption: \"Estimado\",\n realConsumption: \"Real\",\n ResendCode: \"Reenviar codigo\",\n invalidDates: \"Configuración de fecha de inicio/finalización no válida\",\n CouldNotConfirmAlert: \"No se pudo confirmar la alerta\",\n PasswordRecoveryFailed: \"Falló la recuperación de la contraseña\",\n PasswordChangedSuccessfully: \"Contraseña cambiada con éxito\",\n selectMeterForDates:\n \"Seleccione un medidor específico para actualizar el uso durante la alerta de vacaciones\",\n TermsOfUseText:\n '1. General\\n1.1. Bienvenido al sitio web de Arad Measurement Technologies Ltd. (en adelante: \"la Compañía\").\\n1.2. La Compañía opera el sitio web (el \"Sitio web\") sujeto a su aceptación de los términos y condiciones que se establecen a continuación, y de conformidad con las disposiciones de cualquier ley. Al ingresar al sitio y / o realizar la operación de registro como usuario del sitio, se considera que ha aceptado todas las restricciones y condiciones, sin ninguna reserva, solo después de aceptar los términos de uso, puede usar el sitio. .\\n1.3. Lea atentamente esta página sobre los \"Términos de uso\" antes de hacer cualquier uso del Sitio. Los términos de uso aquí enumerados regulan la relación entre el usuario del sitio y la empresa. El uso de este sitio web se considerará como su consentimiento a todo lo expuesto en el mismo. Si no está de acuerdo con los términos de uso, se le pide que deje de usar el sitio inmediatamente.\\n\\n2. El sitio web\\n2.1. Este sitio tiene como objetivo que el usuario registrado reciba información sobre su consumo privado de agua, así como información relacionada con el suministro de agua por parte de la corporación municipal de agua. El usuario registrado podrá utilizar el sitio y la información contenida en el mismo de acuerdo con las condiciones establecidas en esta página.\\n2.2. La información del sitio web está destinada al uso personal y privado del usuario registrado y no tiene fines comerciales. No puede realizar cambios, copiar, distribuir, exhibir, reproducir, publicar o vender un elemento de los elementos de información, contenido, imágenes o publicaciones que se originen en el Sitio, excepto con el permiso previo expreso de la Compañía.\\n2. 3. La Compañía se reserva el derecho de ajustar y/o actualizar y/o mejorar y/o cambiar y/o eliminar los contenidos del sitio, en su totalidad o en parte, sin previo aviso. La empresa se reserva el derecho de restringir determinados contenidos y/o el acceso a los servicios del sitio, total o parcialmente, y/o dar por terminadas sus actividades.\\n2.4. La información contenida en el sitio web a la fecha de su publicación.\\n\\n3. Propiedad Intelectual\\n3.1. Todo el contenido que aparece en el sitio constituye propiedad intelectual, incluido el protegido por patentes y/o marcas registradas y/o que constituye un secreto comercial y/o derechos de autor y/o cualquier otro derecho. El sitio contiene propiedad intelectual que es propiedad exclusiva de la empresa y/o propiedad intelectual de un tercero según el permiso otorgado a la empresa.\\n3.2. No se puede hacer ningún uso comercial de la información y los datos publicados en el Sitio, incluidas las imágenes, los diseños o cualquier otro dato e información, excepto con el consentimiento previo por escrito de la Compañía.\\n3.3. Los nombres y/o marcas comerciales que se muestran en el sitio web no pueden utilizarse sin el consentimiento previo por escrito de la empresa. \\n3.4. El contenido del Sitio no se puede mostrar de ninguna manera, incluso mediante ningún software, dispositivo u otros medios, ya sea que esos medios alteren el diseño del Sitio o cualquier contenido del Sitio, y en particular el contenido comercial, o no.\\n3.5. No se puede utilizar la información que aparece en el sitio web en el marco de otro sitio web y no se pueden tomar datos del sitio web con el fin de mostrarlos en otro sitio web, sin el consentimiento previo por escrito de la empresa.\\n3.6. No cree un enlace al sitio, desde ningún sitio web ni muestre el sitio en otro sitio, excepto con el consentimiento previo por escrito de la empresa para crear el enlace y cómo se crea.\\n3.7. Cualquier transmisión o información transmitida por el usuario registrado al sitio no estará protegida por la ley de derechos de autor, el usuario registrado no tendrá ningún derecho de propiedad sobre la información, y la empresa tendrá derecho a hacer cualquier uso del material como lo crea conveniente. . Asimismo, la empresa no será responsable del uso que un tercero haga de la información, de forma autorizada o no.\\n\\n4. Responsabilidad de la empresa\\n4.1. Todo el contenido del Sitio se proporciona \"TAL CUAL\". La empresa no expresa una posición con respecto a la información presentada en el sitio y no asumirá responsabilidad, directa y/o indirecta, por errores, inexactitudes, omisiones, defectos, etc. por el uso del sitio y no será responsable por el software. , hardware o cualquier otro daño, directo y/o indirecto, como resultado del uso del sitio web y/o durante el uso del sitio web y/o como resultado de la información presentada en él, incluidos los daños que puedan ser causados ​​por virus .\\n4.2. A pesar de la actualización periódica del sitio, es posible que la información publicada en este sitio sea parcial. Por lo tanto, se recomienda que el usuario registrado obtenga información de forma independiente, además de la información extraída de este sitio.\\n4.3. El uso del sitio web y sus contenidos es responsabilidad única y completa del usuario. No se volverán a escuchar reclamos de ningún tipo la empresa y / o cualquier persona en su nombre por cualquier pérdida o daño que resulte de la confianza o el uso de la información proporcionada en el sitio.\\n4.4. La empresa no asumirá ninguna responsabilidad por interrupciones, mal funcionamiento, virus o cualquier otro factor que pueda interferir o deteriorar los servicios del sitio y/o causar algún daño. La Compañía no será responsable por cualquier daño causado al sistema informático y/o a la infraestructura del usuario y/o pérdida de información o cualquier otro daño resultante del uso del sitio, incluso en el caso de que un tercero penetre la información en el sitio o los sistemas de la empresa o su uso no autorizado.\\n4.5. La empresa administra y opera el sitio de manera continua y sin interrupciones tanto como sea posible. Sin embargo, pueden existir alteraciones y/o interrupciones y/o mal funcionamiento en la actividad del sitio. El usuario es consciente de que puede haber defectos, retrasos e interrupciones en la calidad y disponibilidad del servicio y que la empresa no será responsable de ninguna interrupción y/o mal funcionamiento y/o cualquier daño causado como resultado, independientemente de la causa. del mal funcionamiento.\\n4.6. El sitio web contiene enlaces a otros sitios web que no son operados por la Compañía sino por terceros. Se aclara que la empresa no tiene control sobre los sitios enlazados y no se hace responsable de los contenidos y servicios incluidos en los mismos ni de su disponibilidad. La inclusión de enlaces a estos sitios en el sitio no constituye una probación de la información y el contenido que contiene. El usuario renuncia a cualquier reclamación de cualquier tipo y clase frente a la empresa y/o cualquiera en su nombre en relación con los sitios enlazados.\\n4.7. La Empresa podrá eliminar del Sitio los enlaces incluidos previamente en el mismo o abstenerse de añadir nuevos enlaces, pudiendo también añadir enlaces en cualquier momento, a su entera discreción.\\n\\n5. Protección de la privacidad\\n5.1. El sitio ofrece servicios que requieren el registro activo del usuario en el sitio. El registro incluye proporcionar datos personales tales como: casilla de correo electrónico, número de consumidor, número de propiedad y más. También es posible, pero no es necesario, actualizar datos adicionales como el número de personas y más.\\n5.2. Se enfatizará que el registro de los servicios en el sitio se realizará a la sola decisión y discreción del usuario.\\n5.3. Un usuario que elige registrarse en el sitio, da su consentimiento a la empresa para recibir mensajes en nombre de la empresa que se actualizarán en el perfil del usuario en el sitio.\\n5.4. La Compañía tendrá derecho a hacerlo.',\n PrivacyPolicyText:\n \"El sitio ofrece servicios que requieren el registro activo del usuario en el sitio. El registro incluye proporcionar datos personales como: casilla de correo electrónico, número de consumidor, número de propiedad y más. También es posible, pero es no es necesario actualizar datos adicionales tales como: área del jardín, número de personas y más.\\nSe enfatizará que el registro para los servicios en el sitio se realizará a discreción exclusiva del usuario.\\nUn usuario que elija registrarse en el sitio, da su consentimiento a la empresa para recibir mensajes en nombre de la empresa que se actualizarán en el perfil de usuario en el sitio.\\nLa empresa tendrá derecho a utilizar los datos del usuario, ya sea por sí misma o por cualquier persona en su nombre, para diversas necesidades comerciales, estadísticas y de marketing, así como con el fin de mejorar los servicios prestados en el sitio o con el fin de contactar al usuario.\\n Sin menoscabo de los derechos de la empresa antes mencionados, la empresa se compromete a hará todo lo que esté a su alcance para proteger la información privada que le proporcione el usuario. La empresa no facilitará los datos del usuario a ningún tercero, salvo a los responsables del funcionamiento del sitio, incluida la corporación municipal de aguas, así como a cualquier autoridad de aplicación y/o en virtud de una resolución u orden judicial.\",\n firstParagraph:\n \"Today, the Internet is the largest repository of freedom of information for all users and users with disabilities in particular.\\n\" +\n \"\\n\" +\n \"As such, we place great importance on providing equal opportunity for people with disabilities to use the information displayed on the site and enable a better browsing experience.\\n\" +\n \"\\n\" +\n \"We strive to ensure that digital services are accessible to people with disabilities in the belief that every person deserves the right to live in equality, dignity, comfort, and independence.\\n\" +\n \"\\n\" +\n \"To fulfill this promise, we strive to adhere as much as possible to the recommendations of the Israeli Standard for Internet Content Accessibility and the international WCAG2.1 document.\",\n howAccessibilityWork: \"How does website accessibility work?\",\n howAccessibilityWorkFirstRow:\n \"The website houses an accessibility menu of a website\",\n howAccessibilityWorkFirstRowLink: \"accessibility company.\",\n howAccessibilityWorkFirstRowEnd: \"NagishBeclick.\",\n howAccessibilityWorkSecondRow:\n \"Pressing the menu allows you to open the accessibility buttons. After selecting a menu item, wait for the page to load.\",\n howAccessibilityWorkThirdRow:\n \"The software works in popular browsers: Chrome, Firefox, Safari, Opera, Subject to\",\n howAccessibilityWorkThirdRowLink: \"manufacturer's terms.\",\n howAccessibilityListHeader: \"Accessibility options in the menu:\",\n howAccessibilityWorkList:\n \"Adaptation for keyboard navigation - Enabling keyboard navigation\\n\" +\n \"Screen reader adaptation - Adapt the site for assistive technologies such as NVDA , JAWS\\n\" +\n \"Blocking the flickers - Stopping moving elements and blocking the flickers\\n\" +\n \"Increase the site font to 4 different sizes\\n\" +\n \"Contrast adjustments - change the contrast of site colors\\n\" +\n \"Adapting the site to color blind people\\n\" +\n \"Change the font to more readable\\n\" +\n \"Enlarge the cursor and change its color to black or white\\n\" +\n \"Increase the display to about 200%\\n\" +\n \"Highlighting links on the site\\n\" +\n \"Highlighting headlines on the site\\n\" +\n \"Displays an alternative description for images\\n\" +\n \"Accessibility statement\\n\" +\n \"Sending accessibility feedback\",\n accessibilityIssues: \"Contact about accessibility issues\",\n accessibilityIssuesRow:\n \"If while browsing the website you have difficulty accessing issues, the company's accessibility team is at your disposal in a variety of channels for accessing issues, we will be happy to receive feedback from you.\",\n accessibilityContactName: \"Name: Customer\",\n accessibilityContactNameBold: \"Service Department\",\n accessibilityDate: \"Date of updating the statement 1/2/2023\",\n buttons: {\n back: \"Atrás\",\n cancel: \"Cancelar\",\n changePassword: \"Cambiar contraseña\",\n confirm: \"CONFIRMAR\",\n continue: \"CONTINUAR\",\n defineDates: \"DEFINIR FECHAS\",\n finish: \"FINALIZAR\",\n getCode: \"OBTENER CÓDIGO\",\n register: \"Registrar\",\n logIn: \"ACCESO\",\n resetPassword: \"Restablecer la contraseña\",\n save: \"GUARDAR\",\n savePassword: \"GUARDAR CONTRASEÑA\",\n seeDetails: \"VER DETALLES\",\n sendInstructions: \"Restablecer la contraseña\",\n signUp: \"Registrar\",\n logOut: \"CERRAR SESIÓN\",\n },\n \"AlertsTitles\": {\n \"AboveMaximumConsumption\": \"Consumo por encima del máximo\",\n \"AboveAverageConsumption\": \"Consumo por encima del promedio\",\n \"SuspectedLeak\": \"Consumo muy inusual\",\n \"PossibleLeak\": \"Sospecha de fuga\",\n \"AnnualRationExceeded\": \"Dotación anual alcanzada\",\n \"MonthlyRationExceededTitle\": \"Dotación mensual alcanzada\",\n \"BillingCycleConsumptionLimit\": \"Límite de consumo del ciclo de facturación\",\n \"DailyUsageDuringVacation\": \"Consumo durante ausencia\",\n \"PossibleLeakInMainMeter\": \"Fuga en contador general\",\n \"AlertIdNotFound\": \"Alerta\",\n 'OldReading': \"Alerta\",\n 'NetworkError': \"Alerta\",\n 'InvalidData': \"Alerta\",\n \"LeakGroups\": \"Alerta\",\n \"CommonUsageGroups\": \"Alerta\",\n \"NegativeLeakGroups\": \"Alerta\",\n \"NegativeCommonUsageGroups\": \"Alerta\",\n \"HighCommonConsumption\": \"Alerta\",\n \"NegativeCommonConsumption\": \"Alerta\",\n \"NegativeConsumption\": \"Alerta\",\n \"InactiveMeter\": \"Alerta\",\n \"BelowMinimumConsumption\": \"Alerta\",\n \"BelowAverageConsumption\": \"Alerta\",\n \"InactiveCompoundMeter\": \"Alerta\",\n \"Tamper\": \"Alerta\",\n \"CutWire\": \"Alerta\",\n \"LowBattery\": \"Alerta\",\n \"CCWRead\": \"Alerta\",\n \"NoTransmission\": \"Alerta\",\n \"HighFlow\": \"Alerta\",\n \"LowFlow\": \"Alerta\",\n \"AboveUpperBound\": \"Alerta\",\n \"BelowLowerBound\": \"Alerta\",\n \"ManualReadMissing\": \"Alerta\",\n \"FlowAboveQMax\": \"Alerta\",\n \"WrongMeterSN\": \"Alerta\",\n \"MeasurementFail\": \"Alerta\",\n \"MeterBoxOpen\": \"Alerta\",\n \"Tilt\": \"Alerta\",\n \"DisassembledMeter\": \"Alerta\",\n \"EmptyTanks\": \"Alerta\",\n \"WrongSequence\": \"Alerta\",\n \"GasTankBelowCriticalLevel\": \"Alerta\",\n \"StaticReadOnGasTank\": \"Alerta\",\n \"RTCImprecision\": \"Alerta\",\n \"UnitReset\": \"Alerta\",\n \"SensorFailure\": \"Alerta\",\n \"DryChamber\": \"Alerta\",\n \"Freeze\": \"Alerta\",\n \"SlaveBatteryLow\": \"Alerta\",\n \"HydrantNoCommunication\": \"Alerta\",\n \"HydrantTamper\": \"Alerta\",\n \"SolitaryPeopleStaticMeter\": \"Alerta\"\n },\n \"MessageSubjectsMap\": {\n \"UpdateInformation\": \"Actualizar detalles\",\n \"ReadAbnormalConsumption\": \"Lectura/consumo anormal\",\n \"Leak\": \"Fuga\",\n \"WaterMeter\": \"Medidor de agua\",\n \"WaterBill\": \"Factura de agua\",\n \"Other\": \"Otro\"\n }\n};\n","import i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport Translations from \"./translations\"\n\n// const lngDetector = new LanguageDetector()\n// lngDetector.addDetector({\n// name: 'customDetector',\n\n// lookup(options) {\n// // options -> are passed in options\n// return 'he';\n// },\n \n// cacheUserLanguage(lng, options) {\n// console.log('lng', lng);\n// if (lng.substring(0,2) === 'he')\n// localStorage.setItem('i18nextLng', 'he')\n// else\n// localStorage.setItem('i18nextLng', 'en')\n// }\n// },)\n\ni18n.use(LanguageDetector).init({\n // we init with resources\n detection: {\n // order and from where user language should be detected\n order: ['customDetector', 'querystring', 'cookie', 'localStorage', 'navigator', 'htmlTag']\n },\n\n resources: Translations.resources,\n lng: localStorage?.getItem('i18nextLng') ?? Translations.languages.find(languages => languages.lang === 'he').lang,\n fallbackLng: Translations.languages.find(languages => languages.lang === 'he').lang,\n debug: true,\n\n // have a common namespace used around the full app\n ns: [\"translations\"],\n defaultNS: \"translations\",\n\n // keySeparator: false, // we use content as keys\n\n interpolation: {\n escapeValue: false, // not needed for react!!\n formatSeparator: \",\"\n },\n\n react: {\n wait: true\n }\n});\n\nexport default i18n;\n","import i18next from \"../i18n\";\n\nexport default function images() {\n return (\n {\n rtl: i18next.dir() === 'rtl',\n logo: require('./App_Consumers_Logo 66_84.png'),\n icBack: require('./ic_back.svg'),\n icBackBlue: i18next.dir() === 'rtl' ? require('./ic_back_blue_heb.svg') : require('./ic_back_blue.svg'),\n icBigLock: require('./ic_big_lock.svg'),\n btnLogOut: i18next.dir() === 'rtl' ? require('./btnLogOutHe.svg') : require('./btn_log_out.svg'),\n icArrowRightBlue: i18next.dir() === 'rtl' ? require('./ic_arrow_left_blue.svg') : require('./ic_arrow_right_blue.svg'),\n btnLogin: i18next.dir() === 'rtl' ? require('./btn_login_he.svg') : require('./btn_login.svg'),\n btnSendInstructions: i18next.dir() === 'rtl' ? require('./btn_send_instructions_he.svg') : require('./btn_send_instructions.svg'),\n btnContinue: i18next.dir() === 'rtl' ? require('./btn_continue_he.svg') : require('./btn_continue.svg'),\n btnGetCode: i18next.dir() === 'rtl' ? require('./btn_get_code_he.svg') : require('./btn_get_code.svg'),\n btnSavePassword: i18next.dir() === 'rtl' ? require('./btn_save_password_he.svg') : require('./btn_save_password.svg'),\n btnSignUp: i18next.dir() === 'rtl' ? require('./btn_sign_up_he.svg') : require('./btn_sign up.svg'),\n btnFinishAndLogin: i18next.dir() === 'rtl' ? require('./btn_finish_he.svg') : require('./btn_finish.svg'),\n btnDefineDays: i18next.dir() === 'rtl' ? require('./defineDaysBtn.svg') : require('./btn_define_days.svg'),\n btnJoin: i18next.dir() === 'rtl' ? require('./btn_join_he.svg') : require('./btn_join.svg'),\n btnJoinMob: i18next.dir() === 'rtl' ? require('./btn_join_he.svg') : require('./btn_join_mob.svg'),\n btnLoginWhite: i18next.dir() === 'rtl' ? require('./btnLoginWhiteHe.svg') : require('./btn_log_in.svg'),\n btnLoginWhiteMob: i18next.dir() === 'rtl' ? require('./btnLoginWhiteHe.svg') : require('./btn_log_in_mob.svg'),\n btnBack: i18next.dir() === 'rtl' ? require('./btn_back_he.svg') : require('./btn_back.svg'),\n btnGooglePlay: require('./ic_google play.svg'),\n btnAppStore: require('./ic_app store.svg'),\n icClose: require('./ic_close.svg'),\n icOpenEyeGray: require('./ic_eye_open_gray.svg'),\n icBigGauge: require('./ic_big_gauge.svg'),\n btnChangePassword: i18next.dir() === 'rtl' ? require('./btnChangePasswordHe.svg') : require('./btn_change_password.svg'),\n btnSaveBlue: i18next.dir() === 'rtl' ? require('./btn_save_gray_he.svg') : require('./btn_save_blue.svg'),\n btnCancelWhite: i18next.dir() === 'rtl' ? require('./btn_cancel_white_he.svg') : require('./btn_cancel_white.svg'),\n btnConfirm: i18next.dir() === 'rtl' ? require('./btn_confirm_he.svg') : require('./btn_confirm.svg'),\n icWaterLimit: require('./ic_water_limit.svg'),\n icBigWaterLimit: require('./ic_water_limit.svg'),\n icVacation: require('./ic_vacation.svg'),\n icBigVacations: require('./ic_vacation.svg'),\n icFaucet: require('./ic_big_tap.svg'),\n icSmallCalendar: require('./ic_small_calendar.svg'),\n icLocation: require('./ic_location.svg'),\n lpImage: require('./landing_page_imageHe.png'),\n lpImageEn: require('./landing_page_image.png'),\n lpTopImage: require('./landing_page_top.svg'),\n lpLogo: require('./logo.svg'),\n bgWave: require('./bg_wave.svg'),\n bgWaveMob: require('./bg_wave_mob.svg'),\n bgWaveBottom: require('./bg_wave_bottom.svg'),\n icEmpowerment: require('./ic_empowerement.svg'),\n icFlexibility: require('./ic_flexibility.svg'),\n icCustomerService: require('./ic_custom service.svg'),\n icSafety: require('./ic_safety.svg'),\n icClarity: require('./ic_clarity.svg'),\n icContext: require('./ic_context.svg'),\n icBarChart: require('./ic_bar_chart.svg'),\n icBarChartSelected: require('./ic_bar_chart_selected.svg'),\n icTableChart: require('./ic_table_chart.svg'),\n icTableChartSelected: require('./ic_table_chart_selected.svg'),\n icPrinter: require('./printer.svg'),\n icExcel: require('./excel.svg'),\n lpTopImageMob: require('./landing_page_top_mob.svg'),\n lpImageMob: require('./landing_page_image_mob.svg'),\n icPhoneCall: require('./phone-call.svg'),\n placeholder: require('./placeholder.png'),\n aboutLogo: require('./about_logo.png'),\n SeeDetails: i18next.dir() === 'rtl' ? require('./btn_see_details_he.svg') : require('./btn_see_details.svg'),\n icAlerts: require('./ic_alerts.svg'),\n message: require('./ic_big_new message.svg'),\n IsrFlag: require('./israel.png'),\n UsFlag: require('./usa.png'),\n icAboveAverageConsumption: require('./ic_above_average_consumption.svg'),\n icAboveMaximumConsumption: require('./ic_above_maximum_consumption.svg'),\n icLeak: require('./ic_big_tap.svg'),\n icAnnualRationExceeded: require('./ic_annual_ration_exceeded.svg'),\n icMonthlyRationExceeded: require('./ic_monthly_ration_exceeded.svg'),\n icVacationExpense: require('./ic_vacation_expense/ic_vacation_expense.png'),\n icAboveAverageConsumptionBig: require('./ic_above_average_consumption_big.svg'),\n icAboveMaximumConsumptionBig: require('./ic_above_maximum_consumption_big.svg'),\n icLeakBig: require('./ic_big_tap.svg'),\n icAnnualRationExceededBig: require('./ic_annual_ration_exceeded_big.svg'),\n icMonthlyRationExceededBig: require('./ic_monthly_ration_exceeded_big.svg'),\n icVacationExpenseBig: require('./ic_vacation_expense/ic_vacation_expense_big.png'),\n LeakInMainMeterBig: require('./ic_big_water_meter.png'),\n LeakInMainMeter: require('./ic_water_meter.png'),\n lockIcon: require('./ic_big_padlock_white.png'),\n icDropDownArrow: require('./dropDownArrow.png')\n }\n )\n}\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./LanguageSwitcher.css\";\nimport i18next from \"../i18n\";\nimport translations from \"../translations\";\nimport moment from \"moment\";\nimport 'moment/locale/he';\nimport 'moment/locale/ar';\nimport 'moment/locale/es';\n\nclass LanguageSwitcher extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n language: i18next.language,\n };\n }\n\n componentDidMount() {\n // console.log(\"i18next.language\", i18next.language);\n // console.log(\"i18next.dir()\", i18next.dir());\n\n const isDefaultLanguage = translations.languages.every((value) => {\n return !translations.languages.includes(value);\n });\n\n if (isDefaultLanguage) {\n this.handleChangeLanguage(translations.languages[0].lang);\n }\n }\n\n handleChangeLanguage = (language) => {\n i18next.changeLanguage(language).then(() => this.setState({ language }));\n moment.locale(language);\n if (language === 'ar') {\n const symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n };\n const numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }\n moment.updateLocale('ar', {\n preparse: function (string) {\n return string.replace(/\\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function(string) {\n return string.replace(/\\d/g, function(match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n });\n }\n\n window.interdeal.SetLocale(language);\n // window.location.reload();\n };\n\n render() {\n let generalColor = 'white';\n if (this.props.color === 'black') generalColor = 'black';\n\n const separatorStyle = (index) =>\n i18next.dir() === \"ltr\"\n ? index !== translations.languages.length - 1\n ? \"separator \"\n : \"\"\n : index !== translations.languages.length - 1\n ? \"separatorRtl \"\n : \"\";\n\n return (\n <>\n {translations.languages.map((item, index) => {\n return (\n this.handleChangeLanguage(item.lang)}\n >\n {item.lang.replace(/^./, (str) => str.toUpperCase())}\n \n );\n })}\n \n );\n }\n}\n\nexport default withTranslation(\"translations\")(LanguageSwitcher);\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./Header.css\";\nimport images from \"../../images\";\nimport { Mobile } from \"../../App\";\nimport LanguageSwitcher from \"../../components/LanguageSwitcher\";\nimport i18next from \"../../i18n\";\n\nclass Header extends React.Component {\n render() {\n const { t } = this.props;\n return (\n \n {(matches) => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n );\n }\n\n _renderDesktop(t) {\n return (\n
\n
\n
\n \"Logo\"\n
\n
\n
\n {t(\"MyWaterAdvisor\")}\n
\n \n {t(\"OnlineYourWorldWater\")}\n
\n
\n
\n
\n \n
\n \n );\n }\n\n _renderMobile(t) {\n return (\n
\n
\n
\n \"Logo\"\n
\n
\n \n {t(\"MyWaterAdvisor\")}\n
\n \n {t(\"OnlineYourWorldWater\")}\n
\n
\n \n
\n \n
\n \n );\n }\n}\n\nexport default withTranslation(\"translations\")(Header);\n","import React from 'react';\nimport './Footer.css';\nimport {Link} from 'react-router-dom';\nimport {withTranslation} from \"react-i18next\";\n\nimport images from '../../images';\nimport {Mobile} from '../../App';\nimport RYM_He from '../../resources/RYM_He.pdf';\nimport RYM_En from '../../resources/RYM_En.pdf';\nimport i18next from '../../i18n';\n\nclass Footer extends React.Component {\n\n render() {\n const {t} = this.props\n return (\n \n {matches => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n );\n }\n\n _renderDesktop(t) {\n const {dropScreenID} = this.props;\n return (\n
\n \n \n {t('AllRightsReserve')}\n \n
\n \n

{\n e.preventDefault();\n this.props.openTerms();\n }}\n >\n {t('TermsOfUse')}\n

\n
\n

{\n e.preventDefault();\n this.props.openPrivacy();\n }}\n >\n {t('Privacy')}\n

\n
\n dropScreenID()}>\n {t('FooterContact')}\n \n
\n\n dropScreenID()}>\n {t('AccessibilityStatement')}\n \n\n
\n \n {t('FAQ')}\n \n
\n \n \"Logo\"/\n
{t('MyWaterAdvisor')}
\n
\n
\n );\n }\n\n _renderMobile(t) {\n const {dropScreenID} = this.props;\n return (\n
\n \n \"Logo\"/\n
\n {t('MyWaterAdvisor')}\n
\n
\n \n

{\n e.preventDefault();\n this.props.openTerms();\n }}\n >\n {t('TermsOfUse')}\n

\n
\n

{\n e.preventDefault();\n this.props.openPrivacy();\n }}\n >\n {t('Privacy')}\n

\n
\n dropScreenID()}>\n {t('FooterContact')}\n \n
\n\n dropScreenID()}>\n {t('AccessibilityStatement')}\n \n\n
\n \n {t('FAQ')}\n \n
\n
\n \n {t('AllRightsReserve')}\n \n
\n
\n );\n }\n}\n\nexport default withTranslation('translations')(Footer)\n","export default {\n // BASE_URL: 'https://test-api.city-mind.com',\n // SECOND_URL: 'https://test-api-ctm.city-mind.com',\n BASE_URL: process.env.REACT_APP_BASE_URL,\n SECOND_URL: process.env.REACT_APP_SECOND_URL,\n IOS_LINK: 'https://apps.apple.com/il/app/read-your-meter-pro/id1571281928?l=iw',\n ANDROID_LINK: 'https://play.google.com/store/apps/details?id=com.aradtec.rym',\n COLOR: {\n SKY_BLUE: '#66c0ff',\n PALE_SKY_BLUE: '#c2e8ff',\n CAROLINA_BLUE: '#8abeff',\n BABY_BLUE: '#a6deff',\n BABY_BLUE_2: '#b0cdff',\n CLEAR_BLUE: '#2b8fff',\n CLEAR_BLUE_2: '#2d7bfb',\n CLEAR_BLUE_3: '#2b74fa',\n DODGER_BLUE: '#3eb3f9',\n DODGER_BLUE_2: '#3eb2fa',\n DODGER_BLUE_3: '#5781ff',\n DUSK: '#46557a',\n WHITE_TWO: '#fafafa',\n WHITE_THREE: '#d9d9d9',\n AZURE: '#27aeff',\n COOL_GRAY: '#999ea8',\n ICE_BLUE: '#eaf4ff',\n ICE_BLUE_2: '#f7faff',\n BABY_GREEN: '#81fc95',\n SALMON: '#ff7a7a',\n SILVER: '#d0d5d9',\n REALLY_LIGHT_BLUE: '#d4efff',\n VIBRANT_BLUE: '#003fff',\n BROWNISH_GRAY: '#726e6e',\n BLUSH: '#fff1f1',\n GRAPEFRUIT: '#ff4f4f'\n },\n STORAGE: {\n DEVICE_ID: \"DEVICE_ID\",\n TOKEN: \"TOKEN\"\n },\n METER_DEFAULT_ADDRESS: '-',\n DATE: {\n STANDARD_FORMAT: \"YYYY-MM-DDTHH:mm:ss.SSSZ\"\n },\n MOBILE_WIDTH: 767,\n RECAPTCHA_SECRET: '6LdsMHoUAAAAAHkjJYCrUvaD5g-kD-xFPcIJgKkd',\n RECAPTCHA_SITE_KEY: '6Lfs5bwZAAAAAEz9WxZCLyxITDG322nhWi-ANOrm',\n APP_ID: '3a869241-d476-40f6-a923-d789d63db11d',\n APP_ID_2: '78FE99BC-5D35-4AC8-A15A-85E9D3C90ED0'\n}\n","export default class PersistenceManager {\n static storeItem(key, value) {\n localStorage.setItem(key, value);\n }\n\n static getItem(key) {\n return localStorage.getItem(key);\n }\n\n static deleteItem(key) {\n localStorage.removeItem(key)\n }\n}","import * as React from \"react\";\nimport moment from 'moment';\nimport { IntlProvider } from 'react-intl';\n\nimport * as api from '../api';\nimport PersistenceManager from './PersistenceManager';\nimport globals from '../globals';\n\n\nexport default class DataManager {\n static sharedInstance =\n this.sharedInstance == null ? new DataManager() : this.sharedInstance;\n\n constructor() {\n const locale = IntlProvider.locale;\n moment.locale(locale);\n\n this.meters = [];\n this.units = '';\n this.user = { firstName: '', lastName: '', accountNumber: '', phoneNumber: '', municipalId: '' };\n this.vacation = null;\n this.muni = null;\n this.showAlertBadge = false;\n this.sessionId = '';\n this.isAuthenticated = false;\n this.clearedAlerts = [];\n this.loginErrors = {phone: 0, account: 0};\n this.errorCode = 0;\n this.errorMessage = '';\n }\n\n reset() {\n api.setTokenValue(undefined);\n PersistenceManager.deleteItem(globals.STORAGE.TOKEN);\n this.meters = [];\n this.units = '';\n this.user = { firstName: '', lastName: '', accountNumber: '', phoneNumber: '', municipalId: '' };\n this.vacation = null;\n this.muni = null;\n this.showAlertBadge = false;\n this.sessionId = '';\n this.isAuthenticated = false;\n this.requests = [];\n this.isAlertLoaded = false;\n this.isMessagesAllowed = false;\n this.isRequestsLoaded = false;\n this.errorCode = 0;\n this.errorMessage = '';\n }\n}\n\nexport const DataContext = React.createContext(DataManager.sharedInstance)\n","import globals from \"./globals\";\nimport DataManager from \"./managers/DataManager\";\nimport i18next from \"./i18n\";\n\nexport let token = undefined;\n\n// const apiFile = (url, authorize, callback) => {\n// const headers = {\n// Accept: 'application/json',\n// 'Content-Type': 'application/json'\n// };\n//\n// if (authorize) headers['x-access-token'] = token;\n//\n// fetch(url, {\n// method: 'GET',\n// headers: headers\n// })\n// .then(res => res.blob())\n// .then(blob => callback(blob, null));\n// };\n\n// const _getFile = (url, authorize, callback) => {\n// console.log('token', token);\n\n// const headers = {\n// Accept: 'application/json',\n// 'Content-Type': 'text/html; charset=utf-8'\n// };\n\n// if (authorize) headers['x-access-token'] = token;\n\n// fetch(url, {\n// method: 'GET',\n// headers: headers\n// })\n// .then(async res => {\n// const decoder = new TextDecoder('ISO-8859-8');\n// let arrayBuffer = await res.arrayBuffer();\n// let text = decoder.decode(arrayBuffer);\n\n// console.log('res', modifyExcel(text));\n\n// text = modifyExcel(text);\n\n// const csvFile = new Blob([text], {type: 'text/csv'});\n// return csvFile;\n// })\n// // .then(res => res.blob())\n// .then(blob => callback(blob, null));\n// };\n\n// const modifyExcel = (inputString) => {\n// const words = inputString.split(\" \");\n\n// words[0] = excelTitlesMap(0);\n// words[1] = excelTitlesMap(1);\n\n// const modifiedString = words.join(\" \");\n\n// return modifiedString;\n// }\n\n// const excelTitlesMap = (index) => {\n// const currentLanguage = i18next.language;\n// let replacedTitle = ''\n// switch (currentLanguage) {\n// case 'ar':\n// if (index === 0) replacedTitle = \"تاریخ\";\n// if (index === 1) replacedTitle = \"استهلاك\";\n// break;\n// case 'en':\n// if (index === 0) replacedTitle = \"Date\";\n// if (index === 1) replacedTitle = \"Consumption\";\n// break;\n// case 'es':\n// if (index === 0) replacedTitle = \"Fecha\";\n// if (index === 1) replacedTitle = \"Consumo\";\n// break;\n// case 'he':\n// if (index === 0) replacedTitle = \"תאריך\";\n// if (index === 1) replacedTitle = \"צריכה\";\n// break;\n// default:\n// if (index === 0) replacedTitle = \"Date\";\n// if (index === 1) replacedTitle = \"Consumption\";\n// break;\n// }\n\n// if (index === 0) replacedTitle += '\\t';\n// if (index === 1) replacedTitle += '\\n';\n\n// return replacedTitle;\n// }\n\n\nexport const api = async (\n url,\n authorize,\n callback,\n params,\n method = \"GET\",\n blob = false\n) => {\n const headers = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n };\n\n if (authorize) {\n headers[\"x-access-token\"] = token;\n } else {\n if (url.includes('/v1/municipals')) {\n headers[\"x-app-id\"] = globals.APP_ID_2;\n } else {\n headers[\"x-app-id\"] = globals.APP_ID;\n }\n }\n\n // console.log('token', token);\n // console.log('APP_ID', globals.APP_ID);\n\n let result;\n try {\n const Timeout = (time) => {\n let controller = new AbortController();\n setTimeout(() => controller.abort(), time * 1000);\n return controller;\n };\n\n result = await fetch(url, {\n method,\n headers: headers,\n body: method === \"GET\" ? null : JSON.stringify(params),\n signal: Timeout(15).signal\n })\n .then((res) => {\n console.log(url, res, JSON.stringify(params));\n const { status } = res;\n if (status === 401) {\n DataManager.sharedInstance.isAuthenticated = false;\n return blob ? res.blob() : res.text();\n } else if (status === 404) {\n return { error: status };\n }\n else if (status === 204) {\n return { error: status };\n } else {\n console.log(\"res\", res);\n return blob ? res.blob() : res.text();\n }\n })\n .then((res, err) => {\n console.log(\"res2\", res, err);\n const result = blob ? res : res ? JSON.parse(res) : {};\n \n if (url === `${globals.BASE_URL}/municipals/h1/measurmentunits`) {\n console.log(\"meter units\", result);\n }\n \n const error =\n +i18next.t(result?.code) === +result?.code\n ? result.error\n : i18next.t(result?.code);\n return result?.code ? { ...result, error } : result;\n })\n .catch((err) => {\n console.log(\"error is\", err);\n throw err;\n });\n } catch (e) {\n console.log('GET error', e.toString());\n result = {\"code\": 0, \"error\": i18next.t(\"errorOccurred\")};\n }\n\n \n callback(result);\n};\n\nexport const setTokenValue = (tokenValue) => {\n token = tokenValue;\n};\n\n//Push\nexport const sendDeviceToken = (deviceId, token, callback) => {\n const url = `${globals.BASE_URL}/communication/mobiledevices/pushprovidertoken`;\n const params = {\n deviceId: deviceId,\n pushProviderToken: token,\n pushProviderId: 1,\n };\n\n api(url, true, callback, params, \"POST\");\n};\n\n//Vacations\nexport const deleteVacation = (vacationID, callback) => {\n const url = `${globals.BASE_URL}/consumer/vacations/${vacationID}`;\n api(url, true, callback, {}, \"DELETE\");\n};\n\nexport const editVacation = (\n vacationID,\n startDate,\n endDate,\n consumptionDailyLimit,\n // meterCount,\n callback\n) => {\n const url = `${globals.BASE_URL}/consumer/vacations/`;\n const params = {\n vacationID: vacationID,\n startDate: startDate,\n endDate: endDate,\n consumptionDailyLimit: consumptionDailyLimit,\n // meterCount: meterCount\n };\n\n api(url, true, callback, params, \"PUT\");\n};\n\nexport const addVacation = (\n startDate,\n endDate,\n consumptionDailyLimit,\n // meterCount,\n callback\n) => {\n const url = `${globals.BASE_URL}/consumer/vacations/`;\n const params = {\n vacationID: 0,\n startDate: startDate,\n endDate: endDate,\n consumptionDailyLimit: consumptionDailyLimit,\n // meterCount: meterCount\n };\n\n api(url, true, callback, params, \"POST\");\n};\n\nexport const getVacations = (callback) => {\n const url = `${globals.BASE_URL}/consumer/vacations/`;\n api(url, true, callback);\n};\n\n//Alerts\nexport const confirmAlert = (alertLogId, callback) => {\n const url = `${globals.SECOND_URL}/consumer/myalerts/confirm/${alertLogId}`;\n api(url, true, callback, {}, \"POST\");\n};\n\n// export const getAlertDetails = (alertTypeId, alertLogId, callback) => {\n// const url = `${\n// globals.BASE_URL\n// }/consumer/myalerts/${alertLogId}/${alertTypeId}`;\n// api(url, true, callback);\n// };\n\nexport const getAlerts = (callback) => {\n const url = `${globals.SECOND_URL}/consumer/myalerts`;\n api(url, true, callback);\n};\n\n//Alerts settings\nexport const unsetAlert = (alertTypeId, mediaTypeId, callback) => {\n const url = `${globals.SECOND_URL}/consumer/myalerts/settings/${alertTypeId}`;\n const params = [mediaTypeId];\n api(url, true, callback, params, \"DELETE\");\n};\n\nexport const setAlert = (alertTypeId, mediaTypeId, callback) => {\n const url = `${globals.SECOND_URL}/consumer/myalerts/settings/${alertTypeId}`;\n const params = [mediaTypeId];\n api(url, true, callback, params, \"PUT\");\n};\n\nexport const getAlertSettings = (callback) => {\n const url = `${globals.BASE_URL}/consumer/myalerts/settings`;\n api(url, true, callback);\n};\n\nexport const getMe = (callback) => {\n const url = `${globals.BASE_URL}/consumer/me`;\n api(url, true, callback);\n};\n\nexport const adminLogin = (email, password, captchaResponse, callback) => {\n const url = `${globals.BASE_URL}/account/login`;\n const params = {\n username: email,\n password,\n lc: \"en-US\",\n captchaResponse,\n };\n\n api(url, false, callback, params, \"POST\");\n};\n\nexport const login = (email, password, deviceId, callback) => {\n const url = `${globals.BASE_URL}/consumer/login`;\n const params = {\n email: email,\n // type: 1,\n pw: password,\n deviceId: deviceId,\n // osType: 3,\n // app: \"3a869241-d476-40f6-a923-d789d63db11d\",\n };\n\n api(url, false, callback, params, \"POST\");\n};\n\n// export const getAvgHouseHoldsConsumption = (fromDate, toDate, callback) => {\n// const url = `${\n// globals.SECOND_URL\n// }/consumption/avghouseholds/${fromDate}/${toDate}`;\n// api(url, true, callback);\n// };\n\n// export const getAllDailyConsumptionBasedOnBillingCycle = (callback) => {\n// const url = `${globals.SECOND_URL}/consumption/daily/lastbillingcycle`;\n// api(url, true, callback);\n// };\n\nexport const getAllDailyConsumptionByDates = (fromDate, toDate, callback) => {\n const url = `${globals.SECOND_URL}/consumption/daily/${fromDate}/${toDate}`;\n api(url, true, callback);\n};\n\n// export const getMeterDailyConsumptionBasedOnBillingCycle = (meterCount, callback) => {\n// const url = `${globals.SECOND_URL}/consumption/daily/lastbillingCycle/${meterCount}`;\n// api(url, true, callback);\n// };\n\nexport const getMeterDailyConsumptionByDates = (\n meterCount,\n fromDate,\n toDate,\n callback\n) => {\n const url = `${globals.SECOND_URL}/consumption/daily/${meterCount}/${fromDate}/${toDate}`;\n api(url, true, callback);\n};\n\nexport const getAllMonthlyConsumption = (fromMonth, toMonth, callback) => {\n const url = `${globals.SECOND_URL}/v1.1/consumption/monthly/${fromMonth}/${toMonth}`;\n api(url, true, callback);\n};\n\nexport const getAllDailyConsumptionExcelBasedOnBillingCycle = (meterCount, callback) => {\n const url = `${globals.BASE_URL}/consumption/dailyExcel/${meterCount !== null ? meterCount + '/' : ''}lastbillingcycle`;\n api(url, true, callback, null, \"GET\", true);\n // _getFile(url, true, callback);\n};\n\nexport const getAllDailyConsumptionExcel = (meterCount, fromDate, toDate, callback) => {\n const url = `${globals.SECOND_URL}/consumption/dailyExcel/${meterCount !== null ? meterCount + '/' : ''}${fromDate}/${toDate}`;\n api(url, true, callback, null, \"GET\", true);\n // _getFile(url, true, callback);\n};\n\nexport const getAllMonthlyConsumptionExcel = (meterCount, fromMonth, toMonth, callback) => {\n const url = `${globals.SECOND_URL}/consumption/monthlyExcel/${meterCount !== null ? meterCount + '/' : ''}${fromMonth}/${toMonth}`;\n api(url, true, callback, null, \"GET\", true);\n // _getFile(url, true, callback);\n};\n\nexport const getAllMonthlyForecast = (callback) => {\n const url = `${globals.SECOND_URL}/consumption/forecast`;\n api(url, true, callback);\n};\n\nexport const getMeterMonthlyForecast = (meterCount, callback) => {\n const url = `${globals.SECOND_URL}/consumption/forecast/${meterCount}`;\n api(url, true, callback);\n};\n\nexport const getMeterDailyConsumption = (\n meterCount,\n fromDate,\n toDate,\n callback\n) => {\n const url = `${globals.BASE_URL}/consumption/daily/${meterCount}/${fromDate}/${toDate}`;\n api(url, true, callback);\n};\n\nexport const getMeterMonthlyConsumption = (\n meterCount,\n fromMonth,\n toMonth,\n callback\n) => {\n const url = `${globals.SECOND_URL}/v1.1/consumption/monthly/${meterCount}/${fromMonth}/${toMonth}`;\n api(url, true, callback);\n};\n\nexport const setMonthlyLimit = (limit, callback) => {\n const url = `${globals.SECOND_URL}/consumer/settings/monthlylimit/${limit}`;\n api(url, true, callback, {}, \"POST\");\n};\n\nexport const getMonthlyLimit = (callback) => {\n const url = `${globals.SECOND_URL}/consumption/Low-Rate-Limit`;\n api(url, true, callback);\n};\n\nexport const deleteMonthlyLimit = (callback) => {\n const url = `${globals.BASE_URL}/consumer/settings/monthlylimit`;\n api(url, true, callback, {}, \"DELETE\");\n};\n\nexport const getMeasurementUnits = (callback) => {\n const url = `${globals.BASE_URL}/municipals/h1/measurmentunits`;\n api(url, true, callback);\n};\n\nexport const getMeters = (callback) => {\n const url = `${globals.SECOND_URL}/consumer/meters`;\n api(url, true, callback);\n};\n\nexport const getLastRead = (callback) => {\n const url = `${globals.SECOND_URL}/consumption/last-read`;\n api(url, true, callback);\n};\n\nexport const finishRecovery = (code, password, callback) => {\n const url = `${globals.BASE_URL}/consumer/password/recovery/finish`;\n const params = {\n code: code,\n password: password,\n };\n\n api(url, false, callback, params, \"POST\");\n};\n\nexport const validateRecoveryCode = (code, callback) => {\n const url = `${globals.BASE_URL}/consumer/password/recovery/codevalidation`;\n const params = {\n code: code,\n };\n\n api(url, false, callback, params, \"POST\");\n};\n\nexport const recoverPassword = (email, callback) => {\n const url = `${globals.BASE_URL}/consumer/password/recovery`;\n const params = {\n email: email,\n };\n\n api(url, false, callback, params, \"POST\");\n};\n\nexport const getMunicipalCustomerService = (callback) => {\n const url = `${globals.BASE_URL}/municipals/municipalCustomerService`;\n api(url, true, callback);\n};\n\nexport const searchUtilities = (term, callback) => {\n const url = `${globals.BASE_URL}/municipals/h1/search/${term}`;\n api(url, false, callback);\n};\n\nexport const logout = (callback) => {\n const url = `${globals.BASE_URL}/consumer/logout`;\n api(url, true, callback, {}, \"POST\");\n};\n\nexport const registerPhone = (\n countryCode,\n phoneNumber,\n languageCode,\n callback\n) => {\n const url = `${globals.BASE_URL}/consumer/register/phone`;\n const params = {\n countryCode: countryCode, //+972\n phoneNumber: phoneNumber, //0544310754\n languageCode: languageCode,\n };\n api(url, false, callback, params, \"POST\");\n};\n\nexport const registerAccount = (\n propertyId,\n accountNumber,\n municipalId,\n siteId,\n callback\n) => {\n let url = `${globals.SECOND_URL}/consumer/register/account`;\n const params = {\n propertyId,\n accountNumber,\n municipalId,\n languageCode: \"he\",\n siteId\n };\n api(url, false, callback, params, \"POST\");\n};\n\nexport const registerFinish = (sessionId, email, password, code, callback) => {\n const url = `${globals.SECOND_URL}/consumer/register/finish`;\n let params = {\n sessionId: sessionId,\n email: email,\n password: password,\n type: 1,\n };\n\n if (code) params.code = code;\n\n api(url, false, callback, params, \"POST\");\n};\n\nexport const validateRegisterCode = (sessionId, code, callback) => {\n const url = `${globals.BASE_URL}/consumer/register/codevalidation`;\n const params = {\n sessionId: sessionId,\n code: code,\n };\n\n api(url, false, callback, params, \"POST\");\n};\n\nexport const updatePhoneNumber = (\n countryCode,\n phoneNumber,\n languageCode,\n callback\n) => {\n const url = `${globals.SECOND_URL}/consumer/phone`;\n const params = {\n countryCode: countryCode, //972\n phoneNumber: phoneNumber, //0544310754\n languageCode: languageCode,\n };\n\n api(url, true, callback, params, \"PUT\");\n};\n\nexport const changePassword = (currentPassword, newPassword, callback) => {\n const url = `${globals.BASE_URL}/consumer/password/change`;\n const params = {\n currentPassword,\n newPassword,\n };\n\n api(url, true, callback, params, \"PUT\");\n};\n\n//Admin\nexport const getLoginCredentials = (key, callback) => {\n const url = `${globals.BASE_URL}/consumer/login-credentials/${key}`;\n api(url, true, callback);\n};\n\nexport const getMunicipalityMessages = (callback) => {\n const url = `${globals.SECOND_URL}/municipality/${DataManager.sharedInstance.user.municipalId}/messages`;\n api(url, true, callback);\n};\n\nexport const getMessagesSubjects = (callback) => {\n const url = `${globals.SECOND_URL}/municipality/${DataManager.sharedInstance.user.municipalId}/messages/message-subjects`;\n api(url, true, callback);\n};\n\nexport const sendMunicipalityMessage = (params, callback) => {\n const url = `${globals.SECOND_URL}/municipality/${DataManager.sharedInstance.user.municipalId}/messages/add-consumer-request`;\n api(url, true, callback, params, \"POST\");\n};\n\nexport const setMessageWasRead = (answerId, callback) => {\n const url = `${globals.SECOND_URL}/municipality/${DataManager.sharedInstance.user.municipalId}/messages/set-read?answerId=${answerId}`;\n api(url, true, callback, null, \"POST\");\n};\n\nexport const isMessagesAllowed = (callback) => {\n const url = `${globals.SECOND_URL}/municipality/${DataManager.sharedInstance.user.municipalId}/messages/is-messages-to-municipal-allowed`;\n api(url, true, callback);\n};\n\nexport const getCurrentConsumption = (fromMonth, toMonth, callback) => {\n const url = `${globals.SECOND_URL}/consumption/currentConsumption`;\n api(url, true, callback);\n};\n\nexport const getAlertsForSettings = (callback) => {\n const url = `${globals.SECOND_URL}/consumer/alertsForSettings`;\n api(url, true, callback);\n};\n\nexport const searchMunicipals = (params, callback) => {\n const url = `${globals.BASE_URL}/v1/municipals`;\n api(url, false, callback);\n};\n","/* eslint-disable */\nimport React from 'react';\nimport {withTranslation} from \"react-i18next\";\nimport i18next from \"i18next\";\n\nimport './Register.css';\nimport images from '../../images';\nimport '../../App.css';\nimport * as api from \"../../api\";\nimport globals from \"../../globals\";\nimport {Mobile} from \"../../App\";\nimport DataManager from \"../../managers/DataManager\";\n\nclass Register extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n searchTerm: '',\n utilities: [],\n }\n }\n\n componentWillMount() {\n if (this.props.onEnter)\n this.props.onEnter(false);\n }\n\n render() {\n const {t} = this.props;\n return (\n
\n \n {matches => {\n if (matches)\n return this._renderMobile(t);\n else\n return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n return (\n
\n

{t('JoinMyWaterAdvisor')}

\n
\n \n \n
\n {DataManager.sharedInstance.loginErrors.phone * DataManager.sharedInstance.loginErrors.account > 0\n &&

לתמיכה טכנית בתקלות ניתן לפנות למרכז שירות ארד 1700-50-65-65

}\n
\n {this.state.utilities.map(item => {\n return
\n

{item.description}

\n

{item.phoneNumber}

\n
\n })}\n
\n
\n );\n }\n\n _renderDesktop(t) {\n return (\n
\n

{t('JoinMyWaterAdvisor')}

\n
\n \n \n
\n {DataManager.sharedInstance.loginErrors.phone * DataManager.sharedInstance.loginErrors.account > 0\n &&

לתמיכה טכנית בתקלות ניתן לפנות למרכז שירות ארד 1700-50-65-65

}\n
\n {this.state.utilities.map(item => {\n return
\n

{item.description}

\n

{item.phoneNumber}

\n
\n })}\n
\n
\n );\n }\n\n goToRegisterAccount = () => {\n this.props.history.push('/register/account');\n };\n\n goToRegisterPhone = () => {\n this.props.history.push('/register/phone');\n };\n\n onChangeUtilityName = (event) => {\n //this.state.searchTerm = value;\n const term = event.target.value;\n if (term.length >= 2) {\n api.searchUtilities(term, (res, err) => {\n if (!err) {\n this.setState({utilities: res});\n }\n })\n } else if (term.length === 0) {\n this.setState({utilities: []});\n }\n };\n}\n\nexport default withTranslation('translations')(Register)\n\n","/* eslint-disable */\nimport moment from \"moment\";\nimport globals from \"./globals\";\nimport images from \"./images\";\nimport i18next from './i18n';\n\nexport const AlertType = {\n SUSPECTED_LEAK: 16,\n MONTHLY_CONS_LIMIT: 1002,\n DAILY_USAGE_VACATION: 100,\n Above_Maximum_Consumption: 12,\n Above_Average_Consumption: 14,\n Leak: 23,\n Annual_Ration_Exceeded: 40,\n Monthly_Ration_Exceeded: 41,\n Consumption_During_Vacation: 1001,\n Leak_In_Main_Meter: 35,\n};\n\nexport const AlertsTitles = {\n 12: \"AboveMaximumConsumption\",\n 14: \"AboveAverageConsumption\",\n 16: \"SuspectedLeak\",\n 23: \"PossibleLeak\",\n 40: \"AnnualRationExceeded\",\n 41: \"MonthlyRationExceededTitle\",\n 1001: \"DailyUsageDuringVacation\",\n 1002: \"BillingCycleConsumptionLimit\",\n 35: \"PossibleLeakInMainMeter\",\n '-3': \"OldReading\",\n '-2': \"NetworkError\",\n '-1': \"InvalidData\",\n 1: \"LeakGroups\",\n 2: \"CommonUsageGroups\",\n 3: \"NegativeLeakGroups\",\n 4: \"NegativeCommonUsageGroups\",\n 5: \"HighCommonConsumption\",\n 6: \"NegativeCommonConsumption\",\n 10: \"NegativeConsumption\",\n 11: \"InactiveMeter\",\n 13: \"BelowMinimumConsumption\",\n 15: \"BelowAverageConsumption\",\n 17: \"InactiveCompoundMeter\",\n 20: \"Tamper\",\n 21: \"CutWire\",\n 22: \"LowBattery\",\n 24: \"CCWRead\",\n 25: \"NoTransmission\",\n 26: \"HighFlow\",\n 27: \"LowFlow\",\n 28: \"AboveUpperBound\",\n 29: \"BelowLowerBound\",\n 30: \"ManualReadMissing\",\n 31: \"FlowAboveQMax\",\n 32: \"WrongMeterSN\",\n 33: \"MeasurementFail\",\n 34: \"MeterBoxOpen\",\n 36: \"Tilt\",\n 37: \"DisassembledMeter\",\n 110: \"EmptyTanks\",\n 111: \"WrongSequence\",\n 120: \"GasTankBelowCriticalLevel\",\n 121: \"StaticReadOnGasTank\",\n 130: \"RTCImprecision\",\n 131: \"UnitReset\",\n 132: \"SensorFailure\",\n 133: \"DryChamber\",\n 140: \"Freeze\",\n 141: \"SlaveBatteryLow\",\n 200: \"HydrantNoCommunication\",\n 210: \"HydrantTamper\",\n 300: \"SolitaryPeopleStaticMeter\"\n};\n\nexport const MessageSubjects = {\n 1: \"UpdateInformation\",\n 2: \"ReadAbnormalConsumption\",\n 3: \"Leak\",\n 4: \"WaterMeter\",\n 5: \"WaterBill\",\n 6: \"Other\"\n};\n\nconst MessageSubjectsMap = {\n 'تحديث التفاصيل': 'UpdateInformation',\n 'قراءة / استهلاك غير منطقي': 'ReadAbnormalConsumption',\n 'تسرب': 'Leak',\n 'عداد المياه': 'WaterMeter',\n 'فاتورة الماء': 'WaterBill',\n 'اخر': 'Other',\n 'Update Information': 'UpdateInformation',\n 'Read/Abnormal Consumption': 'ReadAbnormalConsumption',\n 'Leak': 'Leak',\n 'Water Meter': 'WaterMeter',\n 'Water Bill': 'WaterBill',\n 'Other': 'Other',\n 'Actualizar detalles': 'UpdateInformation',\n 'Lectura/consumo anormal': 'ReadAbnormalConsumption',\n 'Fuga': 'Leak',\n 'Medidor de agua': 'WaterMeter',\n 'Factura de agua': 'WaterBill',\n 'Otro': 'Other',\n 'עדכון פרטים': 'UpdateInformation',\n 'קריאה/צריכה חריגה': 'ReadAbnormalConsumption',\n 'נזילה': 'Leak',\n 'מד המים': 'WaterMeter',\n 'חשבון המים': 'WaterBill',\n 'אחר': 'Other'\n};\n\nexport const getTranslatedRequestTitle = title => {\n return i18next.t(`MessageSubjectsMap.${MessageSubjectsMap[Object.keys(MessageSubjectsMap)\n .find(key => key === title)]}`) ?? '';\n};\n\nexport const AlertsDescriptions = {\n 12: \"AboveMaximumConsumption\",\n 14: \"AboveAverageConsumption\",\n 16: \"ConsumptionAboveAverageSuspectedLeak\",\n 23: \"Leak\",\n 40: \"AnnualRationExceeded\",\n 41: \"MonthlyRationExceeded\",\n 1001: \"ConsumptionDuringVacation\",\n 35: \"LeakInMainMeter\",\n};\n\nconst utils = {\n getFormattedConsumption(value) {\n if (value === \"\") {\n return \"\";\n }\n\n const val = parseFloat(parseFloat(value).toFixed(3))\n\n if (isNaN(val)) {\n return '';\n } else {\n return val;\n }\n\n //test\n // return parseFloat(parseFloat(value)).toFixed(3);\n },\n\n containsNumbers(value) {\n const re = /^[0-9\\b]+$/;\n return re.test(value);\n },\n\n generateId() {\n const array = new Uint32Array(4);\n return window.crypto.getRandomValues(array).join(\"\");\n },\n\n isEmail(candidate) {\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\n return reg.test(candidate);\n },\n\n toVacationDateRange(vacation) {\n if (vacation === \"\") return null;\n\n return `${this.toVacationDate(vacation.startDate)} - ${this.toVacationDate(\n vacation.endDate\n )}`;\n },\n\n toVacationDate(date) {\n if (date === \"\") return \"\";\n\n return moment(date).format(\"ddd, MMM DD\");\n },\n\n toMonthDate(date) {\n if (date === \"\") return \"\";\n\n return moment(date).format(\"MMM, YYYY\");\n },\n\n toAlertDate(date) {\n if (date === \"\") return \"\";\n return moment(date).format('MMMM DD, YYYY, HH:mm');\n // return moment.utc(date).local().format(\"MMMM DD, YYYY, HH:mm\");\n },\n\n getBillingCycleDate(date) {\n return moment(date, moment.ISO_8601).format(\"MM-DD-YYYY\");\n },\n\n toHomeDisplayDateString(date) {\n if (date === \"\") return \"\";\n return moment(date).format(\"MMM DD, YYYY\");\n },\n\n toDisplayDateString(date, withTime) {\n if (date === \"\") return \"\";\n\n return moment(date).format(`MM/DD/YYYY${withTime ? \" HH:mm\" : \"\"}`);\n },\n\n toDateFromString(dateString) {\n return moment(dateString, \"YYYY-MM-DD\").toDate();\n },\n\n toDateString(date) {\n if (date === \"\") return \"\";\n return moment(date).locale('en').format(\"YYYY-MM-DD\");\n },\n\n toISODateString(date) {\n return moment(date, moment.ISO_8601);\n },\n\n getYearsBefore(date, amount) {\n return moment(date).subtract(amount, \"years\").format(\"YYYY\");\n },\n\n getDaysBefore(date, amount) {\n return moment(date).subtract(amount, \"days\").format(\"YYYY-MM-DD\");\n },\n\n getMonthsBefore(date, amount) {\n return moment(date).subtract(amount, \"months\").locale('en').format(\"YYYY-MM\");\n },\n\n getMonth(date) {\n return moment(date).locale('en').format(\"YYYY-MM\");\n },\n\n getEndOfMonthDate(date) {\n return moment(date).endOf(\"month\").locale('en').format(\"YYYY-MM-DD\");\n },\n\n getMonthDigit(date) {\n return moment(date).format(\"MM\");\n },\n\n getMonthDiff(date1, date2) {\n let diff = moment(date2).diff(moment(date1), \"months\", true);\n return diff + 1;\n },\n\n getHour(date) {\n return moment(date, moment.ISO_8601).format(\"HH\");\n },\n\n getDayNumber(date) {\n return moment(date, moment.ISO_8601).format(\"DD\");\n },\n\n getYear(date) {\n return moment(date, moment.ISO_8601).locale('en').format(\"YYYY\");\n },\n\n getMonthName(date) {\n return moment(date, moment.ISO_8601).format(\"MMM\");\n },\n\n getDay(date) {\n return moment(date, moment.ISO_8601).date();\n },\n\n getDaysInMonth(year, month) {\n const date = new Date(year, month - 1, 1);\n const result = [];\n while (date.getMonth() === month - 1) {\n result.push(`${date.getDate()}`);\n date.setDate(date.getDate() + 1);\n }\n return result;\n },\n\n isToday(date) {\n const today = new Date();\n return (\n utils.getYear(date) === utils.getYear(today) &&\n utils.getMonth(date) === utils.getMonth(today) &&\n utils.getDayMonth(date) === utils.getDayMonth(today)\n );\n },\n\n isArrAscendingByConsDate(arr) {\n return arr.every(function (x, i) {\n return i === 0 || x.consDate >= arr[i - 1].consDate;\n });\n },\n\n getMeterDesc(meter) {\n return `${meter.meterSn}, ${\n meter.fullAddress ? meter.fullAddress : globals.METER_DEFAULT_ADDRESS\n }`;\n },\n\n getLargeIconForAlertType(alertTypeId) {\n let bigIcon = \"\";\n switch (parseInt(alertTypeId)) {\n case AlertType.SUSPECTED_LEAK:\n bigIcon = images().icFaucet;\n break;\n case AlertType.DAILY_USAGE_VACATION:\n bigIcon = images().icBigVacations;\n break;\n case AlertType.MONTHLY_CONS_LIMIT:\n bigIcon = images().icBigWaterLimit;\n break;\n case AlertType.Above_Average_Consumption:\n bigIcon = images().icAboveAverageConsumptionBig;\n break;\n case AlertType.Above_Maximum_Consumption:\n bigIcon = images().icAboveMaximumConsumptionBig;\n break;\n case AlertType.Leak:\n bigIcon = images().icLeakBig;\n break;\n case AlertType.Annual_Ration_Exceeded:\n bigIcon = images().icAnnualRationExceededBig;\n break;\n case AlertType.Monthly_Ration_Exceeded:\n bigIcon = images().icMonthlyRationExceededBig;\n break;\n case AlertType.Consumption_During_Vacation:\n bigIcon = images().icVacationExpenseBig;\n break;\n case AlertType.Leak_In_Main_Meter:\n bigIcon = images().LeakInMainMeterBig;\n break;\n default:\n bigIcon = images().message;\n }\n\n return bigIcon;\n },\n\n getSmallIconForAlertType(alertTypeId) {\n let icon = \"\";\n switch (parseInt(alertTypeId)) {\n case AlertType.SUSPECTED_LEAK:\n icon = images().icFaucet;\n break;\n case AlertType.DAILY_USAGE_VACATION:\n icon = images().icVacation;\n break;\n case AlertType.MONTHLY_CONS_LIMIT:\n icon = images().icWaterLimit;\n break;\n case AlertType.Above_Average_Consumption:\n icon = images().icAboveAverageConsumption;\n break;\n case AlertType.Above_Maximum_Consumption:\n icon = images().icAboveMaximumConsumption;\n break;\n case AlertType.Leak:\n icon = images().icLeak;\n break;\n case AlertType.Annual_Ration_Exceeded:\n icon = images().icAnnualRationExceeded;\n break;\n case AlertType.Monthly_Ration_Exceeded:\n icon = images().icMonthlyRationExceeded;\n break;\n case AlertType.Consumption_During_Vacation:\n icon = images().icVacationExpense;\n break;\n case AlertType.Leak_In_Main_Meter:\n icon = images().LeakInMainMeter;\n break;\n default:\n icon = images().message;\n }\n return icon;\n },\n\n capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n },\n\n roundDecimal(value, toFixedValue) {\n let newValue = value?.toFixed(toFixedValue).replace(/0+$/, \"\") ?? 0;\n if (newValue.charAt(newValue.length - 1) === '.') {\n newValue = newValue.slice(0, -1);\n }\n\n return newValue === '0' ? '' : newValue;\n }\n};\n\nexport default utils;\n","import validator from \"validator\";\nimport React from 'react';\n\nimport utils from \"./utils\";\nimport i18next from \"./i18n\";\n\nexport const required = (value, props) => {\n if (!value.toString().trim().length) {\n // We can return string or jsx as the 'error' prop for the validated Component\n return {utils.capitalizeFirstLetter(i18next.t(props.name))} {i18next.t('isRequired')}\n }\n};\n\nexport const email = (value) => {\n if (!validator.isEmail(value)) {\n const reducedValue = value?.length > 26 ? value.split('').slice(0, 26).join('') : value;\n return {reducedValue} {i18next.t('notValidEmail')}\n }\n};\n\nexport const lt = (value, props) => {\n // get the maxLength from component's props\n if (!value.toString().trim().length > props.maxLength) {\n // Return jsx\n return {i18next.t('valueExceeded')} {props.maxLength} {i18next.t('symbols')}\n }\n};\n\nexport const password = (value, props, components) => {\n // NOTE: Tricky place. The 'value' argument is always current component's value.\n // So in case we're 'changing' let's say 'password' component - we'll compare it's value with 'confirm' value.\n // But if we're changing 'confirm' component - the condition will always be true\n // If we need to always compare own values - replace 'value' with components.password[0].value and make some magic with error rendering.\n if (value !== components['confirm'][0].value) { // components['password'][0].value !== components['confirm'][0].value\n // 'confirm' - name of input\n // components['confirm'] - array of same-name components because of checkboxes and radios\n return {i18next.t('PasswordsNotEqual')}\n }\n};\n\nexport const passwordRequirements = (value, props) => {\n const length = value?.length > 7;\n const isNumber = value?.split('').some(char => (char >= '0' && char <= '9'))\n const isString = value?.split('').some(char => !(char >= '0' && char <= '9'))\n if (!length || !isNumber || !isString) {\n return
{i18next.t('passwordCheck')}
\n }\n}\n","import React from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport './TermsOfUse.css';\nimport images from '../../images';\nimport '../../App.css';\n\nclass TermsOfUse extends React.Component {\n\n render() {\n const {t} = this.props\n return (\n
\n this.props.onClose()}\n >\n \"close\"/\n \n

{t('TermsOfUseTitle')}

\n {/*

{t('websiteTerms')}

*/}\n {/*

{t('acceptance')}

*/}\n {/*
*/}\n \n {/*
*/}\n
\n );\n }\n}\n\nexport default withTranslation('translations')(TermsOfUse)\n","/* eslint-disable */\nimport React from 'react';\nimport './AppPopup.css';\nimport images from '../images';\nimport { Mobile } from '../App';\nimport {withTranslation} from \"react-i18next\";\n\nclass AppPopup extends React.Component {\n render() {\n const { t } = this.props\n return (\n
\n \n {matches => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n return (\n
\n this.props.onClose()}\n >\n \n \n

{t('MyWaterAdvisor')}

\n

{this.props.message}

\n
\n );\n }\n\n _renderDesktop(t) {\n return (\n
\n this.props.onClose()}\n >\n \n \n

{t('MyWaterAdvisor')}

\n

{this.props.message}

\n
\n );\n }\n}\n\n\nexport default withTranslation('translations')(AppPopup)\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./LanguageSwitcher.css\";\n\nclass AppButton extends React.Component {\n render() {\n const { text, color, onClick, propsStyle } = this.props;\n\n const commonStyle =\n color === \"blue\" ? styles.blueBackground : styles.whiteBackground;\n\n return (\n \n {text}\n
\n );\n }\n}\n\nconst styles = {\n button: {\n fontSize: 16,\n fontWeight: 400,\n padding: \"14px 30px\",\n borderRadius: 24,\n textDecoration: \"none\",\n cursor: \"pointer\",\n width: 200,\n height: 47.5,\n display: \"flex\",\n justifyContent: \"center\",\n },\n whiteBackground: {\n color: \"#999ea8\",\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"0 10px 10px #d9d9d9\",\n },\n blueBackground: {\n color: \"#FFFFFF\",\n backgroundColor: \"#003FFF\",\n boxShadow: \"0 10px 20px rgba(0, 47, 189, 0.2)\",\n },\n};\n\nexport default withTranslation(\"translations\")(AppButton);\n","/* eslint-disable */\nimport React from 'react';\nimport images from '../../images';\nimport '../../App.css';\nimport './Login.css';\nimport {Link} from 'react-router-dom';\nimport validator from 'validator';\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\nimport * as validators from '../../validators';\nimport * as api from '../../api';\nimport utils from '../../utils';\nimport PersistenceManager from '../../managers/PersistenceManager';\nimport globals from '../../globals';\nimport {Desktop, Mobile} from '../../App';\nimport {ClipLoader} from 'react-spinners';\nimport DataManager from '../../managers/DataManager';\nimport Popup from \"reactjs-popup\";\nimport TermsOfUse from \"../common/TermsOfUse\";\nimport AppPopup from \"../../components/AppPopup\";\nimport AppButton from \"../../components/AppButton\";\nimport {withTranslation} from \"react-i18next\";\n\nclass Login extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n email: '',\n password: '',\n isLoggedIn: false,\n isSecurePass: true,\n isLoading: false,\n errorMessage: null\n };\n }\n\n componentWillMount() {\n if (this.props.onEnter) this.props.onEnter(true);\n }\n\n render() {\n const {t} = this.props;\n return (\n
\n \n {matches => {\n if (matches) return this._renderMobile();\n else return this._renderDesktop();\n }}\n \n
\n );\n }\n\n _renderMobile() {\n const {t} = this.props;\n return (\n \n {this.state.isLoading && (\n \n )}\n \n {t('LogIn')}\n \n
{this.form = c}} onSubmit={this.onSubmit.bind(this)} method={'post'}>\n
\n

\n {t('REGISTERED_EMAIL')}\n

\n \n this.setState({email: event.target.value})\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n
\n
\n

\n {t('WATER_ADVISOR_PASSWORD')}\n

\n \n \n this.setState({\n password: event.target.value\n })\n }\n type={\n this.state.isSecurePass\n ? 'password'\n : 'text'\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n this.toggleSecurePass(event)}\n >\n \n \n
\n
\n \n \n this.form.validateAll()} propsStyle={{marginBottom: 25}} />\n \n
\n \n {t('ForgotPassword')}\n \n \n \n \n \n );\n }\n\n _renderDesktop() {\n const {t} = this.props;\n \n return (\n \n {/* this.msg = a} {...this.alertOptions} />*/}\n {this.state.isLoading && (\n \n )}\n

{t('Login')}

\n
{\n this.form = c\n }} onSubmit={this.onSubmit.bind(this)} method={'post'}>\n
\n

\n {t('REGISTERED_EMAIL')}\n

\n \n this.setState({email: event.target.value})\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n
\n
\n

\n {(t('WATER_ADVISOR_PASSWORD'))}\n

\n \n \n this.setState({\n password: event.target.value\n })\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n this.toggleSecurePass(event)}\n >\n \n \n
\n \n \n \n this.form.validateAll()} propsStyle={{marginBottom: 25}} />\n \n \n \n {t('ForgotPassword')}\n
\n \n
\n \n \n \n \n );\n }\n\n closePopup = () => {\n this.setState({errorMessage: null});\n };\n\n toggleSecurePass(event) {\n event.preventDefault();\n if (event.detail !== 0) {\n this.setState({isSecurePass: !this.state.isSecurePass});\n }\n }\n\n onSubmit = event => {\n event.preventDefault();\n const {t} = this.props;\n\n const {from} = this.props.location.state || {\n from: {pathname: '/home'}\n };\n const {email, password} = this.state;\n\n const uniqueId = utils.generateId();\n this.setState({isLoading: true});\n api.login(email, password, uniqueId, (response, error) => {\n this.setState({isLoading: false});\n if (error) {\n\n console.log('error');\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (response.error) {\n console.log(response.error);\n this.setState({errorMessage: response.error});\n } else {\n const token = response.token;\n api.setTokenValue(token);\n DataManager.sharedInstance.isAuthenticated = true;\n this.props.handleStateUpdate({isAuthenticated: true});\n\n PersistenceManager.storeItem(globals.STORAGE.TOKEN, token);\n\n this.setState({isLoading: true});\n api.getMe((res, err) => {\n this.setState({isLoading: false});\n if (err) {\n console.log('Unknown error has occurred.');\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n // Additional phone number fix\n if (res?.phoneNumber?.countryCode && res?.phoneNumber?.AdditionalPhoneNumber && res.phoneNumber.AdditionalPhoneNumber.includes(res.phoneNumber.countryCode)) {\n res.phoneNumber.AdditionalPhoneNumber = res.phoneNumber.AdditionalPhoneNumber.replace(res.phoneNumber.countryCode, '');\n if (res.phoneNumber.AdditionalPhoneNumber.includes('+')) {\n res.phoneNumber.AdditionalPhoneNumber = res.phoneNumber.AdditionalPhoneNumber.replace('+', '');\n }\n }\n\n DataManager.sharedInstance.user = res;\n DataManager.sharedInstance.isAuthenticated = true;\n this.props.handleStateUpdate({isAuthenticated: true, user: res});\n this.props.history.push(from.pathname);\n this.props.onLogin();\n }\n }\n });\n }\n }\n });\n };\n}\n\nexport default withTranslation('translations')(Login)\n","/* eslint-disable */\nimport React from 'react';\nimport images from \"../../images\";\nimport {Link} from \"react-router-dom\";\nimport './ForgotPassword.css';\nimport { Mobile} from \"../../App\";\nimport * as validators from \"../../validators\";\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\nimport * as api from \"../../api\";\n\nimport Popup from \"reactjs-popup\";\nimport AppPopup from \"../../components/AppPopup\";\nimport {withTranslation} from \"react-i18next\";\n\nclass ForgotPassword extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n email: '',\n errorMessage: null\n }\n }\n\n render() {\n const {t} = this.props\n return (\n
\n \n {matches => {\n if (matches)\n return this._renderMobile(t);\n else\n return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n return (\n
\n

{t('resetPassword')}

\n

{t('sendInstructions')}

\n
{ this.form = c }} method={\"post\"} onSubmit={this.onSubmit.bind(this)}>\n
\n this.setState({email: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex'}}>\n \n
\n
\n {/*\n {/**/}\n
\n
\n {t('cancel')}\n \n \n \n
\n );\n }\n\n _renderDesktop(t) {\n return (\n
\n

{t('resetPassword')}

\n

{t('sendInstructions')}

\n
{ this.form = c }} method={\"post\"} onSubmit={this.onSubmit.bind(this)}>\n
\n this.setState({email: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex'}}>\n \n
\n
\n \n
\n \n \n \n \n {t('cancel')}\n
\n );\n }\n\n closePopup() {\n this.setState({errorMessage: null});\n }\n\n onSubmit = (event) => {\n event.preventDefault();\n\n //this.setState({isLoading: true});\n api.recoverPassword(this.state.email, (res, error) => {\n //this.setState({isLoading: false});\n if (error) {\n this.setState({errorMessage: 'Password recovery failed.'});\n } else {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n this.props.history.push(`/password/code`);\n }\n }\n })\n\n };\n}\n\nexport default withTranslation('translations')(ForgotPassword)\n","/* eslint-disable */\nimport React from \"react\";\nimport Input from \"react-validation/build/input\";\nimport Form from \"react-validation/build/form\";\nimport Button from \"react-validation/build/button\";\nimport Popup from \"reactjs-popup\";\nimport { withTranslation } from \"react-i18next\";\n\nimport images from \"../../images\";\nimport \"../../App.css\";\nimport \"./RegisterAccount.css\";\nimport * as validators from \"../../validators\";\nimport * as api from \"../../api\";\nimport DataManager from \"../../managers/DataManager\";\nimport { Mobile } from \"../../App\";\nimport AppPopup from \"../../components/AppPopup\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass RegisterAccount extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n fullName: \"\",\n municipal: \"\",\n municipalOptions: null,\n account: \"\",\n propertyNumber: \"\",\n errorMessage: null,\n dropDownVisible: false,\n validation: false,\n searchInputText: \"\",\n };\n }\n\n componentDidMount() {\n const { t } = this.props;\n api.searchMunicipals(null, (res, err) => {\n if (err) {\n this.setState({ errorMessage: t(\"errorOccurred\") });\n } else {\n if (res.error) {\n console.log(res.error);\n this.setState({ errorMessage: res.error });\n } else {\n this.setState({ municipalOptions: res });\n }\n }\n });\n }\n\n removeSpecialChars(e) {\n if (!new RegExp(\"\\\\w\").test(e.key)) {\n e.preventDefault();\n }\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n \n {(matches) => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n const { municipalOptions, municipal, account, validation } = this.state;\n return (\n \n

\n {t(\"JoinMyWaterAdvisor\")}\n

\n {\n this.form = c;\n }}\n method={\"post\"}\n onSubmit={this.onSubmit.bind(this)}\n className=\"RegisterForm\"\n >\n
\n \n {t(\"billMunicipality\").toUpperCase()}\n \n
\n \n {municipal?.description || t(\"chooseMunicipality\")}\n \n \n
\n {municipalOptions?.map((municipal) => (\n {\n this.setState({ municipal, validation: false });\n }}\n >\n {municipal.description}\n
\n ))}\n
\n
\n \n {t(\"municipality\")} {t(\"isRequired\")}\n \n \n\n
\n

\n {t(\"billAccountNumberUpperCase\")}\n

\n this.removeSpecialChars(e)}\n type=\"text\"\n className=\"rectangle rectangleMobile\"\n name=\"AccountNumber\"\n onChange={(event) =>\n this.setState({ account: event.target.value })\n }\n value={this.state.account}\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: \"flex\",\n fontSize: 16,\n maxWidth: \"initial\",\n width: \"100%\",\n }}\n />\n
\n
\n

{t(\"billPropertyName\")}

\n this.removeSpecialChars(e)}\n type=\"text\"\n className=\"rectangle\"\n name=\"propertyNumber\"\n value={this.state.propertyNumber}\n onChange={(event) =>\n this.setState({ propertyNumber: event.target.value })\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: \"flex\",\n fontSize: 16,\n maxWidth: \"initial\",\n width: \"100%\",\n }}\n />\n
\n \n \n {this.setState({ validation: true }); this.form.validateAll()}} propsStyle={{marginBottom: 30, width: 170}} />\n \n \n \n \n \n \n \n );\n }\n\n _renderDesktop(t) {\n const { municipalOptions, municipal, account, validation, propertyNumber } =\n this.state;\n return (\n this.setState({\n // dropDownVisible: false,\n // })}\n onClick={(e) => {\n e.stopPropagation();\n this.setState({\n dropDownVisible: false,\n });\n }}\n >\n

{t(\"JoinMyWaterAdvisor\")}

\n {\n this.form = c;\n }}\n method={\"post\"}\n onSubmit={this.onSubmit.bind(this)}\n >\n
\n

\n {t(\"billMunicipality\").toUpperCase()}\n

\n
e.stopPropagation()}>\n \n this.setState({\n dropDownVisible: true,\n })\n }\n // onBlur={() =>\n // this.setState({\n // dropDownVisible: false,\n // })\n // }\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n console.log(\"do validate\");\n\n const newArray = [];\n municipalOptions\n ?.sort((a, b) =>\n a.description.localeCompare(b.description)\n )\n ?.map((municipal) => {\n if (\n municipal.description\n .toLowerCase()\n .includes(this.state.searchInputText.toLowerCase())\n ) {\n newArray.push(municipal);\n }\n });\n\n if (newArray.length === 1) {\n this.setState({\n municipal: newArray[0],\n searchInputText: newArray[0].description,\n validation: false,\n dropDownVisible: false,\n });\n }\n }\n }}\n placeholder={t(\"chooseMunicipality\")}\n value={this.state.searchInputText}\n onChange={(e) => {\n console.log(\"e\", e);\n this.setState({\n searchInputText: e.target.value,\n municipal: \"\",\n });\n }}\n />\n {/* {\n this.setState({\n dropDownVisible: !this.state.dropDownVisible,\n });\n }}\n name={t(\"chooseMunicipality\")}\n >\n {municipal?.description || t(\"chooseMunicipality\")}\n */}\n {this.state.dropDownVisible ? (\n \n this.setState({\n // dropDownVisible: false,\n searchInputText: \"\",\n municipal: \"\",\n })\n }\n />\n ) : (\n \n this.setState({\n dropDownVisible: true,\n })\n }\n />\n )}\n\n {this.state.dropDownVisible && (\n \n {municipalOptions\n ?.sort((a, b) => a.description.localeCompare(b.description))\n ?.map((municipal) => {\n if (\n municipal.description\n .toLowerCase()\n .includes(this.state.searchInputText.toLowerCase())\n )\n return (\n {\n console.log(\"onClick\");\n this.setState({\n municipal,\n searchInputText: municipal.description,\n validation: false,\n dropDownVisible: false,\n });\n }}\n >\n {municipal.description}\n
\n );\n })}\n
\n )}\n \n \n {t(\"municipality\")} {t(\"isRequired\")}\n \n \n\n
\n

{t(\"billAccountNumberUpperCase\")}

\n\n this.removeSpecialChars(e)}\n className=\"rectangle\"\n name=\"AccountNumber\"\n value={account}\n onChange={(event) =>\n this.setState({ account: event.target.value })\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: \"flex\",\n fontSize: 16,\n width: 500,\n }}\n />\n
\n
\n

{t(\"billPropertyName\")}

\n this.removeSpecialChars(e)}\n type=\"text\"\n className=\"rectangle\"\n name=\"propertyNumber\"\n value={this.state.propertyNumber}\n onChange={(event) =>\n this.setState({ propertyNumber: event.target.value })\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: \"flex\",\n fontSize: 16,\n width: 500,\n }}\n />\n
\n \n \n {this.setState({ validation: true }); this.form.validateAll()}} propsStyle={{marginBottom: 30, width: 170}} />\n \n \n \n \n \n \n \n );\n }\n\n closeErrorPopup() {\n this.setState({ errorMessage: null });\n }\n\n onSubmit = (event) => {\n event.preventDefault();\n const { t } = this.props;\n\n //this.setState({isLoading: true});\n\n if (this.state.municipal) {\n api.registerAccount(\n this.state.propertyNumber,\n this.state.account,\n this.state.municipal?.municipalID,\n this.state.municipal?.siteId,\n (response, error) => {\n //this.setState({isLoading: false});\n if (error) {\n this.setState({ errorMessage: t(\"errorOccurred\") });\n } else {\n if (response.error) {\n //Error\n if (response.code === 10030) {\n DataManager.sharedInstance.loginErrors.account = 1;\n this.props.history.push(\"/register/account/not_found\");\n } else {\n this.setState({ errorMessage: response.error });\n }\n } else {\n DataManager.sharedInstance.sessionId = response.sessionId;\n this.props.history.push(\"/register/finish\");\n }\n }\n }\n );\n }\n };\n}\n\nexport default withTranslation(\"translations\")(RegisterAccount);\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport PhoneInput from \"react-phone-input-2\";\nimport \"react-phone-input-2/lib/style.css\";\n\nimport translations from \"../translations\";\n\nclass Phone extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n\n };\n }\n\n componentDidMount() {}\n\n render() {\n const {onChange, phone, country} = this.props;\n\n return (\n <>\n country.label)}\n value={phone}\n onChange={(value, country) => onChange(value, country)}\n inputProps={{\n name: \"phone\",\n required: true,\n autoFocus: true,\n }}\n inputStyle={{ width: 375, height: 46 }}\n countryCodeEditable={false}\n />\n \n );\n }\n}\n\nexport default withTranslation(\"translations\")(Phone);\n","/* eslint-disable */\nimport React from \"react\";\nimport Input from \"react-validation/build/input\";\nimport Form from \"react-validation/build/form\";\nimport Button from \"react-validation/build/button\";\nimport Popup from \"reactjs-popup\";\nimport { withTranslation } from \"react-i18next\";\n\nimport images from \"../../images\";\nimport \"../../App.css\";\nimport \"./RegisterPhone.css\";\nimport * as api from \"../../api\";\nimport DataManager from \"../../managers/DataManager\";\nimport { Mobile } from \"../../App\";\nimport AppPopup from \"../../components/AppPopup\";\nimport Phone from \"../../components/Phone\";\nimport translations from \"../../translations\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass RegisterPhone extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n phone: \"\",\n countryCode: \"+972\",\n countryName: \"il\",\n errorMessage: null,\n validation: false,\n };\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n \n {(matches) => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n const { validation, phone } = this.state;\n return (\n \n

\n {t(\"JoinMyWaterAdvisor\")}\n

\n \n {t(\"enterPrimaryCellPhoneProvider\")}\n \n \n
\n \n this.setState({ countryCode: event.target.value })\n }\n >\n \n {/**/}\n \n this.setState({ phone: event.target.value })}\n value={this.state.phone}\n className=\"phoneInput country\"\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: \"flex\",\n border: 0,\n backgroundColor: \"transparent\",\n }}\n >\n
\n \n {t(\"PhoneNumber\")} {t(\"isRequired\")}\n \n \n \n \n \n \n \n \n \n );\n }\n \n onPhoneChange = (phone, country) => {\n console.log('onPhoneChange', phone, phone.substring(country?.dialCode.length, phone.length), country, '+' + country?.dialCode);\n this.setState({\n phone: phone.substring(country?.dialCode.length, phone.length),\n countryCode: ('+' + country?.dialCode) ?? '+972',\n countryName: country?.countryCode ?? 'il'\n })\n }\n\n _renderDesktop(t) {\n const { validation, phone } = this.state;\n return (\n \n

{t(\"JoinMyWaterAdvisor\")}

\n

{t(\"enterPrimaryCellPhoneProvider\")}

\n
\n \n
\n {\n this.form = c;\n }}\n dir=\"ltr\"\n method={\"post\"}\n onSubmit={this.onSubmit.bind(this)}\n >\n \n {t(\"PhoneNumber\")} {t(\"isRequired\")}\n \n \n \n \n \n \n \n \n \n );\n }\n\n closeErrorPopup() {\n this.setState({ errorMessage: null });\n }\n\n onSubmit = (event) => {\n event.preventDefault();\n const { t } = this.props;\n\n const { phone, countryCode, countryName } = this.state;\n console.log('onSubmit countryName', translations.findCountryLanguage(countryName)); \n const countryLanguage = translations.findCountryLanguage(countryName)\n\n if (phone) {\n api.registerPhone(countryCode, phone, countryLanguage, (response, error) => { // 'en'\n console.log(\"response\", response);\n if (error) {\n this.setState({ errorMessage: t(\"errorOccurred\") });\n } else {\n if (response.error) {\n if (response.code === 10327 || response.code === 10030) {\n // DataManager.sharedInstance.errorCode = response.code;\n // DataManager.sharedInstance.errorMessage = response.error;\n DataManager.sharedInstance.loginErrors.phone = 1;\n // this.props.history.push(\"/register/phone/not_found\", {\n // errorMessage: response.error,\n // errorCode: response.code,\n // });\n this.props.history.push({\n pathname: `/register/phone/not_found`,\n search: `?errorCode=${response.code}`,\n // state: {\n // errorMessage: response.error,\n // errorCode: response.code,\n // },\n });\n } else this.setState({ errorMessage: response.error });\n } else {\n const sessionId = response.sessionId;\n DataManager.sharedInstance.sessionId = sessionId;\n this.props.history.push(`/register/code/${countryCode}-${phone}`);\n }\n }\n });\n }\n };\n}\n\nexport default withTranslation(\"translations\")(RegisterPhone);\n","/* eslint-disable */\nimport React from 'react';\nimport {withTranslation} from \"react-i18next\";\nimport Popup from \"reactjs-popup\";\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\n\nimport images from \"../../images\";\nimport './RegisterEnterCode.css';\nimport '../../App.css';\nimport * as validators from '../../validators';\nimport * as api from \"../../api\";\nimport DataManager from \"../../managers/DataManager\";\nimport AppPopup from \"../../components/AppPopup\";\nimport utils from \"../../utils\";\n\nimport AppButton from \"../../components/AppButton\";\n\n\nclass RegisterEnterCode extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n phoneNbr: props.match.params.phone,\n code: '',\n errorMessage: null\n }\n }\n\n render() {\n const {t} = this.props\n return (\n
\n

{t('JoinMyWaterAdvisor')}

\n

{t('smsCode')}

\n

{this.state.phoneNbr}

\n
{ this.form = c }} method={\"post\"} onSubmit={this.onSubmit.bind(this)}>\n
\n this.setState({code: event.target.value})}\n className=\"codeInput rectangle\" value={this.state.code}\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n backgroundColor: 'transparent'\n }}>\n \n
\n
\n \n
\n
\n \n \n \n \n
\n );\n }\n\n closeErrorPopup() {\n this.setState({errorMessage: null});\n }\n\n onSubmit = (event) => {\n event.preventDefault();\n const {t} = this.props;\n\n const sessionId = DataManager.sharedInstance.sessionId;\n\n api.validateRegisterCode(sessionId, this.state.code, (response, error) => {\n //this.setState({isLoading: false});\n if (error) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (response.error) {\n this.setState({errorMessage: response.error});\n } else {\n //Success\n this.props.history.push('/register/finish', {\n sessionId: sessionId,\n code: this.state.code\n });\n }\n }\n });\n }\n\n onResendCode = () => {\n const {phoneNbr} = this.state;\n const countryCode = phoneNbr.split('-')[0];\n const phone = phoneNbr.split('-')[1];\n\n api.registerPhone(countryCode, phone, 'he', (response, error) => { // 'en'\n if (error) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (response.error) {\n if (response.code === 10030) {\n DataManager.sharedInstance.loginErrors.phone = 1;\n this.props.history.push('/register/phone/not_found');\n } else\n this.setState({errorMessage: response.error});\n }\n\n // else {\n // const sessionId = response.sessionId;\n // DataManager.sharedInstance.sessionId = sessionId;\n // this.props.history.push(`/register/code/${this.state.phone}`);\n // }\n }\n });\n }\n}\n\nexport default withTranslation('translations')(RegisterEnterCode)\n","/* eslint-disable */\nimport React from 'react';\nimport globals from \"../../globals\";\nimport * as api from \"../../api\";\nimport './RegisterNotFound.css';\nimport {Link} from \"react-router-dom\";\nimport images from \"../../images\";\nimport {Mobile} from \"../../App\";\nimport {withTranslation} from \"react-i18next\";\nimport DataManager from \"../../managers/DataManager\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass RegisterNotFound extends React.Component {\n constructor(props) {\n super(props);\n\n this.type = props.match.params.type;\n\n this.state = {\n utilities: [],\n }\n }\n\n\n render() {\n const {t} = this.props\n return (\n
\n \n {matches => {\n if (matches)\n return this._renderMobile(t);\n else\n return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n return (\n
\n

{t('JoinMyWaterAdvisor')}

\n
\n

{this.type === 'phone' ? t('PhoneNumber') : t('Account')} {t('wasNotFound')}

\n

{t('pleaseTry')} {this.type === 'phone' ? t('PhoneNumber').toLowerCase() : t('Account').toLowerCase()} {t('orRegisteringWith') + ' '}\n { (this.type === 'phone' ? t('AccountNumber') : t('PhoneNumber') ).toLowerCase()}\n

\n \n
\n {this.state.phoneError * this.state.accountError > 0\n &&

לתמיכה טכנית בתקלות ניתן לפנות למרכז שירות ארד 1700-50-65-65

}\n
\n {this.state.utilities.map(item => {\n return
\n

{item.description}

\n

{item.phoneNumber}

\n
\n })}\n
\n
);\n }\n\n _renderDesktop(t) {\n // console.log('errorCode', DataManager.sharedInstance.errorCode);\n console.log('this.props', this.props?.location?.search, this.props);\n\n let errorMessage = '';\n if (this.type === 'phone') {\n errorMessage = t('PhoneNumber') + t('wasNotFound');\n\n if (this.props?.location?.search !== \"?errorCode=0\") {\n errorMessage = t(this.props?.location?.search.replace(\"?errorCode=\", \"\"));\n // errorMessage = DataManager.sharedInstance.errorMessage;\n }\n }\n \n\n return (\n
\n

{t('JoinMyWaterAdvisor')}

\n
\n

{this.type === 'phone' ? errorMessage : t('Account') + ' ' + t('wasNotFound')}

\n

{t('pleaseTry')} {this.type === 'phone' ? t('PhoneNumber').toLowerCase() : t('Account').toLowerCase()} {t('orRegisteringWith') + ' '}\n {(this.type === 'phone' ? t('AccountNumber') : t('PhoneNumber')).toLowerCase()}\n

\n \n
\n {DataManager.sharedInstance.loginErrors.phone * DataManager.sharedInstance.loginErrors.account > 0\n &&

לתמיכה טכנית בתקלות ניתן לפנות למרכז שירות ארד 1700-50-65-65

}\n
\n {this.state.utilities.map(item => {\n return
\n

{item.description}

\n

{item.phoneNumber}

\n
\n })}\n
\n
);\n }\n\n onChangeUtilityName = (event) => {\n const term = event.target.value;\n if (term.length >= 2) {\n api.searchUtilities(term, (res, err) => {\n if (!err) {\n this.setState({utilities: res});\n }\n })\n } else if (term.length === 0) {\n this.setState({utilities: []});\n }\n };\n}\n\nexport default withTranslation('translations')(RegisterNotFound)\n","/* eslint-disable */\nimport React from 'react';\nimport './RegisterFinish.css';\nimport * as api from \"../../api\";\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\nimport * as validators from '../../validators';\nimport DataManager from \"../../managers/DataManager\";\nimport images from \"../../images\";\n\nimport Popup from \"reactjs-popup\";\nimport PersistenceManager from \"../../managers/PersistenceManager\";\nimport utils from \"../../utils\";\nimport globals from \"../../globals\";\nimport AppPopup from \"../../components/AppPopup\";\nimport {withTranslation} from \"react-i18next\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass RegisterFinish extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n email: '',\n confirmEmail: '',\n pass: '',\n confirmPass: '',\n isSecure: true,\n openTerms: false,\n openPrivacy: false,\n isNumCharsValid: true,\n isCharsValid: true,\n errorMessage: null\n }\n }\n\n render() {\n const {t} = this.props\n\n return (\n
\n

{t('JoinMyWaterAdvisor')}

\n
{ this.form = c }}\n method={\"post\"}\n onSubmit={this.onSubmit.bind(this)}\n style={{display: 'flex', flexDirection: 'column', alignItems: 'center'}}>\n
\n

{t('validEmail')}

\n this.setState({email: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n
\n
\n

{t('repeatEmail')}

\n this.setState({confirmEmail: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n
\n
\n

{t('chooseNewPassword')}

\n
\n this.setState({pass: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n \n
\n\n

{t('mustContain')}

\n {/*

{t('mustContain8Char')}

*/}\n
\n
\n

{t('typePasswordAgain')}

\n
\n this.setState({confirmPass: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n \n
\n
\n
\n

{t('iAgree')} this.props.openTerms()}>{t('TermsOfUse')} {t('and')} this.props.openPrivacy()}>{t('Privacy')}

\n
\n
\n \n
\n \n \n \n \n
\n );\n }\n\n closePopup = () => {\n this.setState({errorMessage: null});\n };\n\n onSubmit = (event) => {\n event.preventDefault();\n const {t} = this.props;\n\n const sessionId = DataManager.sharedInstance.sessionId;\n const {code} = this.props.match.params;\n const {email, confirmEmail, pass, confirmPass} = this.state;\n if (pass && confirmPass && pass !== confirmPass) {\n this.setState({errorMessage: t('passwordDontMatch')});\n } else\n if (email && confirmEmail && email !== confirmEmail) {\n this.setState({errorMessage: t('emailsDontMatch')});\n } else {\n const isCharsValid = /^(?=.*[a-zA-Z])(?=.*[0-9])/.test(pass);\n const isNumCharsValid = pass.length >= 8;\n\n this.setState({isCharsValid: isCharsValid});\n this.setState({isNumCharsValid: isNumCharsValid});\n\n if (isCharsValid && isNumCharsValid) {\n //Success\n //this.setState({isLoading: true});\n api.registerFinish(sessionId, email, pass, code, (response, error) => {\n //this.setState({isLoading: false});\n if (error) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (response.error) {\n this.setState({errorMessage: response.error});\n } else {\n //Success\n const uniqueId = utils.generateId();\n api.login(email, pass, uniqueId, (response, error) => {\n if (error) {\n console.log('Unknown error has occurred.');\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (response.error) {\n console.log(response.error);\n this.setState({errorMessage: response.error});\n } else {\n const token = response.token;\n console.log('token = ' + token);\n api.setTokenValue(token);\n\n PersistenceManager.storeItem(globals.STORAGE.TOKEN, token);\n\n this.props.history.push('/home');\n this.props.onLogin();\n }\n }\n });\n\n }\n }\n })\n }\n }\n\n };\n\n toggleSecurePass(event) {\n event.preventDefault();\n if (event.detail !== 0) {\n this.setState({isSecure: !this.state.isSecure});\n }\n }\n}\n\nexport default withTranslation('translations')(RegisterFinish)\n","/* eslint-disable */\nimport React from 'react';\nimport * as validators from \"../../validators\";\nimport images from \"../../images\";\nimport './ChangePassword.css';\nimport '../../App.css';\nimport * as api from \"../../api\";\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\nimport {Mobile} from \"../../App\";\n\nimport Popup from \"reactjs-popup\";\nimport AppPopup from \"../../components/AppPopup\";\nimport {withTranslation} from \"react-i18next\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass ChangePassword extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n pass: '',\n confirmPass: '',\n isSecureNewPass: true,\n isSecureConfirmPass: true,\n errorMessage: null\n };\n }\n\n render() {\n const {t} = this.props\n return (\n
\n \n {matches => {\n if (matches)\n return this._renderMobile(t);\n else\n return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n return (\n
\n

{t('changePassword')}

\n
{ this.form = c }} method={\"post\"} onSubmit={this.onSubmit.bind(this)}>\n
\n

{t('chooseNewPassword')}

\n
\n this.setState({pass: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n \n
\n
\n
\n

{t('typePasswordAgain')}

\n
\n this.setState({confirmPass: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n \n
\n
\n
\n {/* */}\n
\n \n \n \n \n
\n );\n }\n\n onButtonClick = (e) => {\n console.log('click');\n e.preventDefault(); \n console.log('click');\n this.form.validateAll(); \n this.onSubmit(e);\n }\n\n _renderDesktop(t) {\n return (\n
\n

{t('changePassword')}

\n
{ this.form = c }} method={\"post\"} onSubmit={this.onSubmit.bind(this)}>\n
\n

{t('chooseNewPassword')}

\n
\n this.setState({pass: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n \n
\n
\n
\n

{t('typePasswordAgain')}

\n
\n this.setState({confirmPass: event.target.value})}\n style={{paddingLeft: 10, paddingRight: 10, display: 'flex', fontSize: 16}}>\n \n \n
\n
\n
\n {/* */}\n
\n \n \n \n \n
\n );\n }\n\n closePopup() {\n this.setState({errorMessage: null});\n }\n\n toggleSecureNewPass(event) {\n event.preventDefault();\n this.setState({isSecureNewPass: !this.state.isSecureNewPass});\n }\n\n toggleSecureConfirmPass(event) {\n event.preventDefault();\n this.setState({isSecureConfirmPass: !this.state.isSecureConfirmPass});\n }\n\n onSubmit = (event) => {\n console.log('onsubmit')\n \n event.preventDefault();\n const {t} = this.props;\n const {pass, confirmPass} = this.state;\n\n if (pass !== confirmPass) {\n this.setState({errorMessage: t('passwordDontMatch')});\n } else {\n //const isCharsValid = /^\\w+$/.test(pass);\n const isCharsValid = /^(?=.*[a-zA-Z])(?=.*[0-9])/.test(pass);\n const isNumCharsValid = pass.length >= 8;\n\n // this.setState({isCharsValid: isCharsValid});\n // this.setState({isNumCharsValid: isNumCharsValid});\n\n if (isCharsValid && isNumCharsValid) {\n //Success\n const {code} = this.props.match.params;\n //this.setState({isLoading: true});\n api.finishRecovery(code, pass, (response, error) => {\n //this.setState({isLoading: false});\n if (error) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (response.error) {\n //Error\n this.setState({errorMessage: response.error});\n } else {\n //Success\n this.setState({errorMessage: t('passwordResetSuccessfully')});\n //DataManager.sharedInstance.onEnter();\n\n this.props.history.push('/login');\n }\n }\n });\n } else {\n this.setState({errorMessage: t('passwordError')});\n }\n }\n };\n}\n\nexport default withTranslation('translations')(ChangePassword)\n","/* eslint-disable */\nimport React from 'react';\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\nimport Popup from \"reactjs-popup\";\nimport {withTranslation} from \"react-i18next\";\n\nimport * as api from \"../../api\";\nimport * as validators from \"../../validators\";\nimport images from \"../../images\";\nimport AppPopup from \"../../components/AppPopup\";\nimport utils from \"../../utils\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass EnterCodePassword extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n code: '',\n errorMessage: null\n }\n }\n\n render() {\n const {t} = this.props;\n return (\n
\n

{t('changePassword')}

\n

{t('enterCodeAgain')}

\n

{this.state.phone}

\n
{ this.form = c }} method={\"post\"} onSubmit={this.onSubmit.bind(this)}>\n
\n this.setState({code: event.target.value})}\n className=\"codeInput rectangle\" value={this.state.code}\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n backgroundColor: 'transparent'\n }}>\n \n
\n
\n \n
\n
\n \n \n \n
\n );\n }\n\n closeErrorPopup() {\n this.setState({errorMessage: null});\n }\n\n onSubmit = (event) => {\n event.preventDefault();\n const {t} = this.props;\n\n //this.setState({isLoading: true});\n api.validateRecoveryCode(this.state.code, (res, error) => {\n //this.setState({isLoading: false});\n if (error) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n if (Object.keys(res).length === 0 && res.constructor === Object) {\n this.setState({errorMessage: t('enterCodeAgain')});\n return;\n }\n\n this.props.history.push(`/password/change/${this.state.code}`);\n }\n }\n });\n }\n}\n\nexport default withTranslation('translations')(EnterCodePassword)\n","import React from 'react';\nimport {withTranslation} from \"react-i18next\";\nimport Toggle from 'react-toggle';\n\nimport './Settings.css';\nimport * as api from \"../../api\";\nimport {AlertsTitles} from \"../../utils\";\nimport images from \"../../images\";\nimport globals from \"../../globals\";\n\nclass Settings extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n chosenSettings: [],\n isLoading: false\n }\n\n this.toggleSwitch = this.toggleSwitch.bind(this);\n }\n\n componentWillMount() {\n api.getAlertSettings((res, err) => {\n //this.setState({isLoading: false});\n if (err) {\n console.log('Unknown error has occurred.');\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n if (res.length > 0) {\n this.setState({chosenSettings: res})\n }\n }\n }\n });\n\n }\n\n render() {\n const {t, user, meters, alertsSettings} = this.props\n const {phoneNumber} = this.props.user;\n const {chosenSettings} = this.state;\n\n const alertsToggles = alertsSettings?.map((alertType, index) => {\n const {alertTypeId} = alertType;\n const email = chosenSettings.some(type => +type.alertTypeId === +alertTypeId && +type.mediaTypeId === 1)\n const sms = chosenSettings.some(type => +type.alertTypeId === +alertTypeId && +type.mediaTypeId === 3)\n return (\n
\n
{t(`AlertsTitles.${AlertsTitles[+alertType.alertTypeId] ?? 'AlertIdNotFound'}`)}
\n
\n this.toggleSwitch(+alertTypeId, 1)}/>\n
\n
\n this.toggleSwitch(+alertTypeId, 3)}/>\n
\n
\n )\n })\n\n\n return (\n
\n
\n
{t('SetRealTimeAlerts')}
\n
\n
\n
{t('Alerts')}
\n
{t('EmailAlert')}
\n
{t('SMSAlert')}
\n
\n {alertsToggles}\n
\n

\n

\n
\n \"water\n
{t('MyWaterMeters')}
\n
\n
\n {meters?.map((item, index) => {\n return
\n

{t('WaterMeter')}: 

\n

{item.meterSn + ','} 

\n

{item.fullAddress ? item.fullAddress : globals.METER_DEFAULT_ADDRESS}

\n
\n })}\n
\n
\n
\n
\n
\n
\n
\n
{t('name')}
\n
{t('AccountNumber')}
\n
{t('PhoneNumber')}
\n
\n
\n {user.firstName} {user.lastName}
\n
{user.accountNumber}
\n
{phoneNumber ? (phoneNumber?.countryCode ?? '') + ((phoneNumber.AdditionalPhoneNumber ? phoneNumber.AdditionalPhoneNumber : phoneNumber.phoneNumber) ?? '') : ''}
\n
\n
\n
{t('a')}
\n
{t('a')}
\n
{t('Edit')}
\n
\n
\n
\n \n
\n
\n
\n \n );\n }\n\n openChangePhone = () => {\n this.props.onOpenChangePhone();\n };\n\n openChangePass = () => {\n this.props.onOpenChangePass();\n };\n\n toggleSwitch = (alertTypeId, index) => {\n if (!this.state.isLoading) {\n this.setState({isLoading: true});\n\n const {chosenSettings} = this.state;\n const chosenSettingsIndex = chosenSettings.findIndex(type => +type.alertTypeId === alertTypeId && +type.mediaTypeId === index);\n if (chosenSettingsIndex >= 0) {\n api.unsetAlert(alertTypeId, index, (res, err) => {\n if (err) {\n console.log('Unknown error has occurred.');\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n let tempChosenSettings = [...chosenSettings];\n tempChosenSettings.splice(chosenSettingsIndex, 1);\n this.setState({chosenSettings: tempChosenSettings})\n }\n }\n\n this.setState({isLoading: false});\n });\n } else {\n api.setAlert(alertTypeId, index, (res, err) => {\n if (err) {\n console.log('Unknown error has occurred.');\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n let tempChosenSettings = [...chosenSettings];\n tempChosenSettings.push({alertTypeId, mediaTypeId: index})\n this.setState({chosenSettings: tempChosenSettings})\n }\n }\n\n this.setState({isLoading: false});\n });\n }\n }\n };\n}\n\nexport default withTranslation('translations')(Settings)\n","/* eslint-disable */\nimport React from 'react';\nimport './MonthlyLimitPopup.css';\nimport images from \"../../images\";\nimport '../../App.css';\nimport {Desktop, Mobile} from \"../../App\";\nimport Toggle from 'react-toggle';\nimport * as validators from \"../../validators\";\nimport DataManager from \"../../managers/DataManager\";\nimport {AlertType} from \"../../utils\";\nimport * as api from \"../../api\";\nimport Popup from \"reactjs-popup\";\nimport AppPopup from \"../../components/AppPopup\";\nimport {withTranslation} from \"react-i18next\";\n\nimport AppButton from \"../../components/AppButton\";\n\n\nclass MonthlyLimitPopup extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n smsAlert: false,\n emailAlert: false,\n monthlyLimit: this.props.monthlyLimit ? this.props.monthlyLimit : '',\n errorMessage: null\n };\n }\n\n componentWillMount() {\n\n api.getAlertSettings((res, err) => {\n if (err) {\n console.log('Unknown error has occurred.');\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n if (res.length > 0) {\n let emailAlert = false;\n let smsAlert = false;\n\n res.forEach(alertSetting => {\n if (alertSetting.alertTypeId === AlertType.MONTHLY_CONS_LIMIT) {\n alertSetting.mediaTypeId === 1 ? emailAlert = true : smsAlert = true;\n }\n });\n\n this.setState({emailAlert, smsAlert});\n }\n }\n }\n });\n }\n\n render() {\n const {t} = this.props\n return (\n
\n \n {matches => {\n if (matches)\n return this._renderMobile(t);\n else\n return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n const units = DataManager.sharedInstance.units;\n return (\n
\n

{t('SetBillingCycleLimit')}

\n
\n this.setState({monthlyLimit: event.target.value})} type=\"text\"\n className=\"borderRect\"\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16,\n textAlign: 'center'\n }}\n value={this.state.monthlyLimit}>\n \n
{units}
\n
\n
\n
{t('ReceiveAlerts')}
\n
{t('EmailAlert')}
\n this._toggleEmailAlertSwitch(e.target.checked)}/>\n
{t('SMSAlert')}
\n this._toggleSMSAlertSwitch(e.target.checked)}/>\n
\n
\n \n
\n \n
\n \n \n \n
\n );\n }\n\n _renderDesktop(t) {\n const units = DataManager.sharedInstance.units;\n return (\n
\n

{t('SetBillingCycleLimit')}

\n
\n this.setState({monthlyLimit: event.target.value})} type=\"text\"\n className=\"borderRect\"\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16,\n textAlign: 'center'\n }}\n value={this.state.monthlyLimit}>\n \n
{units}
\n
\n
\n
{t('ReceiveAlerts')}
\n
{t('EmailAlert')}
\n this._toggleEmailAlertSwitch(e.target.checked)}/>\n
{t('SMSAlert')}
\n this._toggleSMSAlertSwitch(e.target.checked)}/>\n
\n
\n \n
\n \n
\n \n \n \n
\n );\n }\n\n saveMonthlyLimit = () => {\n const {t} = this.props\n if (isNaN(this.state.monthlyLimit)) {\n this.setState({errorMessage: t('InvalidMonthlyLimitSet')});\n return;\n }\n\n if (this.state.smsAlert) {\n api.setAlert(AlertType.MONTHLY_CONS_LIMIT, 3, (res, err) => {\n\n });\n } else {\n api.unsetAlert(AlertType.MONTHLY_CONS_LIMIT, 3, (res, err) => {\n\n });\n }\n\n if (this.state.emailAlert) {\n api.setAlert(AlertType.MONTHLY_CONS_LIMIT, 1, (res, err) => {\n\n });\n } else {\n api.unsetAlert(AlertType.MONTHLY_CONS_LIMIT, 1, (res, err) => {\n\n });\n }\n\n if (this.state.monthlyLimit === '') {\n //deleteMonthlyLimit\n api.deleteMonthlyLimit((res, err) => {\n if (err) {\n console.log('setMonthlyLimit, ' + err);\n }\n });\n } else {\n api.setMonthlyLimit(this.state.monthlyLimit, (res, err) => {\n if (err) {\n console.log('setMonthlyLimit, ' + err);\n }\n });\n }\n\n\n this.closePopupSave(this.state.monthlyLimit);\n };\n\n closePopupSave = (monthlyLimit) => {\n this.props.onClose(monthlyLimit);\n };\n\n closePopup = () => {\n this.props.onClose();\n };\n\n closeErrorPopup = () => {\n this.setState({errorMessage: null});\n };\n\n _toggleSMSAlertSwitch(smsAlert) {\n this.setState({smsAlert});\n }\n\n _toggleEmailAlertSwitch(emailAlert) {\n this.setState({emailAlert});\n }\n}\n\nexport default withTranslation('translations')(MonthlyLimitPopup);\n","/* eslint-disable */\nimport React from 'react';\nimport {withTranslation} from \"react-i18next\";\nimport moment from 'moment';\nimport DatePicker from \"react-date-picker\";\nimport Toggle from 'react-toggle';\nimport Popup from 'reactjs-popup';\n\nimport './DefineVacationPopup.css';\nimport utils, {AlertType} from '../../utils';\nimport * as api from '../../api';\nimport {Mobile} from '../../App';\nimport images from '../../images';\nimport globals from '../../globals';\nimport AppPopup from \"../../components/AppPopup\";\nimport i18next from \"../../i18n\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass DefineVacationPopup extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n smsAlert: false,\n emailAlert: false,\n consumptionDailyLimit: '',\n startDate: '',\n endDate: '',\n vacationID: '',\n openCalendarPicker: false,\n errorMessage: null,\n createVacation: false,\n };\n\n this.tomorrowDate = new Date();\n this.tomorrowDate.setDate(this.tomorrowDate.getDate() + 1);\n }\n\n componentWillMount() {\n const {vacation} = this.props;\n\n this.setState({\n consumptionDailyLimit: vacation? vacation.consumptionDailyLimit : '',\n startDate: vacation? vacation.startDate : '',\n endDate: vacation? vacation.endDate : '',\n vacationID: vacation? vacation.vacationID : '',\n smsAlert: !vacation,\n emailAlert: !vacation,\n })\n\n if (vacation) {\n api.getAlertSettings((res, err) => {\n //this.setState({isLoading: false});\n if (err) {\n console.log('Unknown error has occurred.');\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n console.log('result in getAlertSettings', res)\n if (res.length > 0) {\n let emailAlert = false;\n let smsAlert = false;\n\n for (let alertSetting of res) {\n if (\n alertSetting.alertTypeId ===\n AlertType.Consumption_During_Vacation\n ) {\n alertSetting.mediaTypeId === 1\n ? (emailAlert = true)\n : (smsAlert = true);\n }\n }\n\n this.setState({emailAlert, smsAlert});\n }\n }\n }\n });\n }\n\n if (typeof vacation?.startDate === 'undefined') {\n this.setState({\n startDate: this.tomorrowDate,\n endDate: this.tomorrowDate\n });\n }\n }\n\n render() {\n const {t} = this.props\n return (\n
\n \n {matches => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n const {units} = this.props;\n return (\n \n

\n {t('setMonthlyTitle')}\n

\n \n
\n
{t('DailyUsageLimit')}
\n \n {if (event.key === \"e\") event.preventDefault()}} \n onChange={event =>\n this._onChangeLimit(event.target.value)\n }\n type=\"number\"\n className=\"borderRect\"\n value={this.state.consumptionDailyLimit}\n />\n \n {units}\n
\n
\n
\n \n
\n {t('VacationDates')}\n
\n \n \n
{t('from')}
\n\n {\n this.setState({startDate})\n if (moment(startDate).diff(moment(this.state.endDate)) > 0) {\n this.setState({endDate: startDate});\n }\n }}\n closeCalendar={false}\n clearIcon={null}\n locale={i18next.language}\n format={i18next.dir() === 'rtl'? \"d MMM yyyy\" : \"dd MMM yyyy\"}\n dayPlaceholder={t('ChooseDate')}\n monthPlaceholder=\"\"\n yearPlaceholder=\"\"\n minDate={this.tomorrowDate}\n value={this.state.startDate ? utils.toDateFromString(this.state.startDate) : this.tomorrowDate}\n calendarIcon={}\n />\n\n \n
\n \n
{t('to')}
\n\n this.setState({endDate}) }\n closeCalendar={false}\n clearIcon={null}\n locale={i18next.language}\n format={i18next.dir() === 'rtl'? \"d MMM yyyy\" : \"dd MMM yyyy\"}\n dayPlaceholder={t('ChooseDate')}\n monthPlaceholder=\"\"\n yearPlaceholder=\"\"\n minDate={this.state.startDate? utils.toDateFromString(this.state.startDate) : this.tomorrowDate}\n value={this.state.endDate ? utils.toDateFromString(this.state.endDate) : this.tomorrowDate}\n calendarIcon={}\n />\n\n
\n \n
\n\n \n {/*
{t('ReceiveAlerts')}
*/}\n\n {/*
\n
\n \n {t('EmailAlert')}\n
\n \n this._toggleEmailAlertSwitch(e.target.checked)\n }\n />\n
\n
\n \n {t('SMSAlert')}\n
\n \n this._toggleSMSAlertSwitch(e.target.checked)\n }\n />\n
\n */}\n\n\n \n
\n \n
\n \n
\n\n \n \n \n
\n );\n }\n\n _renderDesktop(t) {\n const {units} = this.props;\n\n return (\n \n

\n {t('setMonthlyTitle')}\n

\n \n \n
{t('DailyUsageLimit')}
\n \n {if (event.key === \"e\") event.preventDefault()}} \n onChange={event =>\n this._onChangeLimit(event.target.value)\n }\n type=\"number\"\n className=\"borderRect\"\n value={this.state.consumptionDailyLimit}\n />\n \n {units}\n \n \n \n \n
{t('VacationDates')}
\n \n \n
{t('from')}
\n\n {\n this.setState({startDate})\n if (moment(startDate).diff(moment(this.state.endDate)) > 0) {\n this.setState({endDate: startDate});\n }\n }}\n closeCalendar={false}\n clearIcon={null}\n locale={i18next.language}\n format={i18next.dir() === 'rtl'? \"d MMM yyyy\" : \"dd MMM yyyy\"}\n dayPlaceholder={t('ChooseDate')}\n monthPlaceholder=\"\"\n yearPlaceholder=\"\"\n minDate={this.tomorrowDate}\n value={this.state.startDate ? utils.toDateFromString(this.state.startDate) : this.tomorrowDate}\n calendarIcon={}\n />\n\n \n
\n \n
{t('to')}
\n\n this.setState({endDate}) }\n closeCalendar={false}\n clearIcon={null}\n locale={i18next.language}\n format={i18next.dir() === 'rtl'? \"d MMM yyyy\" : \"dd MMM yyyy\"}\n dayPlaceholder={t('ChooseDate')}\n monthPlaceholder=\"\"\n yearPlaceholder=\"\"\n minDate={this.state.startDate? utils.toDateFromString(this.state.startDate) : this.tomorrowDate}\n value={this.state.endDate ? utils.toDateFromString(this.state.endDate) : this.tomorrowDate}\n calendarIcon={}\n />\n\n
\n \n \n \n \n \n {/*
{t('ReceiveAlerts')}
*/}\n {/*
\n
\n \n {t('EmailAlert')}\n
\n \n this._toggleEmailAlertSwitch(e.target.checked)\n }\n />\n
\n
\n \n {t('SMSAlert')}\n
\n \n this._toggleSMSAlertSwitch(e.target.checked)\n }\n />\n \n */}\n \n
\n \n
\n \n
\n\n {/**/}\n {/* */}\n {/**/}\n \n \n \n
\n );\n }\n\n closeErrorPopup = () => {\n this.setState({errorMessage: null});\n };\n\n _onChangeLimit = limit => {\n // limit = limit.replace(/(\\.\\d{1})\\d+/g, '$1');\n if (typeof +limit === 'number' || !limit) {\n if (limit.includes('.') && limit.split('.')[1] !== null) {\n limit = limit.split('.')[0] + '.' + limit.split('.')[1].split('')[0]\n }\n limit = Math.abs(limit)\n this.setState({consumptionDailyLimit: limit? +limit : ''});\n }\n\n };\n\n closeCalendarPicker = (startDate, endDate) => {\n this.setState({\n openCalendarPicker: false,\n startDate: startDate ? startDate : this.state.startDate,\n endDate: endDate ? endDate : this.state.endDate\n });\n };\n\n closePopupSave = vacation => {\n this.props.onClose(vacation);\n };\n\n closePopup = () => {\n this.props.onClose();\n };\n\n saveVacation = () => {\n const {t} = this.props;\n if (\n !this.state.startDate ||\n this.state.startDate === '' ||\n !this.state.endDate ||\n this.state.endDate === ''\n ) {\n this.setState({errorMessage: t('invalidDates')});\n return;\n }\n\n const startOffset = Math.ceil(moment.parseZone(this.state.startDate).utcOffset() / 60);\n const endOffset = Math.ceil(moment.parseZone(this.state.endDate).utcOffset() / 60);\n\n if (this.state.vacationID) {\n //Edit\n \n api.editVacation(\n this.state.vacationID,\n moment.utc(this.state.startDate).add(startOffset, 'hours').format(globals.DATE.STANDARD_FORMAT),\n moment.utc(this.state.endDate).add(endOffset, 'hours').format(globals.DATE.STANDARD_FORMAT),\n this.state.consumptionDailyLimit? this.state.consumptionDailyLimit : 0,\n (res, err) => {\n if (err) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n const vacation = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n vacationID: this.state.vacationID,\n consumptionDailyLimit: this.state.consumptionDailyLimit? this.state.consumptionDailyLimit : 0\n };\n this.closePopupSave(vacation);\n }\n }\n }\n );\n } else {\n //Create\n api.addVacation(\n moment.utc(this.state.startDate).add(startOffset, 'hours').format(globals.DATE.STANDARD_FORMAT),\n moment.utc(this.state.endDate).add(endOffset, 'hours').format(globals.DATE.STANDARD_FORMAT),\n this.state.consumptionDailyLimit? this.state.consumptionDailyLimit : 0,\n (res, err) => {\n this.setState({isLoading: false});\n if (err) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n const vacationID = res.newVacationId;\n const vacation = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n vacationID: vacationID,\n consumptionDailyLimit: this.state.consumptionDailyLimit? this.state.consumptionDailyLimit: 0,\n };\n\n this.closePopupSave(vacation);\n }\n }\n }\n );\n }\n };\n\n onChooseDate() {\n this.setState({openCalendarPicker: true});\n }\n\n _toggleSMSAlertSwitch(smsAlert) {\n this.setState({smsAlert});\n }\n\n _toggleEmailAlertSwitch(emailAlert) {\n this.setState({emailAlert});\n }\n}\n\nexport default withTranslation('translations')(DefineVacationPopup)\n","/* eslint-disable */\nimport React, { PureComponent } from \"react\";\nimport { Bar } from \"react-chartjs-2\";\nimport moment from \"moment\";\nimport { withTranslation } from \"react-i18next\";\nimport i18next from \"../i18n\";\n\nimport globals from \"../globals\";\nimport utils from \"../utils\";\nimport { Mobile } from \"../App\";\nimport \"./MeterChart.css\";\n\nconst Statistics = ({ data, t, units, daily }) => {\n return (\n \n
\n {daily ? (\n <>\n
\n
\n

{t(\"realConsumption\")}

\n
\n
\n
\n
\n

{t(\"estimateConsumption\")}

\n
\n \n ) : (\n <>\n
\n
\n

{t(\"ConsumptionBelowLimit\")}

\n
\n
\n
\n
\n

{t(\"ConsumptionOverLimit\")}

\n
\n \n )}\n
\n\n
\n
\n
{t(\"Minimum\")}
\n
\n
\n {/* {data\n .reduce(\n (min, val) =>\n val < min ? val : min,\n data[0]\n )?.toFixed(2)} */}\n {utils.getFormattedConsumption(\n data.reduce((min, val) => (val < min ? val : min), data[0])\n )}\n
\n
{units}
\n
\n
\n
\n
{t(\"Maximum\")}
\n\n
\n
\n {/* {data\n .reduce((max, val) => (val > max ? val : max), data[0])\n ?.toFixed(2)} */}\n {utils.getFormattedConsumption(data\n .reduce((max, val) => (val > max ? val : max), data[0]))}\n
\n
{units}
\n
\n
\n
\n
{t(\"Average\")}
\n
\n
\n {/* {(data.reduce((a, v) => a + v) / data.length)?.toFixed(2)} */}\n {utils.getFormattedConsumption(data.reduce((a, v) => a + v) / data.length)}\n
\n
{units}
\n
\n
\n
\n
{t(\"Total\")}
\n
\n
\n {/* {data.reduce((a, v) => a + v)?.toFixed(2)} */}\n {utils.getFormattedConsumption(data.reduce((a, v) => a + v))}\n
\n
{units}
\n
\n
\n
\n
\n );\n};\n\nconst Legend = ({ entries }) => {\n return (\n \n {entries?.map((item, index) => {\n return (\n \n \n \n {item.text}\n
\n
\n );\n })}\n
\n );\n};\n\nclass MeterChart extends PureComponent {\n constructor(props) {\n super(props);\n }\n\n render() {\n const { type, timeType, units, selectedMeter, t } = this.props;\n const ticksStyle = {\n fontSize: 18,\n fontFamily:\n i18next.language === \"he\"\n ? \"'OpenSansHebrew', 'sans-serif'\"\n : \"'Lato', 'sans-serif'\",\n fontColor: globals.COLOR.DUSK,\n direction: 'ltr'\n };\n\n if (type === 0) {\n //My consumptions\n switch (timeType) {\n case 0:\n return this._renderMonthlyChart(units, t, ticksStyle);\n case 1:\n return this._renderDailyChart(units, t, ticksStyle);\n }\n } else if (type === 1) {\n return this._renderYearChart(units, t, ticksStyle);\n }\n }\n\n _renderYearChart(units, t, ticksStyle) {\n const allYearsData = this.props.yearsConsumptions;\n let yearsArray = [];\n allYearsData.forEach((month) => {\n const monthYear = utils.getYear(month.consDate);\n if (!yearsArray.some((year) => year === monthYear)) {\n yearsArray.push(monthYear);\n }\n });\n\n const maxValue = Math.max(\n ...allYearsData?.map((item) => +item.cons)\n )?.toFixed();\n\n let yLabel = null;\n const chartOptions = {\n legend: {\n display: false,\n },\n layout: {\n padding: {\n bottom: 50,\n },\n },\n tooltips: {\n titleAlign: i18next.language === \"he\" ? \"right\" : \"left\",\n callbacks: {\n title: (title, data) => {\n return (\n title[0]?.label +\n \" \" +\n data.datasets[title[0]?.datasetIndex]?.label\n );\n },\n label: (tooltipItem) => {\n let tooltip = utils.getFormattedConsumption(tooltipItem.yLabel) + '';\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && tooltip.includes('-')) {\n tooltip = tooltip.replace('-', '') + '-';\n }\n\n tooltip += \" \" + units?.toLowerCase();\n \n return tooltip;\n },\n },\n },\n responsive: true,\n maintainAspectRatio: true,\n scales: {\n yAxes: [\n {\n ticks: {\n beginAtZero: true,\n min: 0,\n callback: function (label) {\n let formattedLabel = label === 0 ? `0 ${units}` : utils.roundDecimal(label, 3);\n if (yLabel === null || yLabel !== formattedLabel) {\n yLabel = formattedLabel;\n } else if (yLabel === formattedLabel) {\n return '';\n }\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && formattedLabel.includes('-')) {\n formattedLabel = formattedLabel.replace('-', '').replace(' ', '- ');\n }\n\n return formattedLabel;\n },\n labelOffset: 20,\n ...ticksStyle,\n },\n gridLines: {\n color: \"rgba(223,223,223, 0.4)\",\n },\n stacked: false,\n },\n ],\n xAxes: [\n {\n barPercentage: 1,\n ticks: {\n beginAtZero: true,\n callback: (label) => {\n return label.toUpperCase();\n },\n ...ticksStyle,\n },\n stacked: false,\n gridLines: {\n display: false,\n },\n },\n ],\n },\n };\n\n const labels = moment.monthsShort(\"-MMM-\");\n\n const data = (canvas) => {\n const ctx = canvas.getContext(\"2d\");\n const gradient3 = ctx.createLinearGradient(0, 0, 0, 200);\n gradient3.addColorStop(0, \"#3eb3f9\");\n gradient3.addColorStop(1, \"#2b74fa\");\n\n const gradient2 = ctx.createLinearGradient(0, 0, 0, 200);\n gradient2.addColorStop(0, \"#1fede0\");\n gradient2.addColorStop(1, \"#18b6c0\");\n\n const gradient1 = ctx.createLinearGradient(0, 0, 0, 200);\n gradient1.addColorStop(0, \"#c6c6c6\");\n gradient1.addColorStop(1, \"#8d8d8d\");\n\n const gradient4 = ctx.createLinearGradient(0, 0, 0, 200);\n gradient3.addColorStop(0, \"#1F28FF\");\n gradient3.addColorStop(1, \"#1F28FF\");\n\n const gradients = [gradient1, gradient2, gradient3, gradient4];\n const legendColours = [\"#ACACAC\", \"#1CD3D2\", \"#3DAEFA\", \"#1F28FF\"];\n\n let datasets = [];\n\n yearsArray.forEach((year, index) => {\n let data = [];\n\n allYearsData.forEach((month) => {\n const monthYear = utils.getYear(month.consDate);\n if (year === monthYear) {\n data[moment(month.consDate).locale('en').format(\"M\") - 1] =\n utils.getFormattedConsumption(month.cons);\n }\n });\n\n datasets.push({\n label: year,\n backgroundColor: legendColours[index],\n data: data,\n });\n });\n\n return {\n labels,\n datasets,\n };\n };\n\n const legendColours = [\"#ACACAC\", \"#1CD3D2\", \"#3DAEFA\", \"#1F28FF\"];\n\n return (\n
\n \n ({\n text: year,\n color: legendColours[index],\n }))}\n />\n
\n );\n }\n\n _renderNeighborChart(units, t, ticksStyle) {\n const data1 = this.props.data;\n const data2 =\n this.props.neighborData?.length > 0\n ? this.props.neighborData?.map((item) => item.avgCons)\n : [];\n\n let isEmpty = true;\n\n if (data1 && data1.length > 0) {\n const pivot = Math.floor(data1.length / 2);\n\n for (let i = 0, j = data1.length - 1; i < pivot, j >= pivot; i++, j--) {\n if (data1[i].cons > 0 || data1[j].cons > 0) {\n isEmpty = false;\n break;\n }\n }\n }\n\n let yLabel = null;\n const chartOptions = {\n legend: {\n display: false,\n },\n layout: {\n padding: {\n bottom: 100,\n },\n },\n responsive: true,\n maintainAspectRatio: true,\n tooltips: {\n titleAlign: i18next.language === \"he\" ? \"right\" : \"left\",\n callbacks: {\n label: (tooltipItem, data) => {\n // data for manipulation\n // return Math.round(tooltipItem.yLabel);\n return utils.getFormattedConsumption(tooltipItem.yLabel);\n },\n },\n },\n scales: {\n yAxes: [\n {\n ticks: {\n beginAtZero: true,\n max: !isEmpty ? undefined : 60000,\n callback: function (label) {\n let formattedLabel = label === 0 ? `0 ${units}` : utils.roundDecimal(label, 3);\n if (yLabel === null || yLabel !== formattedLabel) {\n yLabel = formattedLabel;\n } else if (yLabel === formattedLabel) {\n return '';\n }\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && formattedLabel.includes('-')) {\n formattedLabel = formattedLabel.replace('-', '').replace(' ', '- ');\n }\n\n return formattedLabel;\n },\n labelOffset: 20,\n ...ticksStyle,\n },\n gridLines: {\n color: \"rgba(223,223,223, 0.4)\",\n },\n stacked: false,\n },\n ],\n xAxes: [\n {\n barPercentage: 1,\n ticks: {\n beginAtZero: true,\n callback: function (label, index, labels) {\n if (data1 && data1.length > 0) {\n const date = utils\n .getMonthName(data1[index].consDate)\n .toUpperCase();\n return date;\n }\n },\n ...ticksStyle,\n },\n gridLines: {\n display: false,\n },\n stacked: false,\n },\n ],\n },\n };\n\n //let labels = moment.monthsShort('-MMM-');\n let labels = [];\n // const startMonth = utils.getMonthDigit(data1[0].consDate);\n // const endMonth = utils.getMonthDigit(data1[data1.length - 1].consDate);\n\n for (\n let i = 0;\n i <\n utils.getMonthDiff(data1[0].consDate, data1[data1.length - 1].consDate);\n i++\n ) {\n labels.push(utils.getMonthName(data1[i].consDate));\n }\n\n // if (startMonth && endMonth) {\n // labels = labels.slice(startMonth-1, endMonth);\n // }\n\n const data = (canvas) => {\n const ctx = canvas.getContext(\"2d\");\n const gradient = ctx.createLinearGradient(0, 0, 0, 200);\n gradient.addColorStop(0, \"#3eb3f9\");\n gradient.addColorStop(1, \"#2b74fa\");\n\n return {\n labels: labels,\n datasets: [\n {\n label: \"My usage\",\n backgroundColor: gradient,\n pointColor: \"#fff\",\n pointStrokeColor: \"#2b74fa\",\n pointHighlightFill: \"#fff\",\n pointHighlightStroke: \"#2b74fa\",\n data: data1?.length > 0 ? data1?.map((item) => item.cons) : [],\n },\n {\n label: \"Household average usage\",\n backgroundColor: \"#d9d9d9\",\n pointColor: \"#fff\",\n pointStrokeColor: \"#2b74fa\",\n pointHighlightFill: \"#fff\",\n pointHighlightStroke: \"#2b74fa\",\n data: data2,\n },\n ],\n };\n };\n\n return (\n
\n \n \n
\n );\n }\n\n _renderDailyChart(units, t, ticksStyle) {\n let chartData = this.props.data;\n console.log('_renderDailyChart chartData', chartData);\n\n if (chartData && chartData.length > 0) {\n //if (!utils.isToday(chartData[0].consDate)) {\n if (utils.isArrAscendingByConsDate(chartData)) {\n chartData.reverse();\n }\n\n chartData = this.props.data.filter((item, index) => index < 90);\n\n //if (utils.isToday(chartData[0].consDate)) {\n if (!utils.isArrAscendingByConsDate(chartData)) {\n chartData.reverse();\n }\n }\n\n const maxValue = Math.max(...chartData?.map((item) => +item.cons))?.toFixed(\n 1\n );\n\n let yLabel = null;\n const chartOptions = {\n legend: {\n display: false,\n },\n layout: {\n padding: {\n bottom: 100, right: 50,\n },\n },\n tooltips: {\n titleAlign: i18next.language === \"he\" ? \"right\" : \"left\",\n callbacks: {\n title: (title) =>\n moment(chartData[title[0].index]?.consDate).format(\"DD MMM YYYY\"),\n label: (tooltipItem) => {\n let tooltip = utils.getFormattedConsumption(tooltipItem.yLabel) + '';\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && tooltip.includes('-')) {\n tooltip = tooltip.replace('-', '') + '-';\n }\n\n tooltip += \" \" + units?.toLowerCase();\n \n return tooltip;\n },\n },\n },\n responsive: true,\n maintainAspectRatio: true,\n scales: {\n yAxes: [\n {\n ticks: {\n beginAtZero: true,\n // max: maxValue? maxValue : 1,\n // maxTicksLimit: 2,\n // precision: 0,\n callback: function (label) {\n let formattedLabel = label === 0 ? `0 ${units}` : utils.roundDecimal(label, 3);\n if (yLabel === null || yLabel !== formattedLabel) {\n yLabel = formattedLabel;\n } else if (yLabel === formattedLabel) {\n return '';\n }\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && formattedLabel.includes('-')) {\n formattedLabel = formattedLabel.replace('-', '') + '-';\n }\n\n return formattedLabel;\n },\n labelOffset: 20,\n ...ticksStyle,\n },\n gridLines: {\n color: \"rgba(223,223,223, 0.4)\",\n },\n },\n ],\n xAxes: [\n {\n barPercentage: 0.4,\n ticks: {\n beginAtZero: true,\n autoSkip: true,\n lineHeight: 2.5,\n maxRotation: 0,\n // callback: (label) => {\n // return label[1]? label : label[0]\n // },\n ...ticksStyle,\n },\n stacked: false,\n gridLines: {\n display: false,\n },\n },\n ],\n },\n };\n\n let isGapNeeded = false;\n const labels = chartData?.map((day, index) => {\n let year = '';\n\n if (index === 0) {\n year = moment(day.consDate).format(\"MMM YYYY\");\n \n if (moment(day.consDate).daysInMonth() === parseInt(moment(day.consDate).format('D')) && moment(chartData[1]?.consDate).format('D') === moment(chartData[1]?.consDate).startOf('month').format('D')) {\n isGapNeeded = true;\n }\n } else {\n if (isGapNeeded) {\n if (index === 3 && moment(day.consDate).format(\"M\") !== moment(chartData[0]?.consDate).format(\"M\")) {\n year = moment(day.consDate).format(\"MMM YYYY\");\n }\n } else {\n if (moment(day.consDate).format('D') === moment(day.consDate).startOf('month').format('D')) { \n year = moment(day.consDate).format(\"MMM YYYY\");\n }\n }\n }\n\n return [moment(day.consDate).format(\"DD\"), year.toUpperCase()];\n });\n\n console.log('labels', labels);\n\n const chartShape = this.props.chartShape;\n let sum =\n chartData && chartData.length > 0\n ? chartData.reduce(function (prev, cur) {\n return prev + cur.cons;\n }, 0)\n : 0;\n\n sum = utils.getFormattedConsumption(sum) + '';\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && sum.includes('-')) {\n sum = sum.replace('-', '') + '-';\n }\n\n const data = () => {\n const backgroundColor = chartData?.map((item) =>\n item?.estimationType === 0 ? \"#1cd3d2\" : \"#3daefa\"\n );\n\n return {\n labels,\n datasets: [\n {\n backgroundColor,\n data:\n chartData?.length > 0\n ? chartData?.map((item) => utils.getFormattedConsumption(item?.cons))\n : [],\n },\n ],\n };\n };\n\n return (\n \n {(matches) => {\n if (matches)\n return (\n \n \n {chartData && chartData.length > 0 && (\n (item.cons ? item.cons : 0))}\n units={units}\n daily={true}\n />\n )}\n
\n );\n else\n return chartShape === \"bar\" ? (\n
\n \n {chartData && chartData.length > 0 && (\n (item.cons ? item.cons : 0))}\n units={units}\n daily={true}\n />\n )}\n
\n ) : (\n
    \n \n \n \n {t(\"Data\")}\n
\n \n {t(\"Consumption\")} ({units})\n \n \n {(this.props.selectedMeter !== null) ? t(\"Status\") : ''}\n \n \n \n {chartData?.map((item, index) => {\n let consumption = utils.getFormattedConsumption(item.cons) + '';\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && consumption.includes('-')) {\n consumption = consumption.replace('-', '') + '-';\n }\n\n return (\n \n \n \n {moment(item.consDate).format(\"DD/MM/YYYY\")}\n \n \n \n {consumption}\n \n \n \n {(this.props.selectedMeter !== null) ? item?.meterStatusDesc ?? t(\"OK\") : \"\"}\n \n \n \n \n );\n })}\n
\n \n \n {t(\"Total\")}\n
\n \n {sum}\n \n \n \n \n \n \n );\n }}\n \n );\n }\n\n _renderMonthlyChart(units, t, ticksStyle) {\n let chartData = this.props.data;\n console.log('this.props.selectedMeter', this.props.selectedMeter);\n // const maxValue = Math.max(...chartData?.map(item => +item?.cons))?.toFixed()\n\n let yLabel = null;\n const chartOptions = {\n legend: {\n display: false,\n position: \"bottom\",\n align: \"end\",\n rtl: i18next.language === \"he\",\n reverse: true,\n labels: {\n fontFamily:\n i18next.language === \"he\"\n ? \"'OpenSansHebrew', 'sans-serif'\"\n : \"'Lato', 'sans-serif'\",\n fontSize: 18,\n fontColor: \"#46557a\",\n boxWidth: 16,\n padding: 60,\n },\n },\n layout: {\n padding: {\n bottom: 100,\n },\n },\n responsive: true,\n maintainAspectRatio: true,\n tooltips: {\n titleAlign: i18next.language === \"he\" ? \"right\" : \"left\",\n callbacks: {\n title: (title) =>\n moment(chartData[title[0].index].consDate).format(\"MMM YYYY\"),\n label: (tooltipItem) => {\n let tooltip = utils.getFormattedConsumption(tooltipItem.yLabel) + '';\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && tooltip.includes('-')) {\n tooltip = tooltip.replace('-', '') + '-';\n }\n\n tooltip += \" \" + units?.toLowerCase();\n \n // data for manipulation\n // return Math.round(tooltipItem.yLabel) + \" \" + units?.toLowerCase();\n return tooltip;\n // return tooltipItem.datasetIndex === 0 ?\n // t('ConsumptionBelowLimit') + ' ' + Math.round(tooltipItem.yLabel) + ' ' + units?.toLowerCase()\n // : t('ConsumptionOverLimit') + ' ' + Math.round(tooltipItem.yLabel) + ' ' + units?.toLowerCase()\n },\n },\n },\n scales: {\n yAxes: [\n {\n stacked: true,\n ticks: {\n beginAtZero: true,\n // max: maxValue? maxValue : 1,\n callback: function (label) {\n let formattedLabel = label === 0 ? `0 ${units} ` : utils.roundDecimal(label, 3);\n if (yLabel === null || yLabel !== formattedLabel) {\n yLabel = formattedLabel;\n } else if (yLabel === formattedLabel) {\n return '';\n }\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && formattedLabel.includes('-')) {\n formattedLabel = formattedLabel.replace('-', '') + '-';\n }\n\n return formattedLabel;\n },\n ...ticksStyle,\n },\n gridLines: {\n color: \"rgba(223,223,223, 0.4)\",\n },\n },\n ],\n xAxes: [\n {\n barPercentage: 0.4,\n ticks: {\n beginAtZero: true,\n lineHeight: 2.5,\n ...ticksStyle,\n },\n stacked: true,\n gridLines: {\n display: false,\n },\n },\n ],\n },\n };\n\n const data = (canvas) => {\n const ctx = canvas.getContext(\"2d\");\n const gradient = ctx.createLinearGradient(0, 0, 0, 200);\n gradient.addColorStop(0, \"#3eb3f9\");\n gradient.addColorStop(1, \"#2b74fa\");\n const labels = chartData?.map((month, index) => {\n let year =\n !index || +moment(month.consDate).format(\"M\") === 1\n ? moment(month.consDate).format(\"YYYY\")\n : \" \";\n return [utils.getMonthName(month.consDate).toUpperCase(), year];\n });\n\n // console.log('labels', labels)\n\n return {\n labels,\n datasets: [\n {\n label: t(\"ConsumptionBelowLimit\"),\n backgroundColor: gradient,\n pointColor: \"#fff\",\n pointStrokeColor: \"#2b74fa\",\n pointHighlightFill: \"#fff\",\n pointHighlightStroke: \"#2b74fa\",\n data:\n chartData?.length > 0\n ? chartData?.map((item) => {\n if (item === null) {\n return 0;\n }\n return this.props.monthlyLimit > item.cons\n ? item.cons\n : this.props.monthlyLimit;\n })\n : [],\n },\n {\n label: t(\"ConsumptionOverLimit\"),\n backgroundColor: \"#ff541e\",\n pointColor: \"#fff\",\n pointStrokeColor: \"#ff541e\",\n pointHighlightFill: \"#fff\",\n pointHighlightStroke: \"#ff774b\",\n data:\n chartData?.length > 0\n ? chartData?.map((item) =>\n this.props.monthlyLimit < item.cons\n ? item.cons - this.props.monthlyLimit\n : 0\n )\n : [],\n },\n ],\n };\n };\n\n const chartShape = this.props.chartShape;\n let sum =\n chartData?.length > 0\n ? chartData.reduce(function (prev, cur) {\n return prev + cur.cons;\n }, 0)\n : 0;\n\n sum = utils.getFormattedConsumption(sum) + '';\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && sum.includes('-')) {\n sum = sum.replace('-', '') + '-';\n }\n\n return (\n \n {(matches) => {\n if (matches)\n return (\n \n \n {chartData?.length > 0 && (\n (item.cons ? item.cons : 0))}\n units={units}\n />\n )}\n \n );\n else\n return chartShape === \"bar\" ? (\n
\n \n {chartData?.length > 0 && (\n (item.cons ? item.cons : 0))}\n units={units}\n />\n )}\n
\n ) : (\n
    \n \n \n \n {t(\"Data\")}\n \n \n \n {t(\"Consumption\")} ({units})\n \n \n \n {/* {t(\"Status\")} */}\n \n \n {chartData?.map((item, index) => {\n let consumption = utils.getFormattedConsumption(item.cons) + '';\n\n if ((i18next.language === 'he' || i18next.language === 'ar') && consumption.includes('-')) {\n consumption = consumption.replace('-', '') + '-';\n }\n\n return (\n \n \n \n {moment(item.consDate).format(\"MM/YYYY\")}\n \n \n \n {consumption}\n \n \n \n {/* {item?.meterStatusDesc ?? t(\"OK\")} */}\n \n \n \n );\n })}\n
    \n \n \n {t(\"Total\")}\n
    \n \n {sum}\n \n \n \n \n \n
\n );\n }}\n
\n );\n }\n}\n\nexport default withTranslation(\"translations\")(MeterChart);\n","/* eslint-disable */\nimport React from 'react';\nimport globals from \"../globals\";\nimport utils from \"../utils\";\nimport images from \"../images\";\nimport {Mobile} from \"../App\";\nimport {withTranslation} from \"react-i18next\";\n\n class MeterSelection extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {t} = this.props\n return (\n
\n \n {matches => {\n if (matches)\n return this._renderMobile(t);\n else\n return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n return (\n
\n
\n
\n
{t('ChooseWaterMeter')}
\n \n
\n
\n {this.props.waterMeters.map((item, index) => {\n return (\n
\n \n
\n );\n })}\n \n
\n
\n );\n }\n\n _renderDesktop(t) {\n\n return (\n
\n
\n
\n
{t('ChooseWaterMeter')}
\n \n
\n
\n {this.props.waterMeters.map((item, index) => {\n return (\n
\n \n
\n );\n })}\n \n
\n
\n );\n }\n}\n\nexport default withTranslation('translations')(MeterSelection)\n","/* eslint-disable */\nimport React from 'react';\nimport Helmet from 'react-helmet';\nimport DayPicker, {DateUtils} from 'react-day-picker';\nimport DatePicker from 'react-date-picker';\nimport 'react-day-picker/lib/style.css';\nimport moment from \"moment\";\nimport MomentLocaleUtils from 'react-day-picker/moment';\n\nimport images from \"../images\";\nimport {Mobile} from \"../App\";\nimport i18next from '../i18n';\n\nimport AppButton from \"../components/AppButton\";\n\nexport default class CalendarRangePicker extends React.Component {\n constructor(props) {\n super(props);\n this.handleDayClick = this.handleDayClick.bind(this);\n this.handleDayMouseEnter = this.handleDayMouseEnter.bind(this);\n this.handleResetClick = this.handleResetClick.bind(this);\n this.state = this.getInitialState();\n }\n\n getInitialState() {\n return {\n from: this.props.startDate,\n to: this.props.endDate,\n enteredTo: this.props.endDate, // Keep track of the last day for mouseEnter.\n singleDay: this.props.singleDay,\n isVacation: this.props.isVacation,\n isMonthSelection: this.props.isMonthSelection,\n shouldSelectMonth: true,\n startOfMonthSelected: false,\n fromMonth: null,\n billingCycle: this.props.billingCycle\n };\n }\n\n isSelectingFirstDay(from, to, day) {\n const isBeforeFirstDay = from && DateUtils.isDayBefore(day, from);\n const isRangeSelected = from && to;\n return !from || isBeforeFirstDay || isRangeSelected;\n }\n\n handleDayClick(day) {\n const {from, to, singleDay, isVacation} = this.state;\n\n if (isVacation && day <= new Date())\n return;\n\n if (singleDay) {\n this.setState({\n from: day,\n to: null,\n enteredTo: null,\n });\n return;\n }\n\n // if (from && to && day >= from && day <= to) {\n // this.handleResetClick();\n // return;\n // }\n\n if (this.isSelectingFirstDay(from, to, day)) {\n this.setState({\n from: day,\n to: null,\n enteredTo: null,\n });\n\n if (this.state.isMonthSelection && this.state.shouldSelectMonth) {\n if (!this.state.startOfMonthSelected) {\n //Selecting 'from' month\n const startOfMonth = moment(day).startOf('month').toDate();\n this.setState({\n startOfMonthSelected: !this.state.startOfMonthSelected,\n shouldSelectMonth: false,\n fromMonth: startOfMonth\n }, () => {\n const endOfMonth = moment(day).endOf('month').toDate();\n //const nextMonth = moment(day).add(1, 'month').toDate();\n //this.handleDayClick(nextMonth);\n\n this.handleDayClick(startOfMonth);\n this.handleDayClick(startOfMonth);\n this.handleDayClick(endOfMonth);\n });\n } else {\n //Selecting 'to' month\n const startOfMonth = this.state.fromMonth;\n this.setState({\n startOfMonthSelected: !this.state.startOfMonthSelected,\n shouldSelectMonth: false,\n fromMonth: null\n }, () => {\n const endOfMonth = moment(day).endOf('month').toDate();\n\n this.handleDayClick(startOfMonth);\n this.handleDayClick(startOfMonth);\n this.handleDayClick(endOfMonth);\n });\n }\n\n } else if (!this.state.shouldSelectMonth) {\n this.setState({shouldSelectMonth: true});\n }\n\n } else {\n this.setState({\n to: day,\n enteredTo: day,\n });\n\n if (this.state.isMonthSelection && !this.state.shouldSelectMonth) {\n this.setState({shouldSelectMonth: true});\n }\n }\n }\n\n handleDayMouseEnter(day) {\n const {from, to, singleDay} = this.state;\n if (singleDay)\n return;\n\n if (!this.isSelectingFirstDay(from, to, day)) {\n this.setState({\n enteredTo: day,\n });\n }\n }\n\n handleResetClick() {\n this.setState(this.getInitialState());\n }\n\n closePopup = () => {\n this.props.onClose();\n };\n\n saveDates = () => {\n this.props.onClose(this.state.from, this.state.to);\n };\n\n render() {\n return (\n
\n \n {matches => {\n if (matches)\n return this._renderMobile();\n else\n return this._renderDesktop();\n }}\n \n
\n );\n }\n\n _renderMobile() {\n const {from, to, enteredTo, singleDay, isVacation} = this.state;\n const modifiers = {start: from, end: enteredTo};\n const disabledDays = isVacation ? {before: new Date()} : {after: this.state.isMonthSelection\n ? moment().subtract(1, 'months').startOf('month')\n : new Date()};\n console.log(disabledDays)\n const selectedDays = [from, {from, to: enteredTo}];\n return (\n
\n \n
\n \n
\n \n
\n \n \n \n
\n );\n }\n\n _renderDesktop() {\n const {from, to, enteredTo, singleDay, isVacation} = this.state;\n const modifiers = {start: from, end: enteredTo};\n let beforeDate = new Date();\n beforeDate.setDate(beforeDate.getDate() + 1);\n beforeDate.setHours(0, 0, 0);\n const disabledDays = isVacation ? {before: beforeDate} : {after: \n this.state.isMonthSelection\n ? moment().subtract(2, 'months').startOf('month')\n : new Date()};\n console.log('disabledDays', disabledDays)\n const selectedDays = [from, {from, to: enteredTo}];\n return (\n
\n \n\n
\n \n
\n \n
\n \n \n \n
\n );\n }\n}\n","import React from \"react\";\nimport Popup from \"reactjs-popup\";\nimport * as FileSaver from \"file-saver\";\nimport moment from \"moment\";\nimport { withTranslation } from \"react-i18next\";\nimport DatePicker from \"react-date-picker\";\n\nimport \"./Home.css\";\nimport \"./DatePicker.css\";\nimport utils from \"../../utils\";\nimport {AlertsTitles} from \"../../utils\";\nimport * as api from \"../../api\";\nimport { Mobile } from \"../../App\";\nimport MonthlyLimitPopup from \"./MonthlyLimitPopup\";\nimport images from \"../../images\";\nimport DefineVacationPopup from \"./DefineVacationPopup\";\nimport globals from \"../../globals\";\nimport MeterChart from \"../../components/MeterChart\";\nimport MeterSelection from \"../../components/MeterSelection\";\nimport CalendarRangePicker from \"../../components/CalendarRangePicker\";\nimport AppPopup from \"../../components/AppPopup\";\nimport i18next from \"../../i18n\";\n\nclass Home extends React.Component {\n constructor(props) {\n super(props);\n\n this.today = new Date();\n\n this.state = {\n isLoading: false,\n startDate: moment(this.today).subtract(11, \"months\").startOf(\"month\").locale('en'), //1\n endDate: moment(this.today).endOf(\"month\").locale('en'),\n dailyStartDate: moment().subtract(31, \"days\").locale('en'),\n dailyEndDate: moment().locale('en'),\n monthlyDefaultStartDate: moment(this.today).subtract(11, \"months\").locale('en'),\n monthlyDefaultEndDate: this.today,\n dailyDefaultStartDate: moment(this.today).subtract(1, \"months\").locale('en'),\n dailyDefaultEndDate: this.today,\n currentMeter: null,\n thisMonthUsage: \"\",\n forecastUsage: \"\",\n monthlyLimit: \"\",\n alert: undefined,\n openMonthlyLimit: false,\n openDefineVacation: false,\n openMeterSelection: false,\n openCalendarPicker: false,\n selectedChartTypeIndex: 0,\n selectedChartTimeTypeIndex: 0,\n dailyConsumptions: [],\n monthlyConsumptions: [],\n presentationMode: \"\",\n monthlyConsumptionsForNeighborhood: [],\n hourlyConsumptions: [],\n yearsConsumptions: [],\n neighborConsumptions: [],\n chartShape: \"bar\",\n errorMessage: null,\n isDefault: true,\n isBigNumbers: false,\n billingCycles: [\n { type: \"current\", billingCycleStart: \"\", billingCycleEnd: \"\" },\n {\n type: \"previous\",\n billingCycleStart: \"\",\n billingCycleEnd: \"\",\n },\n ],\n chartTypes: [\"WATER CONSUMPTION\", \"COMPARE TO PREVIOUS YEAR\"],\n };\n\n this.chartTimeTypes = [\"Monthly\", \"Daily\"];\n }\n\n componentDidMount() {\n if (this.props.meters.length === 1) {\n this.onMeterSelected(this.props.meters[0]);\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (JSON.stringify(prevProps.meters) !== JSON.stringify(this.props.meters)) {\n if (this.props.meters.length === 1) {\n this.onMeterSelected(this.props.meters[0]);\n }\n }\n }\n\n getClassName = () => {\n if (this.state.forecastUsage < 0) return \"endOfMonthForecastValue OverLimit\";\n\n return this.state.monthlyLimit\n ? this.state.monthlyLimit < this.state.forecastUsage\n ? \"endOfMonthForecastValue OverLimit\"\n : \"endOfMonthForecastValue Limit\"\n : \"endOfMonthForecastValue\";\n };\n\n _renderDesktop(t, meterDesc, meterSn) {\n const billingCycleText = utils.toMonthDate(new Date());\n const { units, meters } = this.props;\n const {\n selectedChartTimeTypeIndex,\n selectedChartTypeIndex,\n startDate,\n endDate,\n dailyStartDate,\n dailyEndDate,\n } = this.state;\n\n let chartData;\n switch (selectedChartTypeIndex) {\n case 2: {\n //Year\n chartData = this.state.monthlyConsumptionsForNeighborhood;\n break;\n }\n default: {\n //My\n switch (selectedChartTimeTypeIndex) {\n case 1:\n //Day\n chartData = this.state.dailyConsumptions;\n break;\n default:\n //Month\n chartData = this.state.monthlyConsumptions;\n }\n }\n }\n\n if (typeof chartData === \"object\" && !Array.isArray(chartData) && chartData !== null) {\n chartData = [];\n }\n\n console.log('this.props?.alerts', this.props?.alerts);\n\n return (\n
\n \n \n \n \n
{t(\"BillingCycle\")}
\n
{billingCycleText}
\n
\n
\n
\n this.setState({ openMeterSelection: true })}\n >\n
\n {t(\"WaterMeter\") + \" \" + meterSn}\n
\n
\n \"meter\n
{meterDesc}
\n
\n \n
\n
\n\n
\n\n \n
\n {(meters.length === 1 || this.state?.currentMeter !== null) && (\n
\n {/*
*/}\n
\n
\n {t(\"CurrentMeterReading\")}\n
\n
\n
\n {/* {JSON.stringify(this.state.currentMeter)} */}\n {this.state?.currentMeter !== null\n ? utils.getFormattedConsumption(\n this.state?.currentMeter?.read\n )\n : meters.length === 1\n ? utils.getFormattedConsumption(meters[0].read)\n : null}\n
\n
\n {(this.state?.currentMeter !== null ||\n meters.length === 1) &&\n units?.toLowerCase()}\n
\n
\n
\n
\n )}\n \n
\n {t(\"CurrentBillingCycle\")}\n
\n
\n this.state.monthlyLimit\n ? \"monthlyLimitValueLabel\"\n : this.state.thisMonthUsage < 0 ? \"monthlyLimitValueLabel\" : \"thisMonthValueGreen\"\n }\n style={this.state.isBigNumbers ? {\"font-size\": \"38px\", direction: 'ltr'} : {direction: 'ltr'}}\n >\n {utils.getFormattedConsumption(this.state.thisMonthUsage)}\n
\n
\n {units?.toLowerCase()}\n
\n
\n
\n
\n {/*
*/}\n
\n
\n {t(\"EndOfBillingCycleForecast\")}\n
\n
\n
\n {utils.getFormattedConsumption(\n this.state.forecastUsage\n )}\n
\n
\n {units?.toLowerCase()}\n
\n
\n
\n
\n
\n
\n \n
\n {t(\"BillingCycleLimit\") +\n \" \" +\n this.state.monthlyLimit +\n \" \" +\n units?.toLowerCase()}\n
\n {/*
*/}\n {/* {this.state.monthlyLimit}*/}\n {/*
*/}\n {/*
*/}\n {/* {units?.toLowerCase()}*/}\n {/*
*/}\n
\n
\n \n \n
{t(\"getInformed\")}
\n {this.props.vacation ? (\n \n
\n {utils.toVacationDate(this.props.vacation.startDate)} -{\" \"}\n {utils.toVacationDate(this.props.vacation.endDate)}\n
\n
\n \n {t(\"Update\")}\n

\n \n {t(\"CancelVacation\")}\n

\n
\n
\n ) : (\n \n {t(\"btnDefineDays\").toUpperCase()}\n \n )}\n
\n \n \n {this.props?.alerts.map((item, index) => {\n return (\n \n \n \n \n
\n
{t(`AlertsTitles.${AlertsTitles[+item.alertTypeId] ?? ''}`)}
\n
\n
\n {t(\"WaterMeter\")} \n
\n
{`${\n item?.meterSn || \"\"\n }, ${item?.fullAddress || \"\"}`}
\n
\n
\n \n \n \n
\n {utils.toAlertDate(item.alertTime)}\n
\n this.onOpenAlert(item)}\n >\n {t(\"seeDetails\")}\n \n \n \n \n \n );\n })}\n \n {this.state.chartTypes.map((item, index) => {\n return (\n this.onChartTypeChange(index)}\n style={{\n display: \"flex\",\n width: \"100%\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"stretch\",\n padding: 0,\n }}\n >\n \n {this.renderTabHeader(item, t)}\n \n \n \n );\n })}\n \n \n {this.state.selectedChartTypeIndex === 0 && (\n \n \n {this.chartTimeTypes.map((item, index) => {\n return (\n this.onChartTimeChange(index)}\n >\n \n {t(item)}\n \n \n );\n })}\n \n \n \n
{t(\"from\")}
\n {\n this.closeCalendarPicker(\n startDate,\n !selectedChartTimeTypeIndex\n ? moment(endDate).diff(startDate, \"months\") > 12\n ? moment(startDate).add(12, \"month\")\n : moment(endDate).diff(startDate, \"months\") < 0\n ? startDate\n : endDate\n : moment(dailyEndDate).diff(startDate, \"days\") > 30\n ? moment(startDate).add(31, \"days\")\n : moment(dailyEndDate).diff(startDate, \"days\") < 0\n ? startDate\n : dailyEndDate\n );\n }}\n closeCalendar={false}\n clearIcon={null}\n locale={i18next.language}\n maxDetail={!selectedChartTimeTypeIndex ? \"year\" : \"month\"}\n format={\n !selectedChartTimeTypeIndex ? \"yyyy,MMM\" : \"yyyy,MMM, d\"\n }\n value={utils.toDateFromString(\n !selectedChartTimeTypeIndex ? startDate : dailyStartDate\n )}\n calendarIcon={\n \"from\"\n }\n maxDate={new Date()}\n minDetail={\"year\"}\n />\n \n {\n \n
{t(\"to\")}
\n\n {\n this.closeCalendarPicker(\n !selectedChartTimeTypeIndex\n ? moment(endDate).diff(startDate, \"months\") > 12\n ? moment(endDate).subtract(12, \"month\")\n : startDate\n : moment(endDate).diff(dailyStartDate, \"days\") > 30\n ? moment(endDate).subtract(31, \"days\")\n : dailyStartDate,\n endDate\n );\n }}\n clearIcon={null}\n locale={i18next.language}\n maxDetail={!selectedChartTimeTypeIndex ? \"year\" : \"month\"}\n format={\n !selectedChartTimeTypeIndex ? \"yyyy,MMM\" : \"yyyy,MMM, d\"\n }\n value={utils.toDateFromString(\n !selectedChartTimeTypeIndex ? endDate : dailyEndDate\n )}\n calendarIcon={\n \"to\"\n }\n maxDate={new Date()}\n minDate={utils.toDateFromString(\n !selectedChartTimeTypeIndex ? startDate : dailyStartDate\n )}\n minDetail={\"year\"}\n />\n \n }\n \n \n )}\n {this.state.selectedChartTypeIndex === 0 && (\n \n
\n \n \n
\n
\n \n \n
\n \n )}\n \n moment(\n a.consDate\n ).unix() -\n moment(b.consDate).unix()\n ) : []}\n monthlyLimit={this.state.monthlyLimit}\n yearsConsumptions={this.state.yearsConsumptions}\n style={{ marginTop: 16 }}\n chartShape={this.state.chartShape}\n />\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n {/* {true && (\n \n \n \n )} */}\n\n {/* this.printButtonRef}*/}\n {/*content={() => this.chartRef}*/}\n {/*/>*/}\n \n );\n }\n\n renderTabHeader(item, t) {\n switch (item) {\n case \"WATER CONSUMPTION\":\n return t(\"waterConsumption\");\n\n case \"COMPARE TO PREVIOUS YEAR\":\n return t(\"compareToPreviousYear\");\n\n case \"ME VS. SIMILAR HOUSEHOLDS\":\n return t(\"tab2Heading\");\n\n default:\n return t(\"compareToPreviousYear\");\n }\n }\n\n closeErrorPopup() {\n this.setState({ errorMessage: null });\n }\n\n onChooseDate() {\n this.setState({ openCalendarPicker: true });\n }\n\n closeCalendarPicker = (startDate, endDate) => {\n const { currentMeter, selectedChartTimeTypeIndex } = this.state;\n\n if (selectedChartTimeTypeIndex) {\n this.setState(\n {\n dailyStartDate: moment(startDate).locale('en').format(\"YYYY-MM-DD\"),\n dailyEndDate: moment(endDate).locale('en').format(\"YYYY-MM-DD\"),\n },\n () => {\n currentMeter\n ? this._getDataForMeter(currentMeter, false)\n : this._getDataForAllMeters(false);\n }\n );\n } else {\n this.setState(\n {\n startDate: moment(startDate).locale('en').format(\"YYYY-MM-DD\"),\n endDate: utils.getEndOfMonthDate(endDate),\n },\n () => {\n currentMeter\n ? this._getDataForMeter(currentMeter, false)\n : this._getDataForAllMeters(false);\n }\n );\n }\n };\n\n onExcel = () => {\n if (this.state.selectedChartTimeTypeIndex === 0) {\n //Monthly\n api.getAllMonthlyConsumptionExcel(\n this.state?.currentMeter?.meterCount ?? null,\n utils.toDateString(this.state.startDate),\n utils.toDateString(this.state.endDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n FileSaver.saveAs(res, \"monthly_consumption.csv\");\n }\n }\n }\n );\n } else if (this.state.selectedChartTimeTypeIndex === 1) {\n //Daily\n // if (this.state.isDefault) {\n // api.getAllDailyConsumptionExcelBasedOnBillingCycle(\n // (res, err) => {\n // if (err) {\n // console.log('Unknown error has occurred.');\n // } else {\n // if (res.error) {\n // console.log(res.error);\n // } else {\n // FileSaver.saveAs(res, 'daily_consumption.csv');\n // }\n // }\n // }\n // );\n // } else {\n api.getAllDailyConsumptionExcel(\n this.state?.currentMeter?.meterCount ?? null,\n utils.toDateString(this.state.dailyStartDate),\n utils.toDateString(this.state.dailyEndDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n FileSaver.saveAs(res, \"daily_consumption.csv\");\n }\n }\n }\n );\n // }\n }\n };\n\n onPrint = () => {\n window.print();\n };\n\n onMeterSelected = (meter) => {\n const chartTypes = [\"WATER CONSUMPTION\", \"COMPARE TO PREVIOUS YEAR\"];\n console.log(\"onMeterSelected\", meter);\n this.setState({\n isBigNumbers: false,\n openMeterSelection: false,\n currentMeter: meter,\n chartTypes,\n });\n meter ? this._getDataForMeter(meter) : this._getDataForAllMeters();\n\n if (meter !== null && utils.getFormattedConsumption(meter.read).toString().length > 6) {\n this.setState({isBigNumbers: true});\n }\n \n // this.state.currentMeter.read\n\n // this.state.thisMonthUsage\n // this.state.forecastUsage\n // style={utils.getFormattedConsumption(this.state.thisMonthUsage).toString().length > 6 ? {\"font-size\": \"50px\"} : {}\n };\n\n onTabSelected = (index) => {};\n\n openDefineVacation = () => {\n this.setState({ openDefineVacation: true });\n };\n\n closeDefineVacation = (vacation) => {\n this.setState({ openDefineVacation: false });\n if (vacation) {\n this.props.handleStateUpdate({ vacation });\n }\n };\n\n openMonthlyLimit = () => {\n this.setState({ openMonthlyLimit: true });\n };\n\n closeMonthlyLimit = (monthlyLimit) => {\n if (monthlyLimit !== undefined) {\n if (monthlyLimit === \"\") {\n this.setState({ openMonthlyLimit: false, monthlyLimit: null });\n } else {\n this.setState({ openMonthlyLimit: false, monthlyLimit });\n }\n } else {\n this.setState({\n openMonthlyLimit: false,\n monthlyLimit: this.state.monthlyLimit,\n });\n }\n };\n\n closeMeterSelection = () => {\n this.setState({ openMeterSelection: false });\n };\n\n onChartTypeChange = (index) => {\n this.setState({ selectedChartTypeIndex: index });\n };\n\n onChartTimeChange = (index) => {\n // const startDate = index === 0 ? moment(this.today).subtract(11, 'months') : this.state.dailyStartDate;\n // const endDate = index === 0 ? this.today : this.state.dailyEndDate;\n const monthlyConsumptions =\n index === 0 ? [] : this.state.monthlyConsumptions;\n const dailyConsumptions = index === 1 ? [] : this.state.dailyConsumptions;\n // const hourlyConsumptions = index === 2 ? [] : this.state.hourlyConsumptions;\n\n this.setState(\n {\n selectedChartTimeTypeIndex: index,\n // startDate,\n // endDate,\n monthlyConsumptions,\n dailyConsumptions,\n // hourlyConsumptions\n },\n () => {\n if (index === 0) {\n //monthly\n if (this.state.currentMeter === null) {\n api.getAllMonthlyConsumption(\n utils.getMonthsBefore(this.state.endDate, 11),\n // utils.getMonth(this.state.endDate),\n utils.getEndOfMonthDate(this.state.endDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({\n monthlyConsumptions: res.consumptionData,\n presentationMode: res.presentationMode\n });\n }\n }\n }\n );\n } else {\n api.getMeterMonthlyConsumption(\n this.state.currentMeter.meterCount,\n utils.getMonthsBefore(this.state.endDate, 11),\n utils.getEndOfMonthDate(this.state.endDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else { \n this.setState({\n monthlyConsumptions: res.consumptionData,\n presentationMode: res.presentationMode\n });\n }\n }\n }\n );\n }\n\n \n } else if (index === 1) {\n if (this.state.currentMeter === null) {\n api.getAllDailyConsumptionByDates(\n utils.toDateString(this.state.dailyStartDate),\n utils.toDateString(this.state.dailyEndDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n this.setState({ errorMessage: res.error });\n } else {\n this.setState({ dailyConsumptions: res });\n }\n }\n }\n );\n } else {\n api.getMeterDailyConsumptionByDates(\n this.state.currentMeter.meterCount,\n utils.toDateString(this.state.dailyStartDate),\n utils.toDateString(this.state.dailyEndDate),\n (res, err) => {\n console.log('getMeterDailyConsumptionByDates', utils.toDateString(this.state.dailyStartDate), utils.toDateString(this.state.dailyEndDate), res, err);\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ dailyConsumptions: res });\n }\n }\n }\n );\n }\n }\n }\n );\n };\n\n _getDataForAllMeters(isUpdateThisMonth = true) {\n const { startDate, endDate } = this.state;\n if (isUpdateThisMonth) {\n api.getAllMonthlyConsumption(\n // api.getCurrentConsumption(\n utils.getMonth(new Date()),\n utils.getEndOfMonthDate(new Date()),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n const consumptionData = res.consumptionData;\n \n const thisMonthUsage = Array.isArray(consumptionData) && consumptionData[consumptionData.length - 1]?.cons\n ? consumptionData[consumptionData.length - 1].cons?.toFixed(2)\n : 0;\n\n if (thisMonthUsage.toString().length > 7) {\n this.setState({isBigNumbers: true});\n }\n\n this.setState({\n thisMonthUsage,\n presentationMode: res.presentationMode\n });\n }\n }\n }\n );\n }\n //this.setState({isLoading: true});\n\n api.getAllMonthlyConsumption(\n //utils.getMonthsBefore(this.state.endDate, 11),\n startDate,\n // utils.getMonth(this.state.endDate),\n utils.getEndOfMonthDate(endDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({\n monthlyConsumptions: res.consumptionData,\n presentationMode: res.presentationMode\n });\n }\n }\n }\n );\n\n //Get monthly forecast\n api.getAllMonthlyForecast((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n if (res.estimatedConsumption?.toFixed(2).toString().length > 7) {\n this.setState({isBigNumbers: true});\n }\n\n this.setState({\n forecastUsage: res.estimatedConsumption?.toFixed(2),\n });\n }\n }\n });\n\n api.getAllDailyConsumptionByDates(\n utils.toDateString(this.state.dailyStartDate),\n utils.toDateString(this.state.dailyEndDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ dailyConsumptions: res });\n }\n }\n }\n );\n\n //Get all years consumption\n api.getAllMonthlyConsumption(\n // utils.getMonthsBefore(this.state.endDate, 24),\n // utils.getMonth(this.state.endDate),\n moment().subtract(24, \"months\").startOf(\"year\").locale('en').format(\"YYYY-MM-DD\"),\n moment().endOf(\"month\").locale('en').format(\"YYYY-MM-DD\"),\n (res, err) => {\n //this._checkFirstDataFetchCounter();\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ yearsConsumptions: res.consumptionData, presentationMode: res.presentationMode});\n }\n }\n }\n );\n }\n\n _getDataForMeter(meter, isUpdateThisMonth = true) {\n if (isUpdateThisMonth) {\n api.getMeterMonthlyConsumption(\n meter.meterCount,\n utils.getMonth(new Date(), 11),\n utils.getEndOfMonthDate(new Date()),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n const consumptionData = res.consumptionData\n const thisMonthUsage =\n Array.isArray(consumptionData) && consumptionData[consumptionData.length - 1]?.cons\n ? consumptionData[consumptionData.length - 1].cons?.toFixed(2)\n : 0\n\n if (thisMonthUsage.toString().length > 6) {\n this.setState({isBigNumbers: true});\n }\n this.setState({\n thisMonthUsage,\n presentationMode: res.presentationMode\n });\n }\n }\n }\n );\n }\n\n api.getMeterDailyConsumptionByDates(\n meter.meterCount,\n utils.toDateString(this.state.dailyStartDate),\n utils.toDateString(this.state.dailyEndDate),\n (res, err) => {\n console.log('getMeterDailyConsumptionByDates', utils.toDateString(this.state.dailyStartDate), utils.toDateString(this.state.dailyEndDate), res, err);\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ dailyConsumptions: res });\n }\n }\n }\n );\n\n // }\n\n api.getMeterMonthlyConsumption(\n meter.meterCount,\n //utils.getMonthsBefore(this.state.endDate, 11),\n utils.getMonth(this.state.startDate),\n utils.getMonth(this.state.endDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({\n monthlyConsumptions: res.consumptionData,\n presentationMode: res.presentationMode\n });\n }\n }\n }\n );\n\n api.getMeterMonthlyForecast(meter.meterCount, (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n if (res.estimatedConsumption?.toFixed(2).toString().length > 6) {\n this.setState({isBigNumbers: true});\n }\n\n this.setState({\n forecastUsage: res.estimatedConsumption?.toFixed(2),\n });\n }\n }\n });\n\n api.getMeterMonthlyConsumption(\n meter.meterCount,\n // utils.getMonthsBefore(this.state.endDate, 24),\n moment().subtract(24, \"months\").startOf(\"year\").locale('en').format(\"YYYY-MM-DD\"),\n utils.getMonth(this.state.endDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ yearsConsumptions: res.consumptionData, presentationMode: res.presentationMode});\n }\n }\n }\n );\n }\n\n componentWillMount() {\n this.setState({\n isLoading: true,\n startDate: utils.toDateString(this.state.startDate),\n endDate: utils.toDateString(this.state.endDate),\n vacation: this.props.vacation ? this.props.vacation : null,\n });\n\n //Get monthly limit\n api.getMonthlyLimit((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({\n monthlyLimit: res && res !== \"null\" ? res : 0,\n });\n }\n }\n });\n\n //Get monthly consumption\n api.getAllMonthlyConsumption(\n // api.getCurrentConsumption(\n utils.getMonthsBefore(this.state.endDate, 11),\n\n // utils.getMonth(this.state.endDate),\n utils.getEndOfMonthDate(this.state.endDate),\n (res, err) => {\n //this._checkFirstDataFetchCounter();\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n const consumptionData = res.consumptionData;\n \n console.log('getAllMonthlyConsumption', res);\n const thisMonthUsage = Array.isArray(consumptionData) && consumptionData[consumptionData.length - 1]?.cons\n ? consumptionData[consumptionData.length - 1].cons?.toFixed(2)\n : 0;\n\n if (thisMonthUsage.toString().length > 7) {\n this.setState({isBigNumbers: true});\n }\n\n this.setState({\n monthlyConsumptions: consumptionData,\n monthlyConsumptionsForNeighborhood: consumptionData,\n thisMonthUsage,\n presentationMode: res.presentationMode\n });\n }\n }\n }\n );\n\n //Get all years consumption\n api.getAllMonthlyConsumption(\n // utils.getMonthsBefore(this.state.endDate, 24),\n moment().subtract(24, \"months\").startOf(\"year\").locale('en').format(\"YYYY-MM-DD\"),\n moment().endOf(\"month\").locale('en').format(\"YYYY-MM-DD\"),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ yearsConsumptions: res.consumptionData, presentationMode: res.presentationMode });\n }\n }\n }\n );\n\n //Get monthly forecast\n api.getAllMonthlyForecast((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n if (res.estimatedConsumption?.toFixed(2).toString().length > 7) {\n this.setState({isBigNumbers: true});\n }\n\n this.setState({\n forecastUsage: res.estimatedConsumption?.toFixed(2),\n });\n }\n }\n });\n\n api.getAllDailyConsumptionByDates(\n utils.toDateString(this.state.dailyStartDate),\n utils.toDateString(this.state.dailyEndDate),\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n this.setState({ errorMessage: res.error });\n } else {\n this.setState({ dailyConsumptions: res });\n }\n }\n }\n );\n\n }\n\n _renderMobile(t, meterDesc, meterSn) {\n const { units, meters } = this.props;\n const {\n selectedChartTimeTypeIndex,\n startDate,\n endDate,\n dailyStartDate,\n dailyEndDate,\n } = this.state;\n const billingCycleText = utils.toMonthDate(new Date());\n\n let chartData;\n switch (this.state.selectedChartTypeIndex) {\n case 0: {\n //My\n switch (this.state.selectedChartTimeTypeIndex) {\n case 1:\n //Day\n chartData = this.state.dailyConsumptions;\n break;\n default:\n //Month\n chartData = this.state.monthlyConsumptions;\n }\n break;\n }\n case 1: {\n //Neighbor\n chartData = this.state.monthlyConsumptionsForNeighborhood;\n break;\n }\n default: {\n //Year\n chartData = this.state.monthlyConsumptionsForNeighborhood;\n break;\n }\n }\n return (\n
\n \n \n \n
\n {t(\"BillingCycle\")}\n
\n
\n {billingCycleText}\n
\n
\n this.setState({ openMeterSelection: true })}\n >\n
\n {t(\"WaterMeter\") + \" \" + meterSn}\n
\n
\n \"meter\n
{meterDesc}
\n
\n \n \n\n \n\n \n \n \n
{t(\"CurrentBillingCycle\")}
\n \n this.state.monthlyLimit\n ? \"monthlyLimitValueLabel monthlyLimitValueLabelMob\"\n : \"thisMonthValue thisMonthValueMob\"\n }\n style={this.state.isBigNumbers ? {\"font-size\": \"38px\", direction: 'ltr'} : {direction: 'ltr'}}\n \n >\n {this.state.thisMonthUsage}\n \n \n {units?.toLowerCase()}\n \n \n \n \n
\n {t(\"EndOfBillingCycleForecast\")}\n
\n \n
\n {this.state.forecastUsage}\n
\n \n {units?.toLowerCase()}\n \n \n \n \n \n\n \n
\n {t(\"BillingCycleLimit\") +\n \" \" +\n this.state.monthlyLimit +\n \" \" +\n units?.toLowerCase()}\n
\n {/*
*/}\n {/*
*/}\n {/* {this.state.monthlyLimit}*/}\n {/*
*/}\n {/*
*/}\n {/* {units?.toLowerCase()}*/}\n {/*
*/}\n {/*
*/}\n \n\n \n \n
{t(\"getInformed\")}
\n {this.props.vacation ? (\n \n
\n {utils.toVacationDate(this.props.vacation.startDate)} -{\" \"}\n {utils.toVacationDate(this.props.vacation.endDate)}\n
\n
\n \n {t(\"Update\")}\n

\n \n {t(\"CancelVacation\")}\n

\n
\n \n ) : (\n \n {t(\"btnDefineDays\").toUpperCase()}\n \n )}\n \n \n {this.props?.alerts.map((item, index) => {\n return (\n \n \n \n \n
\n
\n {t(`AlertsTitles.${AlertsTitles[+item.alertTypeId] ?? ''}`)}\n
\n
{`${\n item?.meterSn || \"\"\n }, ${item?.fullAddress || \"\"}`}
\n
\n {utils.toAlertDate(item.alertTime)}\n
\n this.onOpenAlert(item)}\n >\n {t(\"seeDetails\")}\n \n
\n \n \n \n );\n })}\n \n {this.state.chartTypes.map((item, index) => {\n return (\n this.onChartTypeChange(index)}\n style={{\n display: \"flex\",\n width: \"100%\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: \"transparent\",\n }}\n >\n \n {this.renderTabHeader(item, t)}\n \n \n \n );\n })}\n \n \n {this.state.selectedChartTypeIndex === 0 && (\n \n \n {this.chartTimeTypes.map((item, index) => {\n return (\n this.onChartTimeChange(index)}\n >\n \n {t(item)}\n \n \n );\n })}\n \n \n \n
\n {this.state.selectedChartTimeTypeIndex !== 2\n ? t(\"from\")\n : \"\\n\"}\n
\n\n {\n this.closeCalendarPicker(\n startDate,\n !selectedChartTimeTypeIndex\n ? moment(endDate).diff(startDate, \"months\") > 12\n ? moment(startDate).add(12, \"month\")\n : moment(endDate).diff(startDate, \"months\") < 0\n ? startDate\n : endDate\n : moment(dailyEndDate).diff(startDate, \"days\") > 30\n ? moment(startDate).add(31, \"days\")\n : moment(dailyEndDate).diff(startDate, \"days\") < 0\n ? startDate\n : dailyEndDate\n );\n }}\n closeCalendar={false}\n clearIcon={null}\n locale={i18next.language}\n maxDetail={!selectedChartTimeTypeIndex ? \"year\" : \"month\"}\n format={\n !selectedChartTimeTypeIndex ? \"yyyy,MMM\" : \"yyyy,MMM, d\"\n }\n value={utils.toDateFromString(\n !selectedChartTimeTypeIndex ? startDate : dailyStartDate\n )}\n calendarIcon={\n \"from\"\n }\n maxDate={new Date()}\n minDetail={\"year\"}\n />\n \n {this.state.selectedChartTimeTypeIndex !== 2 && (\n \n
{t(\"to\")}
\n {\n this.closeCalendarPicker(\n !selectedChartTimeTypeIndex\n ? moment(endDate).diff(startDate, \"months\") > 12\n ? moment(endDate).subtract(12, \"month\")\n : startDate\n : moment(endDate).diff(dailyStartDate, \"days\") >\n 30\n ? moment(endDate).subtract(31, \"days\")\n : dailyStartDate,\n endDate\n );\n }}\n clearIcon={null}\n locale={i18next.language}\n maxDetail={\n !selectedChartTimeTypeIndex ? \"year\" : \"month\"\n }\n format={\n !selectedChartTimeTypeIndex\n ? \"yyyy,MMM\"\n : \"yyyy,MMM, d\"\n }\n value={utils.toDateFromString(\n !selectedChartTimeTypeIndex ? endDate : dailyEndDate\n )}\n calendarIcon={\n \"to\"\n }\n maxDate={new Date()}\n minDate={utils.toDateFromString(\n !selectedChartTimeTypeIndex\n ? startDate\n : dailyStartDate\n )}\n minDetail={\"year\"}\n />\n \n )}\n \n \n )}\n \n moment(\n a.consDate\n ).unix() -\n moment(b.consDate).unix()\n )}\n monthlyLimit={this.state.monthlyLimit}\n yearsConsumptions={this.state.yearsConsumptions}\n style={{ marginTop: 16 }}\n chartShape={this.state.chartShape}\n />\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n );\n }\n\n onOpenAlert(item) {\n this.props.history.push({\n pathname: `/alerts/${item.logId}`,\n state: { alert: item },\n });\n }\n\n handleCancelVacation() {\n const { vacation } = this.props;\n if (vacation) {\n api.deleteVacation(vacation.vacationID, (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n this.setState({ errorMessage: res.error });\n } else {\n this.props.handleStateUpdate({ vacation: null });\n }\n }\n });\n }\n }\n\n render() {\n const { meters, t } = this.props;\n let meterDesc = \"\";\n let meterSn = \"\";\n if (!this.state.currentMeter && meters?.length < 2) {\n meterDesc = meters[0] ? meters[0]?.fullAddress : \"\";\n meterSn = meters[0]?.meterSn || \"\";\n } else if (!this.state.currentMeter) {\n meterDesc = `${t(\"AllWaterMeters\")} (${meters.length})`;\n meterSn = \"\";\n } else {\n const meter = this.state.currentMeter;\n meterDesc = meter?.fullAddress;\n meterSn = meter?.meterSn || \"\";\n }\n return (\n
\n \n {(matches) => {\n if (matches)\n return this._renderMobile(this.props.t, meterDesc, meterSn);\n else return this._renderDesktop(this.props.t, meterDesc, meterSn);\n }}\n \n
\n );\n }\n}\n\nexport default withTranslation(\"translations\")(Home);\n","/* eslint-disable */\nimport React from 'react';\nimport './SettingsChangePassword.css';\nimport images from '../../images';\nimport '../../App.css';\nimport * as validators from '../../validators';\nimport * as api from '../../api';\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\n\nimport {Mobile} from '../../App';\nimport Popup from \"reactjs-popup\";\nimport AppPopup from \"../../components/AppPopup\";\nimport {withTranslation} from \"react-i18next\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass SettingsChangePassword extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n currentPass: '',\n pass: '',\n confirmPass: '',\n isSecurePass: true,\n isSecureNewPass: true,\n isSecureConfirmPass: true,\n screenOrientation: window.matchMedia(\"(orientation: portrait)\").matches ? 'portrait' : 'landscape',\n errorMessage: null,\n successMessage: null,\n };\n }\n\n componentDidMount() {\n window.addEventListener('orientationchange', this.setScreenOrientation);\n }\n\n componentWillUnmount() {\n window.removeEventListener('orientationchange', this.setScreenOrientation);\n }\n\n setScreenOrientation = () => {\n if (window.matchMedia(\"(orientation: portrait)\").matches) {\n console.log('orientation: portrait');\n this.setState({\n screenOrientation: 'portrait'\n });\n }\n\n if (window.matchMedia(\"(orientation: landscape)\").matches) {\n console.log('orientation: landscape');\n this.setState({\n screenOrientation: 'landscape'\n });\n }\n };\n\n\n render() {\n const {t} = this.props\n return (\n
\n \n {matches => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n return (\n \n \n \n

\n {t('changePassword')}\n

\n \n
{\n this.form = c\n }} method={'post'} onSubmit={this.onSubmit.bind(this)} style={{width: 300}}>\n
\n

\n {t('curPassword')}\n

\n \n \n this.setState({\n currentPass: event.target.value\n })\n }\n type={\n this.state.isSecurePass\n ? 'password'\n : 'text'\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16\n }}\n />\n \n
\n \n
\n

\n {t('choosePassword')}\n

\n \n \n this.setState({pass: event.target.value})\n }\n type={\n this.state.isSecureNewPass\n ? 'password'\n : 'text'\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16,\n marginTop: '2%'\n }}\n />\n \n
\n \n \n {t('mustContain')}\n \n \n {t('mustContain8Char')}\n \n
\n

\n {t('typePasswordAgain')}\n

\n
\n \n this.setState({\n confirmPass: event.target.value\n })\n }\n value={this.state.confirmPass}\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16\n }}\n />\n \n this.toggleSecureConfirmPass(event)\n }\n >\n \n \n
\n
\n {this.state.screenOrientation === 'landscape' ?\n \n \n null} propsStyle={{width: 50, marginBottom: 30}} />\n \n
\n \n \n \n
\n :\n \n \n this.form.validateAll()} propsStyle={{width: 75, marginBottom: 30}} />\n \n \n \n \n \n }\n \n \n \n \n \n \n \n\n \n );\n }\n\n _renderDesktop(t) {\n return (\n \n
\n \n

\n {t('changePassword')}\n

\n
\n {/*{this.state.successMessage ?*/}\n {/* <>*/}\n {/*

{this.state.successMessage}

*/}\n {/* */}\n {/* */}\n {/* :*/}\n
{\n this.form = c\n }} method={'post'} onSubmit={this.onSubmit.bind(this)} style={{width: 380}}>\n
\n

\n {t('curPassword')}\n

\n \n \n this.setState({\n currentPass: event.target.value\n })\n }\n type={\n this.state.isSecurePass\n ? 'password'\n : 'text'\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16\n }}\n />\n \n
\n \n
\n

\n {t('choosePassword')}\n

\n \n this.setState({pass: event.target.value})}\n type={\n this.state.isSecureNewPass\n ? 'password'\n : 'text'\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16\n }}\n />\n \n
\n \n \n {t('mustContain')}\n \n \n {t('mustContain8Char')}\n \n
\n

\n {t('typePasswordAgain')}\n

\n
\n \n this.setState({\n confirmPass: event.target.value\n })\n }\n value={this.state.confirmPass}\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex',\n fontSize: 16\n }}\n />\n \n
\n
\n \n \n this.form.validateAll()} propsStyle={{width: 150, marginBottom: 30}} />\n \n
\n \n \n \n
\n \n {/*}*/}\n \n \n \n \n \n \n \n );\n }\n\n closeErrorPopup() {\n this.setState({errorMessage: null});\n }\n\n toggleSecurePass(event) {\n event.preventDefault();\n if (event.detail !== 0) {\n this.setState({isSecurePass: !this.state.isSecurePass});\n }\n }\n\n toggleSecureNewPass(event) {\n event.preventDefault();\n this.setState({isSecureNewPass: !this.state.isSecureNewPass});\n }\n\n toggleSecureConfirmPass(event) {\n event.preventDefault();\n this.setState({isSecureConfirmPass: !this.state.isSecureConfirmPass});\n }\n\n onSubmit = event => {\n event.preventDefault();\n const {t} = this.props;\n\n if (this.state.pass !== this.state.confirmPass) {\n this.setState({errorMessage: t('passwordDontMatch')});\n } else {\n //const isCharsValid = /^\\w+$/.test(pass);\n const pass = this.state.pass;\n const isCharsValid = /^(?=.*[a-zA-Z])(?=.*[0-9])/.test(pass);\n const isNumCharsValid = pass.length >= 8;\n\n if (isCharsValid && isNumCharsValid) {\n api.changePassword(\n this.state.currentPass,\n this.state.pass,\n res => {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n this.setState({successMessage: t('PasswordChangedSuccessfully')});\n }\n }\n );\n } else {\n this.setState({errorMessage: t('passwordError')});\n }\n }\n };\n\n closePopup = () => {\n this.props.onClose();\n };\n}\n\nexport default withTranslation('translations')(SettingsChangePassword)\n","/* eslint-disable */\nimport React from \"react\";\nimport Input from \"react-validation/build/input\";\nimport Form from \"react-validation/build/form\";\nimport Button from \"react-validation/build/button\";\nimport Popup from \"reactjs-popup\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./SettingsChangePassword.css\";\nimport \"./SettingsChangePhone.css\";\nimport images from \"../../images\";\nimport * as api from \"../../api\";\nimport { Mobile } from \"../../App\";\nimport DataManager from \"../../managers/DataManager\";\nimport AppPopup from \"../../components/AppPopup\";\nimport Phone from \"../../components/Phone\";\nimport translations from \"../../translations\";\n\nimport AppButton from \"../../components/AppButton\";\n\nclass SettingsChangePhone extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n phone: \"\",\n countryCode: \"+972\",\n countryName: \"il\",\n errorMessage: null,\n validation: false,\n };\n }\n componentDidMount() {\n if (DataManager?.sharedInstance?.user?.phoneNumber !== null) {\n const countryShortName = translations.findCountryShortName(DataManager?.sharedInstance?.user?.phoneNumber?.countryCode ?? '+972');\n\n this.setState({\n phone: DataManager?.sharedInstance?.user?.phoneNumber?.AdditionalPhoneNumber ?? DataManager?.sharedInstance?.user?.phoneNumber?.phoneNumber,\n countryCode: DataManager?.sharedInstance?.user?.phoneNumber?.countryCode ?? '+972',\n countryName: countryShortName\n });\n }\n }\n\n onPhoneChange = (phone, country) => {\n this.setState({\n phone: phone.substring(country?.dialCode.length, phone.length),\n countryCode: ('+' + country?.dialCode) ?? '+972',\n countryName: country?.countryCode ?? 'il'\n })\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n \n {(matches) => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n
\n );\n }\n\n _renderMobile(t) {\n const { validation, phone } = this.state;\n return (\n \n

{t(\"EnterPhoneReceiveSMS\")}

\n
\n \n
\n
\n \n {t(\"PhoneNumber\")} {t(\"isRequired\")}\n \n \n \n this.setState({ validation: true })} propsStyle={{width: 75, marginBottom: 30}} />\n \n \n \n \n \n \n \n \n \n \n );\n }\n\n _renderDesktop(t) {\n const { validation, phone, countryName, countryCode } = this.state;\n\n console.log('phone country', countryCode, phone, DataManager?.sharedInstance?.user?.phoneNumber)\n return (\n \n
\n

{t(\"EnterPhoneReceiveSMS\")}

\n
\n\n
\n \n
\n
\n \n {t(\"PhoneNumber\")} {t(\"isRequired\")}\n \n \n \n this.setState({ validation: true })} propsStyle={{width: 150, marginBottom: 30}} />\n \n \n \n \n \n \n \n \n \n \n );\n }\n\n closeErrorPopup() {\n this.setState({ errorMessage: null });\n }\n\n onSubmit = (event) => {\n event.preventDefault();\n const { phone, countryCode, countryName } = this.state;\n const { t } = this.props;\n\n const countryLanguage = translations.findCountryLanguage(countryName)\n console.log(`onSubmit countryName ${translations.findCountryLanguage(countryName)}`); \n\n if (phone) {\n // api.updatePhoneNumber(countryCode, phone, 'en', (response, error) => {\n api.updatePhoneNumber(countryCode, phone, countryLanguage, (response, error) => {\n if (error) {\n this.setState({ errorMessage: t(\"errorOccurred\") });\n } else {\n if (response.error) {\n this.setState({ errorMessage: response.error });\n } else {\n console.log(response);\n this.props.updateUser();\n this.closePopup();\n }\n }\n });\n }\n };\n\n closePopup = () => {\n this.props.onClose();\n };\n}\n\nexport default withTranslation(\"translations\")(SettingsChangePhone);\n","import React, {Component} from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport './Reply.css'\nimport images from '../../images/index'\nimport utils, {AlertsDescriptions, getTranslatedRequestTitle} from \"../../utils\"; \nimport {AlertsTitles} from \"../../utils\";\n\nimport AppButton from \"../../components/AppButton\";\n\n\nclass Reply extends Component {\n\n render() {\n const {\n t,\n requests,\n alerts,\n activeMessageIndex,\n activeAlertIndex,\n isAlertsView,\n backHistory,\n history,\n handleActiveMessage,\n handleDeleteAnItem,\n meters,\n muni\n } = this.props;\n const activeMessage = isAlertsView ? alerts[activeAlertIndex] : requests[activeMessageIndex];\n\n const description = isAlertsView? t(AlertsDescriptions[activeMessage?.alertTypeId]).split('\\n')\n .map((row, index) =>
{row}
) : activeMessage?.requestText;\n\n return (\n
\n
backHistory ? history.goBack() : handleActiveMessage(activeMessageIndex, true)}\n >\n \"Back\"/\n

{t('Return')}

\n
\n
\n
\n
\n
\n \"message\n
\n \n {isAlertsView ? t(`AlertsTitles.${AlertsTitles[+activeMessage?.alertTypeId] ?? ''}`) : getTranslatedRequestTitle(activeMessage?.requestSubject)}\n
\n
\n
\n\n
\n {isAlertsView ? t('WaterMeter') + ': ' + (meters?.find(meter => +meter.meterCount === +activeMessage?.meterCount)?.meterSn || '') : ''}\n
\n
\n {isAlertsView ? meters?.find(meter => +meter.meterCount === +activeMessage?.meterCount)?.fullAddress : ''}\n
\n
\n {isAlertsView ? utils.toAlertDate(activeMessage?.alertTime)\n : t('replyInquiry') + ' ' + utils.toAlertDate(activeMessage?.requestDate)\n }\n
\n
\n
\n
\n {description}\n
\n {!isAlertsView && activeMessage.answerDate &&
\n

{t('ReplyOn')}

\n

\n {utils.toAlertDate(activeMessage?.answerDate)}\n

\n

{activeMessage?.answerText}

\n
}\n\n {isAlertsView &&\n <>\n
{t('callUs')}
\n
\n
{muni?.description}
\n
\n
{muni?.phoneNumber}
\n
\n { activeMessage?.isRead !== 'true' &&\n \n }\n \n }\n\n
\n
\n )\n }\n}\n\nexport default withTranslation('translations')(Reply);\n","import React, {Component} from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport \"./MyMessagesList.css\"\nimport images from \"../../images\"\nimport Reply from \"./Reply\";\nimport utils, {getTranslatedRequestTitle} from \"../../utils\";\nimport {AlertsTitles} from \"../../utils\";\n\nclass MyMessagesList extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activeIndex: '',\n };\n }\n\n render() {\n const {requests, alerts, activeMessageIndex, activeAlertIndex, isAlertsView, meters, t} = this.props;\n const list = isAlertsView? alerts : requests;\n\n const messagesList = list.map((item, index) => {\n const className = \"ReplayItem \"\n + ((isAlertsView? activeAlertIndex === index : activeMessageIndex === index) ? \"selected \" : ' ')\n + ((item?.wasRead || item?.wasRead === null || item?.isRead === \"true\")? null : 'notRead');\n const meter = meters.find(meter => +meter.meterCount === +item.meterCount);\n return (\n
  • this.props.handleActiveMessage(index)}>\n
    \n
    \n \"message\n
    \n
    \n
    \n {isAlertsView? t(`AlertsTitles.${AlertsTitles[+item.alertTypeId] ?? ''}`) : getTranslatedRequestTitle(item.requestSubject)}
    \n
    \n {isAlertsView?\n `${meter? meter?.meterSn + ',' : \"\"} ${meter?.fullAddress || \"\"}`\n : ''}
    \n
    \n {utils.toAlertDate(isAlertsView? item.alertTime : item.answerDate? item.answerDate : item.requestDate)}
    \n
    \n
    \n \"open\"\n
  • \n )\n })\n\n\n return (\n
    \n
    \n
      {messagesList}
    \n
    \n {((!isAlertsView && activeMessageIndex !== '') || (isAlertsView && activeAlertIndex !== '')) &&\n\n \n }\n
    \n );\n }\n}\n\nexport default withTranslation('translations')(MyMessagesList);\n","import React from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport \"./Alerts.css\"\nimport MyMessagesList from \"./MyMessagesList\";\nimport * as api from \"../../api\";\n\n\nclass Alerts extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isAlertsView: true,\n activeMessageIndex: '',\n activeAlertIndex: '',\n errorMessage: '',\n description: '',\n phoneNumber: '',\n previousAlerts: '',\n };\n }\n\n handleDeleteAnItem = (id, itemId) => {\n const {t} = this.props\n if (this.state.isAlertsView) {\n api.confirmAlert(itemId, (res, err) => {\n if (err) {\n this.setState({errorMessage: t('CouldNotConfirmAlert')});\n } else {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n // this.setState({activeAlertIndex: ''});\n let alerts = [...this.props?.alerts];\n // alerts.splice(id, 1);\n alerts[id].isRead = 'true'\n this.props.handleStateUpdate({alerts})\n this.props.confirmAlert();\n }\n }\n })\n } else {\n this.setState({activeMessageIndex: ''});\n let requests = [...this.props?.requests]\n requests.splice(id, 1);\n this.props.handleStateUpdate({requests})\n this.props.confirmAlert();\n }\n }\n\n handleActiveMessage = (id, resetID) => {\n const {t} = this.props;\n if (!this.state.isAlertsView && !this.props.requests[id].wasRead && this.props.requests[id].wasRead !== null) {\n api.setMessageWasRead(this.props.requests[id].answerID, (res, err) => {\n if (err) {\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n const requests = [...this.props.requests];\n requests[id].wasRead = true;\n this.props.handleStateUpdate({requests});\n this.props.confirmAlert();\n }\n }\n })\n }\n\n // if (this.state.isAlertsView && this.props.alerts[id].isRead !== 'true') {\n // api.setMessageWasRead(this.props.alerts[id].logId, (res, err) => {\n // if (err) {\n // this.setState({errorMessage: t('errorOccurred')});\n // } else {\n // if (res.error) {\n // this.setState({errorMessage: res.error});\n // } else {\n // const requests = [...this.props.requests];\n // requests[id].wasRead = true;\n // this.props.handleStateUpdate({requests});\n // this.props.confirmAlert();\n // }\n // }\n // })\n // }\n\n if (resetID) {\n if (this.state.isAlertsView) {\n this.setState({activeAlertIndex: ''})\n } else {\n this.setState({activeMessageIndex: ''})\n }\n } else if (this.state.isAlertsView) {\n this.setState({activeAlertIndex: id})\n } else {\n this.setState({activeMessageIndex: id})\n }\n }\n\n render() {\n const {t, isMessagesAllowed} = this.props;\n const {isAlertsView, activeMessageIndex, activeAlertIndex} = this.state;\n const hideOnMobile = ((!isAlertsView && activeMessageIndex !== '') || (isAlertsView && activeAlertIndex !== '')) ? \" mobileHidden\" : \"\";\n\n const screenName = ;\n\n return (\n
    \n {/*
    {t('RealTimeAlerts')}
    */}\n
    \n
    this.setState({isAlertsView: true})}\n >{t('SystemMessages')}
    \n {isMessagesAllowed &&\n
    this.setState({isAlertsView: false})}\n >{t('Requests')}
    }\n
    \n {screenName}\n
    \n );\n }\n\n}\n\nexport default withTranslation('translations')(Alerts)\n","import React from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport './AlertInfo.css';\nimport Reply from \"./Reply\";\nimport * as api from \"../../api\";\n\nclass AlertInfo extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n errorMessage: '',\n isAlertsView: true,\n activeAlertIndex: 0,\n alerts: []\n };\n }\n\n componentDidMount() {\n if (typeof this.props.history.location.state === 'undefined') {\n this.getAlert();\n } else {\n this.setState({\n alerts: [this.props.history.location.state.alert]\n })\n }\n }\n\n getAlert = async () => {\n if (this.props.alerts.length === 0) return;\n\n const alerts = this.props.alerts;\n\n const path = this.props.history.location.pathname.split('/'); \n const alertId = path[path.length - 1];\n\n const alert = alerts.find(data => data.logId === alertId);\n\n this.setState({\n alerts: [alert]\n });\n }\n\n handleDeleteAnItem = (id, itemId) => {\n const {t} = this.props;\n console.log('handleDeleteAnItem')\n api.confirmAlert(itemId, (res, err) => {\n if (err) {\n this.setState({errorMessage: t('CouldNotConfirmAlert')});\n } else {\n if (res.error) {\n this.setState({errorMessage: res.error});\n } else {\n this.props.confirmAlert();\n const index = this.props?.alerts.findIndex(alert => +alert.logId === +this.props.match.params.id)\n let alerts = [...this.props?.alerts];\n alerts.splice(index, 1);\n this.props.history.goBack();\n this.props.handleStateUpdate({alerts});\n }\n }\n })\n }\n\n\n render() {\n return (\n
    \n \n
    \n );\n }\n}\n\n\nexport default withTranslation('translations')(AlertInfo)\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./NewRequest.css\";\nimport loader from \"../../images/favicon-194x194.png\";\nimport * as api from \"../../api\";\nimport images from \"../../images\";\nimport {MessageSubjects} from \"../../utils\";\n\nclass NewRequest extends Component {\n constructor(props) {\n super(props);\n this.state = {\n subject: \"\",\n text: \"\",\n sent: false,\n isLoader: false,\n validation: false,\n dropDownVisible: false,\n searchInputText: \"\",\n };\n }\n\n handleTextChange = (e) => {\n this.setState({ text: e.target.value });\n };\n\n onSubjectSelect = (e) => {\n e.preventDefault();\n this.setState({ subject: e.target.value });\n };\n\n handleSubmit = (e) => {\n e.preventDefault();\n const { subject, text } = this.state;\n this.setState({ validation: true });\n if (subject && text) {\n this.setState({ isLoader: true });\n api.sendMunicipalityMessage(\n { requestSubject: subject, requestText: text },\n (res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n this.setState({ isLoader: false });\n } else {\n if (res.error) {\n console.log(res.error);\n this.props.setError(res.error);\n this.setState({ sent: false, isLoader: false });\n } else {\n this.setState({ sent: true, isLoader: false });\n this.props.getAlerts();\n }\n }\n }\n );\n }\n };\n\n render() {\n const { t, muni, isMessagesAllowed, subjects } = this.props;\n const { sent, isLoader, validation, subject, text } = this.state;\n\n return (\n
    \n
    \n
    \n

    {t(\"ContactUs\")}

    \n
    \n
    \n

    {muni?.description}

    \n
    \n {muni?.phoneNumber && (\n
    \n

    {t(\"Tel\")} 

    \n

    {muni?.phoneNumber} 

    \n \"Phone\n
    \n )}\n {muni?.Email && (\n
    \n

    {t(\"mail\")}: 

    \n

    {muni?.Email} 

    \n
    \n )}\n
    \n
    \n
    \n\n {sent ? (\n
    \n
    {t(\"HasSent\")}
    \n
    \n ) : (\n isMessagesAllowed && (\n
    \n

    {t(\"NewMessage\")}

    \n
    \n \n
    \n {t(\"Subject\")}\n
    \n\n {/* e.stopPropagation()}\n >\n \n this.setState({\n dropDownVisible: true,\n })\n }\n\n placeholder={t(\"chooseMunicipality\")}\n value={this.state.searchInputText}\n onChange={(e) => {\n console.log(\"e\", e);\n this.setState({\n searchInputText: e.target.value,\n subject: \"\",\n });\n }}\n />\n {this.state.dropDownVisible ? (\n \n this.setState({\n // dropDownVisible: false,\n searchInputText: \"\",\n subject: \"\",\n })\n }\n />\n ) : (\n \n this.setState({\n dropDownVisible: true,\n })\n }\n />\n )}\n\n {this.state.dropDownVisible && (\n \n {subjects?.map((subject) => {\n if (\n subject.MessageSubjectsText.toLowerCase().includes(\n this.state.searchInputText.toLowerCase()\n )\n )\n return (\n {\n console.log(\"onClick\");\n this.setState({\n subject,\n searchInputText:\n subject.MessageSubjectsText,\n validation: false,\n dropDownVisible: false,\n });\n }}\n >\n {subject.MessageSubjectsText}\n
    \n );\n })}\n
    \n )}\n */}\n\n \n \n {this.state.subject ? this.state.subject : t(\"Subject\")}\n \n \n
    \n {subjects?.map((subject) => (\n {\n this.setState({\n subject: t(`MessageSubjectsMap.${MessageSubjects[+subject.MessageSubjectsID]}`)\n });\n }}\n >\n {t(`MessageSubjectsMap.${MessageSubjects[+subject.MessageSubjectsID]}`)}\n
    \n ))}\n \n \n \n \n {t(\"Subject\")} {t(\"isRequired\")}\n \n\n \n
    \n {t(\"Message\")}\n
    \n \n \n \n {t(\"Message\")} {t(\"isRequired\")}\n \n \n {/*
    {sent? t('HasSent'): ''}
    */}\n \n \n \n \n {t(\"Send\")}\n \n \n \n \n )\n )}\n \n );\n }\n}\n\nexport default withTranslation(\"translations\")(NewRequest);\n","/* eslint-disable */\nimport React from 'react';\nimport {Link} from 'react-router-dom';\nimport {withTranslation} from \"react-i18next\";\n\nimport images from '../../images';\nimport './LandingPage.css';\nimport globals from '../../globals';\nimport {Mobile, MobileLand} from '../../App';\nimport i18next from '../../i18n'\nimport LanguageSwitcher from '../../components/LanguageSwitcher';\n\nclass LandingPage extends React.Component {\n constructor(props) {\n super(props);\n this.isLandscape = false;\n }\n\n componentWillMount() {\n this.props.toggleHeader(false);\n }\n\n render() {\n const {t} = this.props\n return (\n
    \n \n {matches => {\n if (matches) {\n this.isLandscape = true;\n return this._renderMobile(t);\n } else {\n return \n {matches => {\n if (matches) {\n this.isLandscape = false;\n return this._renderMobile(t);\n } else return this._renderDesktop(t);\n }}\n \n }\n }}\n \n
    \n );\n }\n\n _renderMobile(t) {\n const {handleStateUpdate} = this.props;\n return (\n
    \n \n \n \n \n
    \n \n {t('MyWaterAdvisor')}\n
    \n \n {t('OnlineYourWorldWater')}\n
    \n \n \n \n
    \n {t('MonitorRealTimeConsumption')}\n
    \n \n handleStateUpdate({currentScreen: 0})} className=\"JoinButton\">{t('JoinButton')}\n
    \n handleStateUpdate({currentScreen: 0})} className=\"LoginButton\">{t('Login').toUpperCase()}\n
    \n \n \n
    \n {t('Empowerment')}\n
    \n
    \n {t('KnowledgeOfHowUseWaterEmpower')}\n
    \n \n\n \n \n \n {t('Flexibility')}\n \n \n {t('AppsAvailableForBothApple')}\n \n \n\n \n \n \n {t('CustomerService')}\n \n \n {t('SetBudget')}\n \n \n\n \n \n
    \n {t('Safety')}\n
    \n
    \n {t('MonitorUnexpected')}\n
    \n \n \n\n \n
    \n {t('mobileApps')}\n
    \n \n window.open(globals.IOS_LINK, '_blank')}\n >\n \n \n \n window.open(globals.ANDROID_LINK, '_blank')\n }\n >\n \n \n \n {/*
    */}\n {/* */}\n {/*
    */}\n
    \n
    \n \"logo\"/\n
    \n
    \n {t('MyWaterAdvisor')}\n
    \n
    \n {t('OnlineYourWorldWater')}\n
    \n
    \n \"\"\n \n \n );\n }\n\n _renderDesktop(t) {\n const {handleStateUpdate} = this.props\n return (\n
    \n
    \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n {t('MyWaterAdvisor')}\n
    \n
    \n {t('OnlineYourWorldWater')}\n
    \n
    \n
    \n \n \n \n \n {t('MonitorRealTimeConsumption')}\n \n
    \n handleStateUpdate({currentScreen: 0})} className=\"JoinButton\">{t('JoinButton')}\n
    \n handleStateUpdate({currentScreen: 0})} className=\"LoginButton\">{t('Login').toUpperCase()}\n
    \n
    \n \n
    \n \n
    \n \n \n \n \n {t('Empowerment')}\n \n \n {t('KnowledgeOfHowUseWaterEmpower')}\n \n \n \n \n \n {t('Flexibility')}\n \n \n {t('AppsAvailableForBothApple')}\n \n \n\n \n \n\n \n \n \n {t('CustomerService')}\n \n \n {t('SetBudget')}\n \n \n\n \n \n \n {t('Safety')}\n \n \n {t('MonitorUnexpected')}\n \n \n \n\n \n {t('mobileApps')}\n \n \n window.open(globals.IOS_LINK, '_blank')}\n >\n \n \n \n window.open(globals.ANDROID_LINK, '_blank')\n }\n >\n \n \n \n\n\n
    \n
    \n \"logo\"/\n
    \n
    \n {t('MyWaterAdvisor')}\n
    \n
    \n {t('OnlineYourWorldWater')}\n
    \n
    \n \n \"\"\n\n \n );\n }\n\n componentWillUnmount() {\n this.props.toggleHeader(true);\n }\n}\n\n\nexport default withTranslation('translations')(LandingPage)\n","\nimport React from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport './PrivacyPolicy.css';\nimport images from \"../../images\";\nimport '../../App.css';\n\nclass PrivacyPolicy extends React.Component {\n\n render() {\n const {t} = this.props\n return (\n
    \n \n

    {t('Privacy')}

    \n\n \n
    \n );\n }\n}\n\nexport default withTranslation('translations')(PrivacyPolicy)\n","import React from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport DataManager from '../managers/DataManager';\n\nconst ProtectedRoute = ({ component: Component, render, ...rest }) => (\n \n DataManager.sharedInstance.isAuthenticated ? (\n typeof render === 'function' ? (\n render(props)\n ) : (\n \n )\n ) : (\n \n )\n }\n />\n);\n\nexport default ProtectedRoute;\n","import React from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport './Contacts.css';\n\nclass Contacts extends React.Component {\n\n render() {\n const {t, isLoggedIn} = this.props\n return (\n
    \n

    {t('Contact')}

    \n
    \n

    {t('HappyToAssist')}

    \n

    {t('InTouch')}

    \n
    \n

    {t('Tel')} 

    \n

    1-700-50-6565

    \n
    \n
    \n

    {t('mail')}: 

    \n supportarad@arad.co.il\n
    \n
    \n
    \n );\n }\n}\n\nexport default withTranslation('translations')(Contacts)\n","import React from 'react';\nimport {withTranslation} from \"react-i18next\";\n\nimport './AccessibilityStatement.css';\n\n\nclass AccessibilityStatement extends React.Component {\n\n render() {\n const {isLoggedIn, t} = this.props;\n return (\n
    \n

    {t('AccessibilityStatementTitle')}

    \n {t('firstParagraph').split('\\n').map( (row, index) =>\n

    {row}

    \n )}\n

    {t('howAccessibilityWork')}

    \n
    \n

    {t('howAccessibilityWorkFirstRow')}\n {t('howAccessibilityWorkFirstRowLink')}\n {t('howAccessibilityWorkFirstRowEnd')}\n

    \n\n
    \n

    {t('howAccessibilityWorkSecondRow')}

    \n
    \n

    {t('howAccessibilityWorkThirdRow')}\n {t('howAccessibilityWorkThirdRowLink')}\n

    \n\n
    \n

    {t('howAccessibilityListHeader')}

    \n
      \n {t('howAccessibilityWorkList').split('\\n').map( (row, index) =>\n
    • {row}
    • \n )}\n
    \n

    {t('accessibilityIssues')}

    \n

    {t('accessibilityIssuesRow')}

    \n\n
    \n
    \n

    {t('accessibilityContactName')} 

    \n

    {t('accessibilityContactNameBold')}

    \n
    \n
    \n

    {t('Telephone')}: 

    \n

    1-700-50-6565

    \n
    \n
    \n

    {t('emailAccessibility')}:

    \n supportarad@arad.co.il\n
    \n
    \n

    {t('accessibilityDate')}

    \n
    \n );\n }\n}\n\nexport default withTranslation('translations')(AccessibilityStatement)\n","/* eslint-disable */\nimport React from 'react';\nimport {Mobile} from '../../App';\nimport './About.css';\nimport images from '../../images';\nimport {withTranslation} from \"react-i18next\";\n\nconst About = ({t}) => {\n\n return (\n\n \n {matches => (\n \n
    \n

    {t('AboutMasterMeter')}

    \n

    v1.0

    \n
    \n

    \n {t('aboutText')}\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n )}\n
    \n );\n};\n\nexport default withTranslation('translations')(About);\n","/* eslint-disable */\nimport React from 'react';\nimport images from '../../images';\nimport '../../App.css';\nimport './AdminLogin.css';\nimport {Link} from 'react-router-dom';\n\nimport Input from 'react-validation/build/input';\nimport Form from 'react-validation/build/form';\nimport Button from 'react-validation/build/button';\nimport * as validators from '../../validators';\nimport * as api from '../../api';\n\nimport PersistenceManager from '../../managers/PersistenceManager';\nimport globals from '../../globals';\nimport { Mobile} from '../../App';\nimport {ClipLoader} from 'react-spinners';\nimport DataManager from '../../managers/DataManager';\nimport Popup from \"reactjs-popup\";\nimport AppPopup from \"../../components/AppPopup\";\nimport AppButton from \"../../components/AppButton\";\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport queryString from 'query-string';\nimport {withTranslation} from \"react-i18next\";\n\n//genichm@gmail.com / 123qwe!@#\nclass AdminLogin extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n email: '',\n password: '',\n isLoading: false,\n errorMessage: null,\n isSecurePass: true,\n captchaResponse: null\n };\n }\n\n componentWillMount() {\n if (this.props.onEnter) this.props.onEnter(true);\n\n let params = queryString.parse(this.props.location.search);\n if (params && params.session_id) {\n this.setState({sessionId: params.session_id})\n }\n }\n\n render() {\n const {t} = this.props\n return (\n
    \n \n {matches => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n
    \n );\n }\n\n _renderMobile(t) {\n return (\n \n {this.state.isLoading && (\n \n )}\n \n Admin Log In\n \n
    \n
    \n

    \n {t('USERNAME')}\n

    \n \n this.setState({email: event.target.value})\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n
    \n
    \n

    \n {t('PASSWORD')}\n

    \n \n \n this.setState({\n password: event.target.value\n })\n }\n type={\n this.state.isSecurePass\n ? 'password'\n : 'text'\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n this.toggleSecurePass(event)}\n >\n \n \n
    \n \n \n \n null} propsStyle={{marginBottom: 25}} />\n \n \n \n {t('ForgotPassword')}\n \n \n \n \n \n );\n }\n\n _renderDesktop(t) {\n return (\n \n {/* this.msg = a} {...this.alertOptions} />*/}\n {this.state.isLoading && (\n \n )}\n

    {t('AdminLogIn')}

    \n
    \n
    \n

    \n {t('USERNAME')}\n

    \n \n this.setState({email: event.target.value})\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n
    \n
    \n

    \n {t('PASSWORD')}\n

    \n \n \n this.setState({\n password: event.target.value\n })\n }\n style={{\n paddingLeft: 10,\n paddingRight: 10,\n display: 'flex'\n }}\n />\n this.toggleSecurePass(event)}\n >\n \n \n
    \n \n \n \n null} propsStyle={{marginBottom: 25}} />\n \n \n \n {\n console.log('reCaptcha = ' + captchaResponse);\n this.setState({captchaResponse})\n }}\n />\n
    \n \n
    \n \n \n \n \n );\n }\n\n closePopup = () => {\n this.setState({errorMessage: null});\n };\n\n toggleSecurePass(event) {\n event.preventDefault();\n if (event.detail !== 0) {\n this.setState({isSecurePass: !this.state.isSecurePass});\n }\n }\n\n onSubmit = event => {\n event.preventDefault();\n const {t} = this.props;\n\n const {from} = this.props.location.state || {\n from: {pathname: '/home'}\n };\n const {email, password, captchaResponse} = this.state;\n\n this.setState({isLoading: true});\n api.adminLogin(email, password, captchaResponse, (response, error) => {\n this.setState({isLoading: false});\n if (error) {\n console.log('Unknown error has occurred.');\n this.setState({errorMessage: t('errorOccurred')});\n } else {\n if (response.error) {\n console.log(response.error);\n this.setState({errorMessage: response.error});\n } else {\n const token = response.token;\n api.setTokenValue(token);\n\n this.setState({isLoading: true});\n api.getLoginCredentials(this.state.sessionId, (response, error) => {\n this.setState({isLoading: false});\n\n if (error) {\n console.log('Unknown error has occurred.');\n this.setState({errorMessage: t('errorOccurred')});\n // this.msg.show('Unknown error has occurred.', {\n // time: 2000,\n // type: 'info'\n // })\n } else {\n if (response.error) {\n console.log(response.error);\n this.setState({errorMessage: response.error});\n } else {\n const token = response.token;\n console.log('token = ' + token);\n api.setTokenValue(token);\n DataManager.sharedInstance.isAuthenticated = true;\n\n PersistenceManager.storeItem(globals.STORAGE.TOKEN, token);\n\n this.setState({isLoading: true});\n api.getMe((res, err) => {\n this.setState({isLoading: false});\n if (err) {\n console.log('Unknown error has occurred.');\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n DataManager.sharedInstance.user = res;\n DataManager.sharedInstance.isAuthenticated = true;\n\n this.props.history.push(from.pathname);\n this.props.onLogin();\n }\n }\n });\n }\n }\n }\n );\n }\n }\n });\n }\n}\n\nexport default withTranslation('translations')(AdminLogin)\n","// /* eslint-disable */\nimport React from \"react\";\nimport Responsive from \"react-responsive\";\nimport { Link, HashRouter, Route, withRouter } from \"react-router-dom\";\nimport Popup from \"reactjs-popup\";\nimport i18next from \"i18next\";\nimport { withTranslation } from \"react-i18next\";\nimport moment from \"moment\";\nimport 'moment/locale/he';\nimport 'moment/locale/ar';\nimport 'moment/locale/es';\n\nimport \"./App.css\";\nimport \"./React-Toggle.css\";\nimport Header from \"./common/Header/Header\";\nimport Footer from \"./common/Footer/Footer\";\nimport Register from \"./scenes/register/Register\";\nimport images from \"./images\";\nimport globals from \"./globals\";\nimport Login from \"./scenes/login/Login\";\nimport ForgotPassword from \"./scenes/password/ForgotPassword\";\nimport RegisterAccount from \"./scenes/register/RegisterAccount\";\nimport RegisterPhone from \"./scenes/register/RegisterPhone\";\nimport RegisterEnterCode from \"./scenes/register/RegisterEnterCode\";\nimport RegisterNotFound from \"./scenes/register/RegisterNotFound\";\nimport TermsOfUse from \"./scenes/common/TermsOfUse\";\nimport RegisterFinish from \"./scenes/register/RegisterFinish\";\nimport ChangePassword from \"./scenes/password/ChangePassword\";\nimport EnterCodePassword from \"./scenes/password/EnterCodePassword\";\nimport DataManager from \"./managers/DataManager\";\nimport Settings from \"./scenes/settings/Settings\";\nimport Home from \"./scenes/home/Home\";\nimport SettingsChangePassword from \"./scenes/settings/SettingsChangePassword\";\nimport SettingsChangePhone from \"./scenes/settings/SettingsChangePhone\";\nimport Alerts from \"./scenes/alerts/Alerts\";\nimport AlertInfo from \"./scenes/alerts/AlertInfo\";\nimport NewRequest from \"./scenes/requests/NewRequest\";\nimport * as api from \"./api\";\nimport PersistenceManager from \"./managers/PersistenceManager\";\nimport LandingPage from \"./scenes/home/LandingPage\";\nimport PrivacyPolicy from \"./scenes/common/PrivacyPolicy\";\nimport ProtectedRoute from \"./common/ProtectedRoute\";\nimport Contacts from \"./scenes/contacts/Contacts\";\nimport AccessibilityStatement from \"./scenes/accessibility_statement/AccessibilityStatement\";\nimport About from \"./scenes/about/About\";\nimport { Offline } from \"react-detect-offline\";\nimport AppPopup from \"./components/AppPopup\";\nimport AdminLogin from \"./scenes/admin_login/AdminLogin\";\nimport i18n from \"./i18n\";\nimport AppButton from \"./components/AppButton\";\n\nexport const Desktop = (props) => ;\nexport const Tablet = (props) => (\n \n);\nexport const Mobile = (props) => ;\nexport const MobileLand = (props) => (\n \n);\nexport const Default = (props) => ;\n\n// const dataForTest = {\n// requests: [\n// {\n// \"answerID\": 65,\n// \"requestID\": 562,\n// \"answerText\": \"To test set-read function answer\",\n// \"answerDate\": null,\n// \"requestDate\": \"2021-04-11T07:49:23.747\",\n// \"wasRead\": false,\n// \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// \"requestSubject\": \"צריכה שגויה\",\n// \"registration_ID\": null,\n// \"os_Type_ID\": null,\n// \"device_ID\": null\n// },\n// {\n// \"answerID\": 66,\n// \"requestID\": 563,\n// \"answerText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\",\n// \"answerDate\": \"2021-04-12T15:03:48.6\",\n// \"requestDate\": \"2021-02-11T08:49:55.01\",\n// \"wasRead\": true,\n// \"requestText\": \"The automatic reading system of your water utility has detected a \\\"suspected leak\\\" alert. This alert is detected when there is a constant use of water for a period of 24 hours. The reason for high water usage can be genuine usage, a leak in the line, or a problem in one of your water devices (leaky hose.\",\n// \"requestSubject\": \" wasReadצריכה שגויה\",\n// \"registration_ID\": null,\n// \"os_Type_ID\": null,\n// \"device_ID\": null\n// },\n// {\n// \"answerID\": 67,\n// \"requestID\": 564,\n// \"answerText\": \"To test set-read function answer\",\n// \"answerDate\": \"2021-03-02T18:04:18.9\",\n// \"requestDate\": \"2021-02-15T08:04:29.75\",\n// \"wasRead\": null,\n// \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// \"requestSubject\": \"nullצריכה שגויה\",\n// \"registration_ID\": null,\n// \"os_Type_ID\": null,\n// \"device_ID\": null\n// },\n// {\n// \"answerID\": 68,\n// \"requestID\": 565,\n// \"answerText\": \"To test set-read function answer\",\n// \"answerDate\": \"2021-03-02T15:04:24.17\",\n// \"requestDate\": \"2021-02-14T12:03:53.01\",\n// \"wasRead\": true,\n// \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// \"requestSubject\": \"wasReadצריכה שגויה\",\n// \"registration_ID\": null,\n// \"os_Type_ID\": null,\n// \"device_ID\": null\n// },\n// // {\n// // \"answerID\": 69,\n// // \"requestID\": 566,\n// // \"answerText\": \"To test set-read function answer\",\n// // \"answerDate\": \"2021-03-02T15:04:36.387\",\n// // \"requestDate\": \"2021-02-14T12:06:54.017\",\n// // \"wasRead\": true,\n// // \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// // \"requestSubject\": \"צריכה שגויה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 71,\n// // \"requestID\": 568,\n// // \"answerText\": \"To test set-read function answer\",\n// // \"answerDate\": \"2021-03-02T15:04:47.58\",\n// // \"requestDate\": \"2021-02-16T07:28:57.487\",\n// // \"wasRead\": true,\n// // \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// // \"requestSubject\": \"צריכה שגויה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 72,\n// // \"requestID\": 569,\n// // \"answerText\": \"To test set-read function answer\",\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-02-16T07:29:22.94\",\n// // \"wasRead\": true,\n// // \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// // \"requestSubject\": \"אחר\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 73,\n// // \"requestID\": 570,\n// // \"answerText\": \"To test set-read function answer\",\n// // \"answerDate\": \"2021-03-02T15:04:57.193\",\n// // \"requestDate\": \"2021-02-17T11:04:02.467\",\n// // \"wasRead\": false,\n// // \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// // \"requestSubject\": \"אחר\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 74,\n// // \"requestID\": 571,\n// // \"answerText\": \"To test set-read function answer\",\n// // \"answerDate\": \"2021-03-02T15:05:18.177\",\n// // \"requestDate\": \"2021-02-17T11:05:24.347\",\n// // \"wasRead\": true,\n// // \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// // \"requestSubject\": \"אחר\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 60,\n// // \"requestID\": 572,\n// // \"answerText\": \"Answer from municipal\",\n// // \"answerDate\": \"2021-02-22T14:50:04.603\",\n// // \"requestDate\": \"2021-02-17T11:37:03.353\",\n// // \"wasRead\": true,\n// // \"requestText\": \"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\",\n// // \"requestSubject\": \"WasReadTest\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 59,\n// // \"requestID\": 573,\n// // \"answerText\": \"Answer from municipal\",\n// // \"answerDate\": \"2021-02-22T14:49:58.883\",\n// // \"requestDate\": \"2021-02-17T11:37:53.647\",\n// // \"wasRead\": true,\n// // \"requestText\": \"WasReadTest\",\n// // \"requestSubject\": \"WasReadTest\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 58,\n// // \"requestID\": 574,\n// // \"answerText\": \"Answer from municipal\",\n// // \"answerDate\": \"2021-02-22T14:49:53.32\",\n// // \"requestDate\": \"2021-02-17T13:56:50.23\",\n// // \"wasRead\": true,\n// // \"requestText\": \"stdfsdfsfsdfsdfsdfring\",\n// // \"requestSubject\": \"ckvckvck\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 57,\n// // \"requestID\": 575,\n// // \"answerText\": \"Answer from municipal\",\n// // \"answerDate\": \"2021-02-22T14:48:03.203\",\n// // \"requestDate\": \"2021-02-18T12:43:13.603\",\n// // \"wasRead\": true,\n// // \"requestText\": \"WasReadTest\",\n// // \"requestSubject\": \"WasReadTest\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 576,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-02-28T15:42:55.237\",\n// // \"wasRead\": null,\n// // \"requestText\": \"testtesttest\",\n// // \"requestSubject\": \"פתיחת תקלה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 577,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-02-28T16:24:08.373\",\n// // \"wasRead\": null,\n// // \"requestText\": \"Test test test\",\n// // \"requestSubject\": \"צריכה שגויה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 578,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-02-28T17:19:26.003\",\n// // \"wasRead\": null,\n// // \"requestText\": \"New test message\",\n// // \"requestSubject\": \"פתיחת תקלה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 583,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-03-01T15:37:15.913\",\n// // \"wasRead\": null,\n// // \"requestText\": \"שלום אני חושת שיש לי צריכה שגויה המדווחת במערכת \",\n// // \"requestSubject\": \"צריכה שגויה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 584,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-03-01T15:39:55.367\",\n// // \"wasRead\": null,\n// // \"requestText\": \"יצחיצי\",\n// // \"requestSubject\": \"צריכה שגויה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 586,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-03-02T13:27:59.543\",\n// // \"wasRead\": null,\n// // \"requestText\": \"test\",\n// // \"requestSubject\": \"צריכה שגויה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 587,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-03-02T15:34:03.073\",\n// // \"wasRead\": null,\n// // \"requestText\": \"test\",\n// // \"requestSubject\": \"פתיחת תקלה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": null,\n// // \"requestID\": 589,\n// // \"answerText\": null,\n// // \"answerDate\": null,\n// // \"requestDate\": \"2021-03-04T15:36:45.253\",\n// // \"wasRead\": null,\n// // \"requestText\": \"Test message from user\",\n// // \"requestSubject\": \"פתיחת תקלה\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // },\n// // {\n// // \"answerID\": 75,\n// // \"requestID\": 590,\n// // \"answerText\": \"אנו נבדוק את הבעיה ונחזור אליך בתוך 7 ימי עסקים\",\n// // \"answerDate\": \"2021-03-18T10:15:49.41\",\n// // \"requestDate\": \"2021-03-17T16:27:32.857\",\n// // \"wasRead\": false,\n// // \"requestText\": \"TEST\",\n// // \"requestSubject\": \"עדכון פרטים\",\n// // \"registration_ID\": null,\n// // \"os_Type_ID\": null,\n// // \"device_ID\": null\n// // }\n// ],\n// // meters: [\n// // {\n// // \"meterCount\": 98648,\n// // \"meterSn\": \"9970918\",\n// // \"fullAddress\": \"פתח תקווה, פרישמן דוד, 20\"\n// // },\n// // {\n// // \"meterCount\": 98648,\n// // \"meterSn\": \"9970918\",\n// // \"fullAddress\": \"פtesttest20\"\n// // },\n// // {\n// // \"meterCount\": 98648,\n// // \"meterSn\": \"9970918\",\n// // \"fullAddress\": \"Love Haifa\"\n// // },\n// // ],\n// alerts: [\n//\n// // {\n// // \"notificationType\": null,\n// // \"alertTypeName\": \"צריכה מעל למקס12\",\n// // \"alertTypeId\": \"12\",\n// // \"alertTime\": \"2020-12-06T15:00:30\",\n// // \"logId\": \"74546912\",\n// // \"meterCount\": \"98648\",\n// // \"meterSn\": null\n// // },\n// // {\n// // \"notificationType\": null,\n// // \"alertTypeName\": \"צריכה מעל לממוצע14\",\n// // \"alertTypeId\": \"14\",\n// // \"alertTime\": \"2021-03-07T16:51:40.173\",\n// // \"logId\": \"1310414\",\n// // \"meterCount\": \"98648\",\n// // \"meterSn\": null\n// // },\n// //\n// // {\n// // \"notificationType\": null,\n// // \"alertTypeName\": \"צריכה חריגה מאוד16\",\n// // \"alertTypeId\": \"16\",\n// // \"alertTime\": \"2020-12-06T15:00:30\",\n// // \"logId\": \"74546916\",\n// // \"meterCount\": \"98648\",\n// // \"meterSn\": null\n// // },\n// // {\n// // \"notificationType\": null,\n// // \"alertTypeName\": \"חשד לדליפה23\",\n// // \"alertTypeId\": \"23\",\n// // \"alertTime\": \"2020-03-07T16:50:48.08\",\n// // \"logId\": \"131040123\",\n// // \"meterCount\": \"98648\",\n// // \"meterSn\": null\n// // },\n// // {\n// // \"notificationType\": null,\n// // \"alertTypeName\": \"לדליפה במונה ראשי35\",\n// // \"alertTypeId\": \"35\",\n// // \"alertTime\": \"2020-03-07T16:50:48.08\",\n// // \"logId\": \"131040135\",\n// // \"meterCount\": \"98648\",\n// // \"meterSn\": null\n// // },\n// // {\n// // \"notificationType\": null,\n// // \"alertTypeName\": \"צריכה בזמן היעדרות1001\",\n// // \"alertTypeId\": \"1001\",\n// // \"alertTime\": \"2021-03-07T16:51:40.173\",\n// // \"logId\": \"1310434-1001\",\n// // \"meterCount\": \"986481\",\n// // \"meterSn\": null\n// // },\n// ],\n// }\n\nconst initialState = {\n openTerms: false,\n openPrivacy: false,\n openChangePass: false,\n openChangePhone: false,\n isLoggedIn: false,\n currentScreen: 0,\n shouldShowBack: true,\n showHeader: true,\n showRightButton: true,\n showSignUpButton: false,\n initLoading: true,\n alertsCount: 0,\n errorMessage: null,\n alertsTimers: null,\n meters: [],\n units: \"\",\n user: {\n firstName: \"\",\n lastName: \"\",\n accountNumber: \"\",\n phoneNumber: \"\",\n municipalId: \"\",\n },\n vacation: null,\n muni: null,\n alerts: [],\n isAlertLoaded: false,\n isMessagesAllowed: false,\n requests: [],\n isRequestsLoaded: false,\n showAlertBadge: false,\n sessionId: \"\",\n isAuthenticated: false,\n clearedAlerts: [],\n loginErrors: { phone: 0, account: 0 },\n subjects: [],\n alertsSettings: [],\n};\n\nclass App extends React.Component {\n constructor(props) {\n super(props);\n this.state = initialState;\n\n this.updateInterval = null;\n }\n\n getAlerts = () => {\n if (!this.state.isLoggedIn) return;\n\n const { t } = this.props;\n const alerts = () =>\n new Promise((resolve, reject) =>\n api.getAlerts((res, err) => {\n if (err) {\n this.setState({ errorMessage: t(\"errorOccurred\") });\n console.log('getAlerts 1', res, err);\n } else {\n if (res.error) {\n console.log(res);\n console.log(err);\n resolve(res.error);\n } else {\n console.log('getAlerts alerts', res);\n this.setState({\n alerts:\n // dataForTest.alerts,\n res.sort(\n (a, b) =>\n moment(b.alertTime).unix() - moment(a.alertTime).unix()\n ),\n isAlertLoaded: true,\n });\n resolve(res);\n }\n }\n })\n );\n\n Promise.all([alerts()])\n .then((res) => {\n this.setState({\n alertsCount:\n this.state.alerts.filter((alert) => alert.isRead === \"false\")\n .length +\n this.state.requests.filter(\n (req) => req?.wasRead !== null && !req?.wasRead\n ).length,\n });\n })\n .catch((err) => {\n this.setState({ errorMessage: err.toString });\n });\n };\n\n fetchData = () => {\n api.getMeters((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n console.log(\"meters\", res);\n this.setState({ meters: res });\n\n api.getLastRead((response, err) => {\n if (err) {\n console.log(\"getLastRead\", \"Unknown error has occurred.\");\n } else {\n if (response.error) {\n console.log(\"getLastRead\", response.error);\n } else {\n console.log(\"getLastRead\", response);\n let meters = res;\n\n // mock data\n // [ { meterCount: 6835,\n // meterSn: '10690092',\n // fullAddress: '1898 N 300 E' } ]\n \n // mock data\n // for (let i = 0; i < 30; i++) {\n // meters.push(meters[0]);\n // }\n\n for (let i = 0; i < meters.length; i++) {\n for (let k = 0; k < response.length; k++) {\n if (meters[i].meterCount === response[k].meterCount) {\n meters[i].meterId = response[k].meterId;\n meters[i].read = response[k].read;\n break;\n }\n }\n }\n\n this.setState({ meters });\n }\n }\n });\n }\n }\n });\n\n //Get measurement units\n api.getMeasurementUnits((res, err) => {\n //this._checkFirstDataFetchCounter();\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ units: res.unit });\n }\n }\n });\n\n api.getMunicipalCustomerService((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n // DataManager.sharedInstance.muni = {...res};\n this.setState({ muni: res });\n }\n }\n });\n\n //Get consumer vacations\n api.getVacations((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n if (res.length > 0) {\n const vacation = res[0];\n this.setState({\n vacation,\n });\n }\n }\n }\n });\n\n this.getAlerts();\n // this.setState({\n // alertsTimers: setInterval(() => this.getAlerts(), 60 * 1000),\n // });\n\n this.updateInterval = setInterval(() => this.getAlerts(), 60 * 1000);\n\n api.getAlertsForSettings((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n this.setState({ alertsSettings: res });\n }\n }\n });\n\n };\n\n componentDidMount() {\n DataManager.sharedInstance.onEnter = this.onEnter;\n const token = PersistenceManager.getItem(globals.STORAGE.TOKEN);\n\n if (token) {\n api.setTokenValue(token);\n\n switch (this.props.location.pathname) {\n case \"/settings\":\n this.setState({ currentScreen: 1 });\n break;\n case \"/alerts\":\n this.setState({ currentScreen: 2 });\n break;\n case \"/new_request\":\n this.setState({ currentScreen: 3 });\n break;\n case \"/home\":\n this.setState({ currentScreen: 0 });\n break;\n default:\n this.setState({ currentScreen: \"\" });\n }\n\n api.getMe((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n\n if (res.code === 401) {\n PersistenceManager.deleteItem(globals.STORAGE.TOKEN);\n this.setState({ errorMessage: res.error });\n }\n\n this.setState({\n initLoading: false,\n });\n } else {\n // Additional phone number fix\n if (res?.phoneNumber?.countryCode && res?.phoneNumber?.AdditionalPhoneNumber && res.phoneNumber.AdditionalPhoneNumber.includes(res.phoneNumber.countryCode)) {\n res.phoneNumber.AdditionalPhoneNumber = res.phoneNumber.AdditionalPhoneNumber.replace(res.phoneNumber.countryCode, '');\n if (res.phoneNumber.AdditionalPhoneNumber.includes('+')) {\n res.phoneNumber.AdditionalPhoneNumber = res.phoneNumber.AdditionalPhoneNumber.replace('+', '');\n }\n }\n\n DataManager.sharedInstance.user = res;\n DataManager.sharedInstance.isAuthenticated = true;\n this.setState({\n isLoggedIn: true,\n initLoading: false,\n isAuthenticated: true,\n user: res,\n });\n this.fetchData();\n }\n }\n });\n } else {\n this.setState({\n initLoading: false,\n });\n }\n }\n\n updateUser() {\n api.getMe((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n } else {\n // Additional phone number fix\n if (res?.phoneNumber?.countryCode && res?.phoneNumber?.AdditionalPhoneNumber && res.phoneNumber.AdditionalPhoneNumber.includes(res.phoneNumber.countryCode)) {\n res.phoneNumber.AdditionalPhoneNumber = res.phoneNumber.AdditionalPhoneNumber.replace(res.phoneNumber.countryCode, '');\n if (res.phoneNumber.AdditionalPhoneNumber.includes('+')) {\n res.phoneNumber.AdditionalPhoneNumber = res.phoneNumber.AdditionalPhoneNumber.replace('+', '');\n }\n }\n\n DataManager.sharedInstance.user = res;\n this.setState({ user: res });\n }\n }\n });\n }\n\n handleStateUpdate(newState) {\n this.setState(newState);\n }\n\n confirmAlert() {\n this.setState({ alertsCount: this.state.alertsCount - 1 });\n }\n\n render() {\n const { t } = this.props;\n const { initLoading } = this.state;\n document.body.dir = i18next.dir();\n moment.locale(i18next.language)\n\n if (initLoading) {\n return
    ;\n }\n\n return (\n \n {(matches) => {\n if (matches) return this._renderMobile(t);\n else return this._renderDesktop(t);\n }}\n \n );\n }\n\n _onRightButtonPressed() {\n this.setState({ showSignUpButton: !this.state.showSignUpButton });\n }\n\n _renderLoggedOutStripDesktop(t) {\n const pathname = window.location.pathname;\n const showHomeButton = !(\n pathname === \"/register\" ||\n pathname === \"/login\" ||\n pathname === \"/register/phone\" ||\n pathname === \"/register/account\"\n );\n\n if (this.state.showHeader)\n return (\n \n {showHomeButton ? (\n \n \"home\"\n
    \n {t(\"Home\")}\n
    \n \n ) : (\n
    \n )}\n\n this._onRightButtonPressed()}\n >\n {this.state.showSignUpButton\n ? t(\"SignUp\")\n : t(\"Login\").toUpperCase()}\n \n
    \n );\n else {\n return null;\n }\n }\n\n _renderLoggedOutStripMobile(t) {\n const pathname = window.location.pathname;\n const showHomeButton = !(\n pathname === \"/register\" ||\n pathname === \"/login\" ||\n pathname === \"/register/phone\" ||\n pathname === \"/register/account\"\n );\n\n if (this.state.showHeader)\n return (\n \n {showHomeButton ? (\n \n \"home\"\n
    \n {t(\"Home\")}\n
    \n \n ) : (\n
    \n )}\n\n this._onRightButtonPressed()}\n >\n {this.state.showSignUpButton\n ? t(\"SignUp\")\n : t(\"Login\").toUpperCase()}\n \n
    \n );\n else {\n return null;\n }\n }\n\n _renderLoggedInStripDesktop(t) {\n return (\n \n
    \n \n \n {t(\"HOME\")}\n \n {this.state.currentScreen === 0 && (\n
    \n )}\n
    \n\n \n this.onAlertsPressed()}\n >\n \n {t(\"ALERTS\")}\n
    \n\n
    \n
    \n \n {this.state.alertsCount > 0 && (\n
    \n {this.state.alertsCount}\n
    \n )}\n
    \n
    \n \n {this.state.currentScreen === 2 && (\n \n )}\n
    \n\n \n this.onNewRequestPressed()}\n >\n {t(\"NewMessage\").toUpperCase()}\n \n {this.state.currentScreen === 3 && (\n
    \n )}\n
    \n\n\n \n this.onSettingsPressed()}\n >\n {t(\"SETTINGS\")}\n \n {this.state.currentScreen === 1 && (\n
    \n )}\n
    \n \n \n
    \n

    \n {t(\"Welcome\")} {this.state.user.firstName}{\" \"}\n {this.state.user.lastName}\n

    \n \n null} propsStyle={{width: 200, backgroundColor: \"rgb(54, 89, 195)\", border: \"1px solid #b0cdff\", boxShadow: null, color: \"#b0cdff\"}} />\n \n
    \n \n );\n }\n\n _renderLoggedInStripMobile(t) {\n return (\n \n \n

    \n Welcome {this.state.user.firstName} {this.state.user.lastName}\n

    \n \n null} propsStyle={{width: 75, backgroundColor: \"rgb(54, 89, 195)\", border: \"1px solid #b0cdff\", boxShadow: null, color: \"#b0cdff\"}} />\n \n \n \n \n \n {t(\"HOME\")}\n \n {/*{this.state.currentScreen === 0 &&
    }*/}\n
    \n\n \n this.onAlertsPressed()}\n >\n
    \n {t(\"ALERTS\")}\n
    \n\n
    \n
    \n \n {this.state.alertsCount > 0 && (\n
    \n {this.state.alertsCount}\n
    \n )}\n
    \n
    \n \n {/*{this.state.currentScreen === 2 &&
    }*/}\n
    \n\n \n this.onNewRequestPressed()}\n >\n {t(\"NewMessage\").toUpperCase()}\n \n {/*{this.state.currentScreen === 3 &&
    }*/}\n
    \n\n\n \n this.onSettingsPressed()}\n >\n {t(\"SETTINGS\")}\n \n {/*{this.state.currentScreen === 1 &&
    }*/}\n
    \n \n \n );\n }\n\n _renderMobile(t) {\n return (\n \n \n \n \n No internet connection\n \n \n {this.state.showHeader &&
    }\n {this.state.isLoggedIn\n ? this._renderLoggedInStripMobile(t)\n : this._renderLoggedOutStripMobile(t)}\n\n (\n \n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n (\n \n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n \n \n \n \n \n \n \n \n (\n \n )}\n />\n }\n />\n }\n />\n \n (\n \n )}\n />\n (\n this.setState({ alertsCount })}\n handleStateUpdate={(newState) =>\n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n (\n this.setState({ errorMessage: err })}\n getAlerts={() => this.getAlerts()}\n />\n )}\n />\n (\n this.setState({ alertsCount })}\n confirmAlert={() => this.confirmAlert()}\n handleStateUpdate={(newState) =>\n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n\n (\n this.confirmAlert()}\n handleStateUpdate={(newState) =>\n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n\n {/**/}\n this.setState({ currentScreen: \"\" })}\n />\n \n \n \n \n \n \n \n \n \n \n this.updateUser()}\n />\n \n \n \n \n \n \n );\n }\n\n closeErrorPopup() {\n this.setState({ errorMessage: null });\n }\n\n _renderDesktop(t) {\n const pathname = window.location.pathname;\n const isFooterContainer =\n pathname === \"/accessibility_statement\" ||\n pathname === \"/contacts\" ||\n pathname === \"/about\";\n\n return (\n \n \n {/*
    */}\n \n \n {t(\"NoInternetConnection\")}\n
    \n \n {this.state.showHeader &&
    }\n {this.state.isLoggedIn\n ? this._renderLoggedInStripDesktop(t)\n : this._renderLoggedOutStripDesktop(t)}\n\n \n (\n \n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n (\n {\n this.onLogin();\n this.setState({ showRightButton: true });\n }}\n onEnter={() => {\n this.setState({ showRightButton: false });\n this.onEnter();\n }}\n />\n )}\n />\n (\n \n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n \n \n \n \n \n \n \n \n (\n \n )}\n />\n }\n />\n }\n />\n \n (\n this.setState({ alertsCount })}\n handleStateUpdate={(newState) =>\n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n (\n \n )}\n />\n (\n this.setState({ errorMessage: err })}\n getAlerts={() => this.getAlerts()}\n />\n )}\n />\n (\n this.setState({ alertsCount })}\n confirmAlert={() => this.confirmAlert()}\n handleStateUpdate={(newState) =>\n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n (\n this.confirmAlert()}\n alerts={this.state.alerts}\n handleStateUpdate={(newState) =>\n this.handleStateUpdate(newState)\n }\n />\n )}\n />\n\n {/**/}\n {/**/}\n {/**/}\n \n\n {/**/}\n this.setState({ currentScreen: \"\" })}\n />\n \n \n \n \n \n \n \n \n \n \n this.updateUser()}\n />\n \n \n \n \n \n \n );\n }\n\n onEnter = (showSignUpButton) => {\n this.setState({ showSignUpButton });\n };\n\n toggleHeader = (show) => {\n let isLoggedIn = this.state.isLoggedIn;\n if (!show) isLoggedIn = false;\n this.setState({ showHeader: show, isLoggedIn });\n };\n\n onLogout = () => {\n // clearInterval(this.state.alertsTimers);\n clearInterval(this.updateInterval);\n this.setState({ initialState });\n this.setState({vacation: null});\n api.logout((res, err) => {\n if (err) {\n console.log(\"Unknown error has occurred.\");\n } else {\n if (res.error) {\n console.log(res.error);\n\n if (res.code === 401) {\n PersistenceManager.deleteItem(globals.STORAGE.TOKEN);\n this.setState({ errorMessage: res.error });\n }\n\n this.setState({\n initLoading: false,\n });\n } else {\n this.setState({meters: [], alertsCount: 0, alerts: []});\n DataManager.sharedInstance.reset();\n }\n }\n });\n };\n\n onLogin = () => {\n this.setState({\n isLoggedIn: true,\n });\n this.fetchData();\n };\n\n onHomePressed = () => {\n if (this.state.currentScreen === 0) return;\n\n this.setState({ currentScreen: 0 });\n };\n\n onSettingsPressed = () => {\n if (this.state.currentScreen === 1) return;\n\n this.setState({ currentScreen: 1 });\n };\n\n onNewRequestPressed = () => {\n if (this.state.currentScreen === 3) return;\n\n this.setState({ currentScreen: 3 });\n };\n\n onAlertsPressed = () => {\n if (this.state.currentScreen === 2) return;\n\n this.setState({ currentScreen: 2 });\n };\n\n openChangePhone = () => {\n this.setState({ openChangePhone: true });\n };\n\n closeChangePhone = () => {\n this.setState({ openChangePhone: false });\n };\n\n openChangePass = () => {\n this.setState({ openChangePass: true });\n };\n\n closeChangePass = () => {\n this.setState({ openChangePass: false });\n };\n\n closeTerms = () => {\n this.setState({ openTerms: false });\n };\n\n openTerms = () => {\n this.setState({ openTerms: true });\n };\n\n closePrivacy = () => {\n this.setState({ openPrivacy: false });\n };\n\n openPrivacy = () => {\n this.setState({ openPrivacy: true });\n };\n}\n\nexport default withRouter(withTranslation(\"translations\")(App));\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport default function register() {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\n );\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React, { Component } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { I18nextProvider } from \"react-i18next\";\n\nimport \"./index.css\";\nimport App from \"./App\";\nimport registerServiceWorker from \"./registerServiceWorker\";\nimport i18n from \"./i18n\";\nimport DataManager, { DataContext } from \"./managers/DataManager\";\n\nclass Root extends Component {\n render() {\n return (\n \n \n \n \n \n \n \n );\n }\n}\n\nRoot.contextType = DataContext;\n\nif (process.env.NODE_ENV === \"staging\" || process.env.NODE_ENV === \"production\") {\n console.log = () => {};\n console.error = () => {};\n console.debug = () => {};\n}\n\nReactDOM.render(, document.getElementById(\"root\"));\nregisterServiceWorker();\n"],"sourceRoot":""}