{"version":3,"sources":["components/Charts/TensaoChart/styles.module.scss","components/Charts/CorrenteChart/styles.module.scss","components/Charts/Energia/styles.module.scss","components/Charts/Temperatura/styles.module.scss","pages/Forgotpassword/styles.module.scss","pages/ResetSuccessPassword/styles.module.scss","components/Form/DatePicker/styles.module.scss","components/Tabs/ModelManagement/Category/styles.module.scss","components/Tabs/ModelManagement/BusinessType/styles.module.scss","pages/ConfirmarEmailSuccess/styles.module.scss","components/SideMenu/styles.module.scss","components/Form/buttonLoading/styles.module.scss","pages/EquipmentManagement/styles.module.scss","pages/Signin/stylesbackup.module.scss","pages/ResetPassword/styles.module.scss","pages/Contract/styles.module.scss","components/Form/button/styles.module.scss","components/Modal/ModelRegistration/styles.module.scss","components/Charts/AreaChart/styles.module.scss","components/Charts/BarChart/styles.module.scss","components/Header/styles.module.scss","components/Charts/PieChart/styles.module.scss","components/Modal/EquipmentRegistration/styles.module.scss","components/Modal/EditModel/styles.module.scss","components/Modal/ChartFullScreen/styles.module.scss","components/Charts/AreaChartComp/styles.module.scss","pages/MyProfile/styles.module.scss","components/Modal/EditClient/styles.module.scss","components/Modal/ConsumerUnitRegistration/styles.module.scss","components/Modal/EditConsumerUnit/styles.module.scss","components/Modal/UserADM/styles.module.scss","components/Modal/EditEquipment/styles.module.scss","components/Modal/ConnectSmartMeter/styles.module.scss","components/Modal/EditCategory/styles.module.scss","components/Modal/EditBusinessType/styles.module.scss","components/Modal/CategoryRegistration/styles.module.scss","components/Modal/BusinessTypeRegistration/styles.module.scss","pages/Layout/styles.module.scss","components/Modal/EditMeter/styles.module.scss","components/Modal/MeterRegistration/styles.module.scss","pages/ConsumerUnit/styles.module.scss","pages/UserManagement/styles.module.scss","components/Tabs/SmartMeterManagementTabs/Intrusive/styles.module.scss","pages/Breakdown/styles.module.scss","components/Tabs/EquipmentManagementTabs/Equipments/styles.module.scss","components/Tabs/ModelManagement/Models/styles.module.scss","components/Snackbar/styles.module.scss","components/Modal/DeleteItem/styles.module.scss","components/Tabs/SmartMeterManagementTabs/Smart/styles.module.scss","pages/ModelManagement/styles.module.scss","pages/MeterManagement/styles.module.scss","pages/Signup/stylesbackup.module.scss","components/Charts/DemandaChart/styles.module.scss","components/Charts/PotenciaChart/styles.module.scss","components/Charts/FatorPotenciaChart/styles.module.scss","components/Cards/ChartsCard/styles.module.scss","providers/stateContext.tsx","services/api.js","services/restApiUser.ts","services/restApiAuth.ts","util/hooks/useRefreshToken.js","util/hooks/useAxiosPrivate.js","providers/authContext.tsx","util/ordernation.js","assets/image/deep-ambiente-logo.svg","components/CustomInput/index.tsx","components/Snackbar/index.tsx","components/Form/buttonLoading/index.tsx","pages/Signin/index.tsx","components/Form/button/index.tsx","util/onlyNumber.js","pages/Signup/index.tsx","pages/ResetPassword/index.tsx","assets/image/sucess-reset.png","pages/ResetSuccessPassword/index.tsx","util/hooks/useFormartDate.js","assets/equipamentIconOutline.svg","util/getLast24hours.js","services/restApiReport.ts","providers/reportContext.tsx","styles/victoryTheme.js","util/ResponsiveCharts/responsive.js","components/Charts/AreaChart/index.jsx","components/Charts/BarChart/index.jsx","components/Charts/PieChart/index.jsx","components/Charts/TensaoChart/index.jsx","components/Charts/CorrenteChart/index.jsx","components/Charts/DemandaChart/index.jsx","components/Charts/Energia/index.jsx","components/Charts/PotenciaChart/index.jsx","components/Charts/FatorPotenciaChart/index.jsx","components/Charts/Temperatura/index.jsx","components/Form/DatePicker/index.js","providers/modalContext.tsx","services/restApiConsumerUnit.ts","providers/consumerUnitContext.tsx","components/Charts/AreaChartComp/index.jsx","components/Modal/ChartFullScreen/index.tsx","components/Cards/ChartsCard/index.jsx","assets/image/deepMonitorLogo.png","pages/Breakdown/index.tsx","components/Modal/EditClient/index.tsx","services/restApiContract.ts","pages/MyProfile/index.tsx","components/Modal/ConsumerUnitRegistration/index.tsx","components/Modal/EditConsumerUnit/index.tsx","services/restApiMeter.ts","services/restApiEquipment.ts","providers/equipmentContext.tsx","providers/meterContext.tsx","components/Modal/ConnectSmartMeter/index.tsx","assets/image/icon-consumer-unit.png","components/Modal/DeleteItem/index.tsx","components/Modal/DisconnectMeter/index.tsx","pages/ConsumerUnit/index.tsx","components/Modal/UserADM/index.tsx","util/hooks/pagination.js","pages/UserManagement/index.tsx","components/CustomSelect/index.tsx","services/restApiEquipmentModels.ts","providers/modelContext.tsx","components/Modal/EditEquipment/index.tsx","components/Modal/ConnectIntrusiveSmartMeter/index.tsx","components/Tabs/EquipmentManagementTabs/Equipments/index.tsx","components/Modal/EquipmentRegistration/index.tsx","pages/EquipmentManagement/index.tsx","components/Modal/EditCategory/index.tsx","components/Tabs/ModelManagement/Category/index.tsx","components/Modal/EditModel/index.tsx","components/Tabs/ModelManagement/Models/index.tsx","components/Modal/EditBusinessType/index.tsx","components/Tabs/ModelManagement/BusinessType/index.tsx","components/Modal/CategoryRegistration/index.tsx","components/Modal/BusinessTypeRegistration/index.tsx","components/Modal/ModelRegistration/index.tsx","pages/ModelManagement/index.tsx","pages/Forgotpassword/index.tsx","pages/ConfirmarEmailSuccess/index.tsx","routes/PrivateRote.tsx","pages/AuthPages/index.tsx","components/Header/index.tsx","components/SideMenu/index.tsx","pages/Layout/index.tsx","components/Modal/EditMeter/index.tsx","components/Tabs/SmartMeterManagementTabs/Smart/index.tsx","components/Tabs/SmartMeterManagementTabs/Intrusive/index.tsx","components/Modal/MeterRegistration/index.tsx","pages/MeterManagement/index.tsx","pages/Contract/index.tsx","routes/index.tsx","App.tsx","index.tsx"],"names":["module","exports","StateContext","createContext","StateContextProvider","props","useState","isLoading","setIsLoading","isFetching","setIsFetching","isGetFetching","setIsGetFetching","confirmLoading","setConfirmLoading","selectConsumerUnitId","setSelectConsumerUnitId","showSideMenu","setShowSideMenu","showSelectAppBar","setShowSelectAppBar","equipmentConsumerMoch","setEquipmentConsumerMoch","searchItem","setSearchItem","openSnackBar","setOpenSnackBar","openStatusErrorSnackBar","setStatusErrorOpenSnackBar","snackBarTextResponse","setSnackBarTextResponse","dateToCallApiForChartPie","setDateToCallApiForChartPie","dateToCallApiForChartArea","setDateToCallApiForChartArea","dateToCallApiForChartArea1","setDateToCallApiForChartArea1","dateToCallApiForChartArea2","setDateToCallApiForChartArea2","dateToCallApiForChartBar","setDateToCallApiForChartBar","dateToCallApiForChartPieRange","setDateToCallApiForChartPieRange","dateToCallApiForChartAreaRange","setDateToCallApiForChartAreaRange","objProvider","dateToCallApiForChartBarRange","setDateToCallApiForChartBarRange","Provider","value","children","useStateContext","useContext","BASE_URL","process","api","axios","create","baseURL","axiosPrivate","interceptors","request","use","a","config","token","localStorage","getItem","headers","Authorization","postUser","user","post","putUser","id","put","delUser","delete","postForgotPassword","email","postConfirmEmail","confirmEmail","postGenerateConfirmationEmail","login","useRefreshToken","accessToken","refreshToken","refresh","bodyRefresh","resp","setItem","data","useAxiosPrivate","useEffect","requestInterceptor","error","Promise","reject","responseIntercept","response","prevRequest","status","sent","newAccessToken","eject","AuthContext","AuthProvider","setUser","place","setPlace","auth","setAuth","logedInUser","setLogedInUser","dataUser","setDataUser","setAccessToken","statePerson","setStatePerson","isCNPJ","setIsCNPJ","isContractSigned","setIsContractSigned","isAuthenticated","setIsAuthenticated","role","setRole","userList","setUserList","statusResponse","setStatusResponse","tokenValidate","setTokenValidate","navigate","useNavigate","recoveredAccessToken","recoveredUserId","loginUser","remember","hasLoggedIn","expiration","convertToString","pathname","search","consumerUnits","length","message","errorMessage","JSON","parse","signUpUser","hasSignedUp","generateConfirmEmail","hasConfirmEmail","uid","hasFetch","mountedPostConfirmEmail","getUserList","get","sort","b","userRole","name","getUserByIdContext","EditUser","list","hasEdit","deleteUser","hasDelete","forgotPassword","hasForgotPassword","refreshTokenContext","now","Date","objToken","formattedExpiration","oneDayForExpiration","getDay","objTokens","removeItem","logout","hasLogout","useAuth","CustomInput","styled","TextField","marginTop","borderColor","borderWidth","fontSize","padding","CustomSnackBar","action","Alert","React","forwardRef","ref","elevation","variant","handleCloseSnackBar","event","reason","Snackbar","open","autoHideDuration","className","styles","snackbar","onClose","severity","sx","width","CustomButtonLoading","onClick","type","title","styleButton","smallButton","middleButton","largeButton","smallOutlineButton","middleOutlineButton","largeOutlineButton","deleteButton","checkStyleButton","disabled","CircularProgress","Signin","loginName","setLoginName","schema","Yup","username","required","password","min","formik","useFormik","initialValues","validationSchema","onSubmit","values","MountedAuthPost","hasLogged","handleGenerateConfirmEmail","container","ContentBox","containerHeader","containerImage","src","Logo","alt","height","handleSubmit","containerInput","placeholder","size","color","label","onChange","handleChange","touched","Boolean","errors","helperText","input","background","InputProps","startAdornment","InputAdornment","position","FormControlLabel","margin","justifyContent","control","Checkbox","marginRight","containerButtons","containerTextButtons","to","buttonText","dividerVertical","CustomButton","smallerButton","middleOutlineButtonRed","onlyNumber","str","replace","Signup","stateExitForm","setStateExitForm","FullName","document","phone","userName","confirmPassword","oneOf","MountedUserPost","handleClose","toggleTab","ExitForm","messageTitle","massageContent","maxWidthExit","Dialog","maxWidth","Box","display","textAlign","gap","Typography","component","style","gridTemplateColumns","alignItems","containerTitle","PersonButton","ActiveTabButton","disabledTabButton","formTitleDP","containerPersonInput","dividerHorizontal","ResetPassword","yup","query","useLocation","useMemo","URLSearchParams","useQuery","getToken","replaceAll","mountedRefreshPassword","userId","newPassword","confirmNewPassword","rest","then","handleOpenSnackBar","catch","err","header","contentHeader","titleHeader","Content","flexDirection","minWidth","mb","div","positionButton","ResetSuccessPassword","ResetSuccess","textContainer","_mask","_path","formartDateInUTC","timestamp","DateTime","fromMillis","toISO","useFormatDate","formatDateTimestamp","date","fromISO","zone","toMillis","formatUTC24","formatUTC","toLocaleString","TIME_24_SIMPLE","console","formatSimpleDate","formatLast24Hours","dateFormated","yesterday","getTime","start","toISOString","split","end","getLast24HoursWithParams","formatUTCLestWeek","toFormat","DATETIME_SHORT","formatTomorrow","tomorrow","getTomorrow","_excluded","_extends","Object","assign","target","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgEquipamentIconOutline","_ref","svgRef","titleId","viewBox","fill","xmlns","fillRule","clipRule","d","stroke","strokeWidth","mask","ForwardRef","getReportEquipmentForHoursAPI","startTime","endTime","getReportEquipmentForDaysAPI","getReportSmartMeterForHoursAPI","getReportSmartMeterForDaysAPI","getReportConsumerUnitForHoursAPI","getReportModbusDataAPI","macid","column","getReportKhompDataAPI","ReportContext","ReportContextProvider","reportEquipmentForHoursList","setReportEquipmentForHoursList","reportEquipmentForDaysList","setReportEquipmentForDaysList","reportSmartMeterForHoursList","setReportSmartMeterForHoursList","reportSmartMeterForDaysList","setReportSmartMeterForDaysList","reportConsumerUnitForHoursList","setReportConsumerUnitForHoursList","reportConsumerUnitForHoursPie","setReportConsumerUnitForHoursPie","reportConsumerUnitForHoursArea","setReportConsumerUnitForHoursArea","loadingChartBar","setLoadingChartBar","loadingChartPie","setLoadingChartPie","loadingChart","setLoadingChart","getReportEquipmentForHours","startDate","endDate","log","getReportEquipmentForDays","getReportSmartMeterForHours","getReportSmartMeterForDays","getReportConsumerUnitForHours","typeChart","useReportContext","colors","charcoal","grey","baseProps","colorScale","baseLabelStyles","fontFamily","letterSpacing","centeredLabelStyles","textAnchor","area","labels","axis","strokeLinecap","strokeLinejoin","axisLabel","grid","pointerEvents","ticks","tickLabels","bar","boxplot","max","maxLabels","median","medianLabels","minLabels","q1","q1Labels","q3","q3Labels","boxWidth","candlestick","candleColors","positive","negative","chart","errorbar","group","histogram","legend","gutter","orientation","titleOrientation","line","pie","scatter","stack","tooltip","flyoutStyle","flyoutPadding","cornerRadius","pointerLength","voronoi","flyout","getWindowSize","window","innerWidth","innerHeight","widthAreaChart","widthArea","heightAreaChart","heightArea","paddingChart","bottomSizeAreaChart","bottomSize","topSizeAreaChart","topSize","legendAreaChartX","legendx","legendAreaChartY","legendy","fontSizeLabelsAreaChart","itemsPerRowAreaChart","items","tickFontSizeLabelsAreaChart","tooltipWidthAreaChart","flyoutWidth","tooltipHeigthAreaChart","flyoutHeight","tooltipFontSizeAreaChart","widthAreaChartFulls","heightAreaChartFulls","paddingChartFulls","bottomSizeAreaChartFulls","topSizeAreaChartFulls","legendAreaChartXFulls","legendAreaChartYFulls","fontSizeLabelsAreaChartFulls","itemsPerRowAreaChartFulls","tickFontSizeLabelsAreaChartFulls","tooltipWidthAreaChartFulls","tooltipHeigthAreaChartFulls","tooltipFontSizeAreaChartFulls","widthAreaChartFull","heightAreaChartFull","bottomSizeAreaChartFull","topSizeAreaChartFull","legendAreaChartXFull","legendAreaChartYFull","fontSizeLabelsAreaChartFull","tickFontSizeLabelsAreaChartFull","itemsPerRowAreaChartFull","tooltipWidthAreaChartFull","tooltipHeigthAreaChartFull","tooltipFontSizeAreaChartFull","widthBarChart","widthBar","heightBarChart","heightBar","paddingLeftBar","paddingLeft","paddingLeftBarFull","AreaChart","chartSizeType","formartDate","areaChartData","setAreaChartData","equipmentConsumptions","totalConsumption","paddingFull","setPaddingFull","tickFontSize","setTickFontSize","fontLabelsAreaChart","setFontLabelsAreaChart","setTopSize","setBottomSize","widthAreaChartX","setAreaChartX","heightAreaChartY","setAreaChartY","legendAreaCharttX","setLegendAreaChartX","legendAreaCharttY","setLegendAreaChartY","itemsPerRow","setItemsPerRow","tooltipWidth","setTooltipWidth","tooltipHeigth","setTooltipHeigth","tooltipFontSize","setTooltipFontSize","sortedAreaChartData","totalA","reduce","sum","curr","consumption","chartColors","activeLegend","setActiveLegend","maxDailyConsumption","setMaxDailyConsumption","maxConsumption","areaData","filter","equipment","map","equipmentMax","Math","v","mountedArrayForAreaChart","blurLoading","NotConsumer","boxChart","top","bottom","left","right","scale","x","y","theme","containerComponent","datum","toFixed","labelComponent","fontWeight","dependentAxis","crossAxis","tickFormat","tick","angle","item","index","interpolation","fillOpacity","oneHour","includes","opacity","setHours","classNames","legendLabel","events","eventHandlers","mutation","handleClick","onMouseOver","cursor","onMouseOut","BarChart","typeFormatDate","widthBarChartX","setBarChartX","heightBarChartY","setBarChartY","paddingBar","setpaddingBar","undefined","domainPadding","animate","duration","onLoad","before","_y","alignment","PieChart","pieSvg","positionLegend","handleSliderChange","fontSizeLabelsPie","setFontSizeLabelsPie","singleSliceVisible","setSingleSliceVisible","widthSize","setWidthSize","heightSize","setHeightSize","positionChart","setPositionChart","legendX","setLegendX","legendY","setLegendY","setTooltip","tooltipY","setTooltipY","Set","hiddenSlices","setHiddenSlices","customColorScale","graphicData","setGraphicData","pieData","entries","filteredValues","totalPrice","price","colorIndex","concat","otherX","totalEquipmentConsumptionPrice","totalSmartMeterConsumption","otherY","mountedArrayForPieChart","responsiveWidthPieChart","responsiveHeightPieChart","getPositionsPieChart","legendPieChartX","legendPieChartY","fontSizeLabelsPieChart","tooltipPosition","tooltipPositionY","originalLabelStyle","CustomLabel","visibleData","getVisibleData","active","text","has","defaultEvents","VictoryTooltip","circle","easing","standalone","centerTitle","symbol","getLegendData","prevHiddenSlices","newHiddenSlices","add","visibleSlicesCount","onMouseEnter","onMouseLeave","TensaoChart","selectedID","setSelectedID","progress","setProgress","chartWidth","setChartWidth","chartHeight","setChartHeight","chartPadding","setChartPadding","legendCoordinates","setLegendCoordinates","adjustChartProperties","matchMedia","matches","addEventListener","removeEventListener","today","startOfDay","getFullYear","getMonth","getDate","endOfDay","setStartDate","setEndDate","componentRef","useRef","modbusDataVL1N","setModbusDataVL1N","modbusDataVL2N","setModbusDataVL2N","modbusDataVL3N","setModbusDataVL3N","khompDataVR","setKhompDataVR","khompDataVS","setKhompDataVS","khompDataVT","setKhompDataVT","s2ab","s","buf","ArrayBuffer","view","Uint8Array","charCodeAt","mountedarrayformodbus","variableName","serverStartDate","serverEndDate","modbusDataget","chartData","mountedArrayForKhomp","khompDataGet","isIdInvalid","setIsIdInvalid","VL1NData","VL2NData","VL3NData","VRData","VSData","VTData","setTimeout","fetchData","yTickValues","setYTickValues","yDomain","setYDomain","areaDomains","setAreaDomains","push","outerContainer","datePickerContainer","htmlFor","datePickerLabel","selected","datePicker","allData","ws","XLSX","json_to_sheet","wb","book_new","book_append_sheet","wbout","bookType","blob","Blob","url","URL","createObjectURL","createElement","href","download","body","appendChild","click","removeChild","buttonSpacing","trigger","content","current","noId","chartContainer","zIndex","chartWrapper","domain","verticalAnchor","tickValues","arr","dt","getHours","generateHoursBetween","setDate","generateDatesBetween","newDate","slice","t","LinearProgress","CorrenteChart","modbusDataI1","setModbusDataI1","modbusDataI2","setModbusDataI2","modbusDataI3","setModbusDataI3","khompDataIR","setKhompDataIR","khompDataIS","setKhompDataIS","khompDataIT","setKhompDataIT","I1Data","I2Data","I3Data","IRData","ISData","ITData","DemandaChart","dayCount","round","maxLineValue","setMaxLineValue","day","areaStart","areaEnd","areaData2","areaStart2","areaEnd2","modbusDataDI1","setModbusDataDI1","modbusDataDI2","setModbusDataDI2","modbusDataDI3","setModbusDataDI3","isDataInvalid","setIsDataInvalid","all","DI1Data","DI2Data","DI3Data","maxValue","resolve","parseFloat","EnergiaChart","Infinity","minLineValue","setMinLineValue","modbusDataECkW","setModbusDataECkW","khompDataEPR","setKhompDataEPR","khompDataEPS","setKhompDataEPS","khompDataEPT","setKhompDataEPT","itemDate","yValue","ECkWData","minValue","EPRData","EPSData","EPTData","totalData","epr","epsY","eptY","PotenciaChart","modbusDataPRT","setModbusDataPRT","modbusDataPAT","setModbusDataPAT","modbusDataPRT2","setModbusDataPRT2","PATData","PRTData","maxValuePAT","maxValuePRT","sumData","FatorPotenciaChart","khompDataFPR","setkhompDataFPR","khompDataFPS","setkhompDataFPS","khompDataFPT","setkhompDataFPT","FPRData","FPSData","FPTData","offsetY","dx","transformedTick","abs","TemperaturaChart","khompDataTemp","setKhompDataTemp","TempData","DatePickerCalendarIcon","handleDateChange","getTimezoneOffset","formatDate","e","preventDefault","ExampleCustomInput","containerIcon","circleIcon","containerDatepicker","dateFormat","closeOnScroll","withPortal","fixedHeight","maxDate","customInput","getLastWeek","subDays","days","DatePickerCalendarIcon1","today1","startDate1","setStartDate1","date1","DatePickerCalendarIcon2","yesterday2","startDate2","setStartDate2","date2","DatePickerCalendarRange","mountedDate","setMountedDate","dates","minDate","selectsRange","ModalContext","ModalProvider","modalUserADM","setModalUserADM","modalEditClient","setModalEditClient","modalEditSubCategory","setModalEditSubCategory","modalEditModel","setModalEditModel","modalEditMeter","setModalEditMeter","modalManagerEquipEdit","setModalManagerEquipEdit","modalEditEquipment","setModalEditEquipment","modalEditBusinessType","setEditModalBusinessType","modalMeterRegistration","setModalMeterRegistration","modalModelRegistration","setModalModelRegistration","modalEquipmentRegistration","setModalEquipmentRegistration","modalSubCategoryRegistration","setModalSubCategoryRegistration","modalConsumerUnitRegistration","setModalConsumerUnitRegistration","modalBusinessTypeRegistration","setModalBusinessTypeRegistration","modalEditConsumerUnit","setModalEditConsumerUnit","exitModal","setExitModal","modalDelete","setModalDelete","modalDesassociated","setModalDesassociated","connectSmartMeter","setConnectSmartMeter","connectIntrusiveSmartMeter","setConnectIntrusiveSmartMeter","modalChartFullscreenPie","setModalChartFullscreenPie","modalChartFullscreenArea","setModalChartFullscreenArea","modalChartFullscreenBar","setModalChartFullscreenBar","useModalContext","getConsumerUnitById","getConsumerUnitByUserId","putConsumerUnit","consumerUnit","parseInt","delConsumerUnit","ConsumerUnitContext","ConsumerUnitContextProvider","consumerUnitData","setConsumerUnitData","consumerUnitList","setConsumerUnitList","consumerUnitDataResponse","setConsumerUnitDataResponse","pickerData","setPickerData","powerDistributorsList","setPowerDistributorsList","getConsumerUnitList","privilege","getPowerDistributorsList","getConsumerUnitByIdContext","getConsumerUnitByUserIdContext","consumerUnitPostApi","hasPostConsumerUnit","userIdValue","editConsumerUnit","consumerUnitPut","hasEditConsumerUnit","deleteConsumer","hasDeleted","mountPickerData","auxArray","placeName","useConsumerUnitContext","AreaChartComp","fil","forEach","offset","ChartFullScreen","dataChart","CardPie","CardBar","CardArea","currentConsumerUnit","setCurrentConsumerUnit","dateStart","setDateStart","dateEnd","setDateEnd","pieChartData","setPieChartData","handleResize","consumerUnitId","datePieStart","datePieEnd","formatPieDateStart","fromJSDate","setLocale","month","formatPieDateEnd","fStart","fEnd","caixa","fullWidth","DialogTitle","Divider","DialogContent","backgroundColor","setAreaData","areaData1","setAreaData1","setAreaData2","comparasion","setComparasion","dateAreaStart1","dateAreaEnd1","dtAreaStart","formatAreaDate","toUTC","dateAreaStart2","dateAreaEnd2","dtAreaStart2","formatAreaDate2","getDataforAreaChart","getDataforAreaChart1","fStart1","fEnd1","fullScreen","borderRadius","minHeight","dataChartEquipmentList","setDataChartEquipmentList","dataChartEquipmentSelect","setDataChartEquipmentSelect","dataChartEquipmentSelected","setDataChartEquipmentSelected","dateAreaStart","dateAreaEnd","formatAreaDateStart","formatAreaDateEnd","formatStart","formatEnd","FormControl","InputLabel","Select","defaultValue","labelId","MenuItem","ChartsCard","charts","stylesCard","typeChartModel","setTypeChartModel","setModalChartFullscreenLine","generateColors","equipmentId","equipmentList","colorsSet","equipmentIndex","findIndex","Array","sliderValues","setSliderValues","initialStartTime","startOf","toJSDate","initialEndTime","endOf","setStartTime","setEndTime","newValues","originalDate","newStartHour","newEndHour","newStartTime","set","hour","minute","second","newEndTime","smallCard","middleCard","largeCard","largeCardTecnico","checkStyleCard","CardHeader","textTransform","dtStart","formatPieDate","dateAreaStar","dateBarStart","dateBarEnd","dtBarStart","formatBarDate","DateForChart","backgroundClolor","openModalChartFullscreen","fullscreenIcon","Slider","valueLabelDisplay","Informative","totals","ChartsArea","selectedEquipmentId","checkCharts","Breakdown","selectedConsumerUnit","setSelectedConsumerUnit","selectedChart","setSelectedChart","chartTypeToComponent","chartOptions","setChartOptions","equipments","mac","generateChartOptions","handleConsumerUnit","handleEquipmentRegister","hours24","getLast24Hours","handleConsumerUnitChange","LoadingScreen","containerTech","contentTech","boxTech","flexContainer","selectLabel","selectMenu","option","find","noUnitConsumerTech","sideContainerTech","box","ola","deepLogo","firstContainerChart","noUnitConsumer","sideContainer","ModalEditClient","userEdit","stateExitModal","setStateExitModal","isCnpj","fullName","setFieldValue","mountedEditUser","ExitModal","associarUnid","editarBox","closeIC","mt","DialogActions","getContract","putSign","ExpandMore","expand","other","IconButton","transform","marginLeft","transition","transitions","shortest","MyProfile","expanded","setExpanded","mountedUserClientEdit","setMountedUserClientEdit","contract","userContract","setUserContract","handleContract","handleExpandClick","contractdata","mainContainer","Card","avatar","Avatar","subheader","paddingBottom","CardContent","Collapse","in","timeout","unmountOnExit","paddingTop","units","CardActions","openscreen","write","print","close","handlePrint","ModalConsumerUnitRegistration","Phone","placeEmail","zipCode","state","city","district","street","number","complement","distribuctors","tariffType","MountedConsumerUnitPost","powerDistributorId","resetForm","options","firstLetter","distribuidora","toUpperCase","test","Autocomplete","disablePortal","localeCompare","groupBy","getOptionLabel","uf","isOptionEqualToValue","renderInput","params","ModalEditConsumerUnit","consumerUnitEdit","powerDistributor","mountedConsumerUnitPut","associatedSmartMeterAPI","macId","associatedIntrusiveMeterAPI","disassociateSmartMeterAPI","disassociateIntrusiveMeterAPI","getAllEquipment","accessTokenValue","getEquipmentById","getEquipmentByConsumerUnitId","postEquipment","equip","putEquipment","delEquipment","delSmartMeter","EquipmentContext","EquipmentContextProvider","stateEquipments","setStateEquipments","stateEquipmentsResponse","setStateEquipmentsResponse","stateSmartMeterResponse","setStateSmartMeterResponse","stateEquipmentsList","setStateEquipmentsList","getEquipmentList","getEquipmentByIdContext","getEquipmentByIdConsumerUnit","equipmentPostApi","hasEquipment","equipmentPutApi","deleteEquipment","deleteSmartMeter","useEquipmentContext","MeterContext","MeterContextProvider","meterList","setMeterList","getMeterList","getMeterById","postMeter","smartMeter","hasFetching","putMeter","deleteMeter","associatedSmartMeter","desassociateSmartMeter","associatedIntrusiveMeter","channels","bodyRequest","desassociateIntrusiveMeter","useMeterContext","ConnectSmartMeter","selectMeter","setSelectMeter","selectValue","select","handleFilterMeterNotAssociated","smart","meter","fullAssociated","Tooltip","DeleteItemModal","Props","functionDelete","itemId","handleCloseModalDelete","excluirUnid","handleDeleteItem","DesassociatedItemModal","functionDesassociated","handleDesassociatedItem","ConsumerUnit","setConsumerUnitEdit","consumerIdPros","setConsumerIdPros","idConsumerSelect","setIdConsumerSelect","consumerUnitName","setConsumerUnitName","consumerFilter","setConsumerFilter","searchConsumerUnit","lowerCaseSearch","toLowerCase","topHeader","actionHeaderContainer","searchUser","Input","filterContainer","section","itemContainer","titletable","unit","AssocietedEquipment","mainContent","contentBox","contentItem","contentText","address","contentBox2","CircleNumber","link","handleSeeEquipmentList","contentItemMeter","contentBox3","handleEditConsumerUnit","handleConnectSmartMeter","handleSeeMonitoring","noConsumerUnit","ModalUserADM","boxButton","usePagination","itemsPerPage","currentPage","setCurrentPage","maxPage","ceil","next","prev","jump","page","pageNumber","currentData","begin","UserManagement","mountedUserEdit","setMountedUserEdit","setUserId","setUserName","userFilter","setUserFilter","location","handleFilterList","FilterUser","_DATA","getAll","from","toLocaleLowerCase","doc","iconCircle","handleOpenModalUserAdm","handleOpenModalEditClient","ul","CustomSelect","getAllModel","postModel","model","putModel","delModel","getAllCategory","postCategory","category","putCategory","delCategory","getAllBusinessType","postBusinessType","BusinessType","putBusinessType","delBusinessType","ModelContext","ModelContextProvider","stateModelList","setStateModelList","stateCategoryList","setStateCategoryList","stateBusinessTypeList","setStateBusinessTypeList","getModelList","getCategoryList","getBusinessTypeList","postModelContext","postCategoryContext","postBusinessTypeContext","businessType","putModelContext","putCategoryContext","putBusinessTypeContext","deleteModel","deleteBusinessType","deleteCategory","useModelContext","ModalEditEquipment","equipmentEdit","description","equipmentModelId","mountedValue","maxHeight","fixMuiInputBaseRootEditModel","brand","ConnectIntrusiveSmartMeter","setSelectValue","equipmentR","setEquipmentR","equipmentS","setEquipmentS","equipmentT","setEquipmentT","checkMeterEquipment","diff","filterListMeterAssociated","intrusive","checkEquipment","FormGroup","Equipments","setEquipmentEdit","setEquipmentId","equipmentName","setEquipmentName","equipmentFilter","setEquipmentFilter","equipmentModel","equi","canais","canaisContext","channelR","occupation","channelS","channelT","equipEdit","ModalEquipmentRegistration","MountedEquipmentPost","lineHeight","TabPanel","hidden","p","EquipmentManagement","useSearchParams","setSearchParams","String","handleOpenModalEquipmentRegistration","searchAndAddContainer","contentTitle","obj","prop","stringify","isEmpty","EditCategory","categoryEdit","EquipmentCategory","setCategoryEdit","categoryId","setCategoryId","categoryName","setCategoryName","dividerContainer","ModalEditModel","modelEdit","equipmentModelBusinessId","equipmentModelCategoryId","Model","modelId","setModelId","modelName","setModelName","setModelEdit","equipmentModelBusiness","equipmentModelCategory","marca","tipoEquip","tipoNeg","EditBusinessType","businessTypeEdit","businessTypeId","setBusinessTypeId","businessTypeName","setBusinessTypeName","setBusinessTypeEdit","CategoryRegistration","MountedCategoryPost","BusinessTypeRegistration","MountedBusinessTypePost","ModalModelRegistration","MountedModelPost","a11yProps","ModelManagement","isScreenWidthAbove520","useMediaQuery","setValue","getAllModelCategoryAndBusinessType","tabsPosition","borderBottom","Tabs","tabsPositionTab","newValue","Tab","tabs2","ForgotPassword","infoText","ConfirmarEmailSuccess","visible","setVisible","handleConfirmEmail","PrivateRoute","roles","currentRole","userHasRequiredRole","AuthPages","hasnosign","Header","defaultValueSelect","setDefaultValueSelect","espera","setEspera","searchParams","paramsConsumerUnitId","setInitialSelectValue","parsedParamsConsumerUnitId","bg","Toolbar","paddingRight","customStyles","mr","circleBlue","iconColorWhite","userInfo","AppBar","MuiAppBar","shouldForwardProp","sharp","leavingScreen","easeOut","enteringScreen","provided","isSelected","border","singleValue","isDisabled","drawerWidth","openedMixin","overflowX","closedMixin","spacing","breakpoints","up","DrawerHeader","mixins","toolbar","Drawer","MuiDrawer","flexShrink","whiteSpace","boxSizing","SideMenu","useTheme","setOpen","windows","getRole","getRoleLocalStorage","handleDrawerClose","handleExit","CssBaseline","backgroundSize","backgroundAttachment","drawerContainer","anchor","ModalProps","keepMounted","edge","imgG","imgPq","List","ListItem","button","md","ListItemIcon","sideIcon","ListItemText","span","primary","rel","Layout","checkAccessToken","getUser","getSign","mountedStateConsumerUnit","userValueId","ModalEditMeter","meterEdit","meterType","setMeterType","setCheckMeterEquipment","isSmart","mountedMeterPut","marginBottom","RadioGroup","Radio","SmartMeterTab","setMeterEdit","meterId","setMeterId","meterName","setMeterName","idName","idMeter","nameId","notAss","handleEditMeter","handleDeleteMeter","IntrusiveMeterTab","intrusiveMeter","associated","channelsContainer","available","TooltipTextOccupation","TooltipTextAvailable","ModalMeterRegistration","meterTypeSelection","setMeterTypeSelection","moutendMeterPost","SmartMeterManagement","setAssociated","setSmart","setTitle","selectFilter","setSelectFilter","filterSmart","setFilterSmart","filterIntrusive","setFilterIntrusive","filterMeters","tabValue","handleOpenMeterRegistration","medidores","filt","Contract","sign","setSign","logo","contractTex","form","acceptbox","checked","accept","formprint","AppRoutes","path","element","App","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.01981ae4.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendContainer\":\"styles_legendContainer__IOHfu\",\"noId\":\"styles_noId__zI70t\",\"buttonSpacing\":\"styles_buttonSpacing__1Fb_L\",\"datePickerContainer\":\"styles_datePickerContainer__2O6JR\",\"datePickerLabel\":\"styles_datePickerLabel__ddXYk\",\"chartContainer\":\"styles_chartContainer__58V1P\",\"chartWrapper\":\"styles_chartWrapper__1UpXD\",\"voltageLabel\":\"styles_voltageLabel__2Hg4O\",\"datePicker\":\"styles_datePicker__CrvNu\",\"download\":\"styles_download__2cGXE\",\"print\":\"styles_print__2WrC-\",\"spinner\":\"styles_spinner__2sXGU\",\"spin\":\"styles_spin__3ioIB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendContainer\":\"styles_legendContainer__2-lJj\",\"noId\":\"styles_noId__2GE4l\",\"buttonSpacing\":\"styles_buttonSpacing__1aDv6\",\"datePickerContainer\":\"styles_datePickerContainer__1kcAE\",\"datePickerLabel\":\"styles_datePickerLabel__XGMzQ\",\"chartContainer\":\"styles_chartContainer__1ifzk\",\"chartWrapper\":\"styles_chartWrapper__2OKsh\",\"voltageLabel\":\"styles_voltageLabel__21YHJ\",\"datePicker\":\"styles_datePicker__3dzTa\",\"download\":\"styles_download__1Obpz\",\"print\":\"styles_print__Zm0kM\",\"spinner\":\"styles_spinner__2HOSV\",\"spin\":\"styles_spin__186gO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendContainer\":\"styles_legendContainer__omxk0\",\"noId\":\"styles_noId__25bY7\",\"buttonSpacing\":\"styles_buttonSpacing__1_3bt\",\"datePickerContainer\":\"styles_datePickerContainer__1QG2n\",\"datePickerLabel\":\"styles_datePickerLabel__2p4l8\",\"chartContainer\":\"styles_chartContainer__2DPcR\",\"chartWrapper\":\"styles_chartWrapper__ieyVt\",\"voltageLabel\":\"styles_voltageLabel__2vEAZ\",\"datePicker\":\"styles_datePicker__2ZJ3k\",\"download\":\"styles_download__KlOgV\",\"print\":\"styles_print__Pz4_o\",\"spinner\":\"styles_spinner__3lgIO\",\"spin\":\"styles_spin__3b8gJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendContainer\":\"styles_legendContainer__7tVfN\",\"noId\":\"styles_noId__3UMiX\",\"buttonSpacing\":\"styles_buttonSpacing__1JRnc\",\"datePickerContainer\":\"styles_datePickerContainer__RN0Yf\",\"datePickerLabel\":\"styles_datePickerLabel__1Ux46\",\"chartContainer\":\"styles_chartContainer___I-IA\",\"chartWrapper\":\"styles_chartWrapper__3yxhe\",\"voltageLabel\":\"styles_voltageLabel__4sbe9\",\"datePicker\":\"styles_datePicker__2LYk7\",\"download\":\"styles_download__Yw0pG\",\"print\":\"styles_print__1Z4nF\",\"spinner\":\"styles_spinner__1O3u0\",\"spin\":\"styles_spin__3fWvK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3Y6vh\",\"ContentBox\":\"styles_ContentBox__X5EKK\",\"header\":\"styles_header__GYNPC\",\"contentHeader\":\"styles_contentHeader__2tMuZ\",\"Content\":\"styles_Content__Byk3l\",\"containerTitle\":\"styles_containerTitle__2iDk3\",\"titleHeader\":\"styles_titleHeader__2RiBo\",\"title\":\"styles_title__d3t98\",\"infoText\":\"styles_infoText__2NJyA\",\"containerInput\":\"styles_containerInput__1mp7y\",\"containerButtons\":\"styles_containerButtons__CDPk3\",\"buttonText\":\"styles_buttonText__3ZUQc\",\"positionButton\":\"styles_positionButton__2DPlb\",\"dividerHorizontal\":\"styles_dividerHorizontal__1l2Db\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__1wdij\",\"ContentBox\":\"styles_ContentBox__2ru09\",\"header\":\"styles_header__U4qsm\",\"contentHeader\":\"styles_contentHeader__3g2_S\",\"Content\":\"styles_Content__v1fw6\",\"containerTitle\":\"styles_containerTitle__QloUa\",\"titleHeader\":\"styles_titleHeader__3Xv2F\",\"title\":\"styles_title__1JTMw\",\"infoText\":\"styles_infoText__3g8HX\",\"textContainer\":\"styles_textContainer__hhoQh\",\"containerButtons\":\"styles_containerButtons__qNqgj\",\"buttonText\":\"styles_buttonText__2iSbf\",\"positionButton\":\"styles_positionButton__OJ2Ot\",\"dividerHorizontal\":\"styles_dividerHorizontal__OMJ8x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"containerDatepicker\":\"styles_containerDatepicker__1L4S5\",\"containerIcon\":\"styles_containerIcon__11dEW\",\"circleIcon\":\"styles_circleIcon__36RDb\",\"reactDatepickerWrapper\":\"styles_reactDatepickerWrapper__2_ji8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__YZRhG\",\"section\":\"styles_section__3WCqm\",\"itemContainer\":\"styles_itemContainer__1Ujea\",\"titletable\":\"styles_titletable__2uhyd\",\"contentHeader\":\"styles_contentHeader__21lQ9\",\"actiontable\":\"styles_actiontable__1qw6I\",\"deletItens\":\"styles_deletItens__f1Hq-\",\"mainContent\":\"styles_mainContent__2juSt\",\"contentText\":\"styles_contentText__IFGO3\",\"contentBox3\":\"styles_contentBox3__3cyN1\",\"contentItem\":\"styles_contentItem__HC5Hq\",\"containerButtons\":\"styles_containerButtons__3eShQ\",\"dividerContainer\":\"styles_dividerContainer__3TiWv\",\"dividerHorizontal\":\"styles_dividerHorizontal__2vHLj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2ZipD\",\"section\":\"styles_section__HQxjI\",\"itemContainer\":\"styles_itemContainer__3ZtKO\",\"titletable\":\"styles_titletable__rrjp-\",\"contentHeader\":\"styles_contentHeader__9Rqoy\",\"actiontable\":\"styles_actiontable__3eCXQ\",\"deletItens\":\"styles_deletItens__2uew8\",\"mainContent\":\"styles_mainContent__3gALI\",\"contentText\":\"styles_contentText__3Y_dR\",\"contentBox3\":\"styles_contentBox3__aINHo\",\"contentItem\":\"styles_contentItem__1R1pQ\",\"containerButtons\":\"styles_containerButtons__3b_WY\",\"dividerContainer\":\"styles_dividerContainer__1Fs40\",\"dividerHorizontal\":\"styles_dividerHorizontal__28VgV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__jh2G-\",\"ContentBox\":\"styles_ContentBox__2-Xbl\",\"header\":\"styles_header__1XqYa\",\"contentHeader\":\"styles_contentHeader__gNQ-P\",\"Content\":\"styles_Content__ExM0C\",\"containerTitle\":\"styles_containerTitle__1pcqZ\",\"titleHeader\":\"styles_titleHeader__1Q4M6\",\"title\":\"styles_title__3t7Si\",\"infoText\":\"styles_infoText__N4UEC\",\"textContainer\":\"styles_textContainer__2hluz\",\"containerButtons\":\"styles_containerButtons__203Ky\",\"buttonText\":\"styles_buttonText__2pqOl\",\"positionButton\":\"styles_positionButton__3OaGt\",\"dividerHorizontal\":\"styles_dividerHorizontal__1-FRK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sideContainer\":\"styles_sideContainer__3zONd\",\"content\":\"styles_content__1ohuH\",\"hamburgerMenu\":\"styles_hamburgerMenu__1nYaO\",\"sideLogo\":\"styles_sideLogo__2smtd\",\"sideList\":\"styles_sideList__1gW8i\",\"sideActivedItem\":\"styles_sideActivedItem__3MUm0\",\"sideItem\":\"styles_sideItem__10blq\",\"imgG\":\"styles_imgG__21m46\",\"imgPq\":\"styles_imgPq__3H_XX\",\"select\":\"styles_select__1SEe6\",\"fixMuiInputBaseRoot\":\"styles_fixMuiInputBaseRoot__9d9sL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"smallButton\":\"styles_smallButton__3qJ_i\",\"middleButton\":\"styles_middleButton__1SlNt\",\"largeButton\":\"styles_largeButton__2bw6R\",\"smallOutlineButton\":\"styles_smallOutlineButton__TzMgG\",\"middleOutlineButton\":\"styles_middleOutlineButton__AF456\",\"largeOutlineButton\":\"styles_largeOutlineButton__2QLta\",\"smallLoading\":\"styles_smallLoading__1lOtH\",\"middleLoading\":\"styles_middleLoading__yYDM1\",\"largeLoading\":\"styles_largeLoading__3NO2c\",\"deleteLoading\":\"styles_deleteLoading__2BpBS\",\"deleteButton\":\"styles_deleteButton__1vM3G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2ONCh\",\"content\":\"styles_content__uVLxE\",\"mainContainer\":\"styles_mainContainer__DuVfj\",\"header\":\"styles_header__H5pzr\",\"topHeader\":\"styles_topHeader__1-lB1\",\"filterContainertabPanel\":\"styles_filterContainertabPanel__3ksHV\",\"searchAndAddContainer\":\"styles_searchAndAddContainer__MrOwM\",\"contentTitle\":\"styles_contentTitle__2Suhs\",\"LoadingScreen\":\"styles_LoadingScreen__28Knc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"stylesbackup_container__eJRO7\",\"in\":\"stylesbackup_in__1N427\",\"ContentBox\":\"stylesbackup_ContentBox__2Zsz5\",\"containerImage\":\"stylesbackup_containerImage__3_TEO\",\"containerInput\":\"stylesbackup_containerInput__3TPUc\",\"containerTextButtons\":\"stylesbackup_containerTextButtons__2jeil\",\"buttonText\":\"stylesbackup_buttonText__13Em5\",\"dividerVertical\":\"stylesbackup_dividerVertical__3aNh4\",\"btnSnackBar\":\"stylesbackup_btnSnackBar__tBRIO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__Tbzo5\",\"ContentBox\":\"styles_ContentBox__2auOK\",\"header\":\"styles_header__iK-yM\",\"contentHeader\":\"styles_contentHeader__21xjw\",\"Content\":\"styles_Content__2pYeQ\",\"containerTitle\":\"styles_containerTitle__2ILB1\",\"titleHeader\":\"styles_titleHeader__PX34u\",\"title\":\"styles_title__3a8J-\",\"infoText\":\"styles_infoText__1u7_g\",\"containerInput\":\"styles_containerInput__1jf5g\",\"containerButtons\":\"styles_containerButtons__2KhPh\",\"buttonText\":\"styles_buttonText__3RQ1f\",\"positionButton\":\"styles_positionButton__35JRe\",\"dividerHorizontal\":\"styles_dividerHorizontal__xeEhA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"styles_page__1z1hD\",\"box\":\"styles_box__2Iv3s\",\"Logo\":\"styles_Logo__2TyPn\",\"contractTex\":\"styles_contractTex__1QDzo\",\"acceptbox\":\"styles_acceptbox__1axNs\",\"title\":\"styles_title__2WxUD\",\"accept\":\"styles_accept__XKhED\",\"formprint\":\"styles_formprint__wGIdN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"smallerButton\":\"styles_smallerButton__1MtsV\",\"smallButton\":\"styles_smallButton__1g9IA\",\"middleButton\":\"styles_middleButton__1eJad\",\"largeButton\":\"styles_largeButton__3bCeK\",\"smallOutlineButton\":\"styles_smallOutlineButton__1HLdU\",\"middleOutlineButton\":\"styles_middleOutlineButton__7_Adx\",\"largeOutlineButton\":\"styles_largeOutlineButton__1L1fd\",\"smallLoading\":\"styles_smallLoading__2nfrS\",\"middleLoading\":\"styles_middleLoading__wnd5Z\",\"largeLoading\":\"styles_largeLoading__10nFc\",\"deleteButton\":\"styles_deleteButton__13uCe\",\"middleOutlineButtonRed\":\"styles_middleOutlineButtonRed__1SN4y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnAddImage\":\"styles_btnAddImage__3-GrK\",\"inputfile\":\"styles_inputfile__239Uh\",\"button\":\"styles_button__2g8rC\",\"error\":\"styles_error__2otst\",\"associarUnid\":\"styles_associarUnid__3zsHL\",\"editarBox\":\"styles_editarBox__251DU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendLabel\":\"styles_legendLabel__2Zpof\",\"NotConsumer\":\"styles_NotConsumer__2d3Rv\",\"blurLoading\":\"styles_blurLoading__1KMzA\",\"boxChart\":\"styles_boxChart__BwHsr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NotConsumer\":\"styles_NotConsumer__d0AY5\",\"blurLoading\":\"styles_blurLoading__1227N\",\"boxChart\":\"styles_boxChart__UtAM-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2tDKB\",\"bg\":\"styles_bg__3lPS7\",\"userInfo\":\"styles_userInfo__3qKXe\",\"circle\":\"styles_circle__115In\",\"circleBlue\":\"styles_circleBlue__1YHMp\",\"iconColorWhite\":\"styles_iconColorWhite__L2-2q\",\"iconColorBlue\":\"styles_iconColorBlue__1rqMS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NotConsumer\":\"styles_NotConsumer__VTKsI\",\"blurLoading\":\"styles_blurLoading__3zdNL\",\"PieContainer\":\"styles_PieContainer__2HH_c\",\"circle\":\"styles_circle__2z3EO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnAddImage\":\"styles_btnAddImage__1wwIi\",\"inputfile\":\"styles_inputfile__qzU4v\",\"button\":\"styles_button__33KEv\",\"error\":\"styles_error__APTi4\",\"associarUnid\":\"styles_associarUnid__32cMk\",\"editarBox\":\"styles_editarBox__1UMfB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnAddImage\":\"styles_btnAddImage__1904D\",\"inputfile\":\"styles_inputfile__1iQrJ\",\"fixMuiInputBaseRootEditModel\":\"styles_fixMuiInputBaseRootEditModel__d17uJ\",\"associarUnid\":\"styles_associarUnid__3vTGU\",\"editarBox\":\"styles_editarBox__1kSa8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles_content__2YTKH\",\"containerIcon\":\"styles_containerIcon__34Yng\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NotConsumer\":\"styles_NotConsumer__3N5DZ\",\"blurLoading\":\"styles_blurLoading__47_iy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3_iPT\",\"content\":\"styles_content__3wW9x\",\"mainContainer\":\"styles_mainContainer__3efhJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3BXk9\",\"ContentBox\":\"styles_ContentBox__3jTv5\",\"containerHeader\":\"styles_containerHeader__OVaB5\",\"containerTitle\":\"styles_containerTitle__3y29A\",\"formTitleDP\":\"styles_formTitleDP__Yh4LK\",\"formTitleUC\":\"styles_formTitleUC__1Kkay\",\"containerButtons\":\"styles_containerButtons__1Hk2X\",\"buttonText\":\"styles_buttonText__1sTUg\",\"dividerVertical\":\"styles_dividerVertical__2vK07\",\"dividerHorizontal\":\"styles_dividerHorizontal__1Z54m\",\"marginTop\":\"styles_marginTop__21wla\",\"PersonButton\":\"styles_PersonButton__GfeqR\",\"ActiveTabButton\":\"styles_ActiveTabButton__3o8Vh\",\"disabledTabButton\":\"styles_disabledTabButton__3FNNq\",\"ucContainerHeader\":\"styles_ucContainerHeader__V-vP4\",\"containerPersonInput\":\"styles_containerPersonInput__3pD9k\",\"InputOrganization\":\"styles_InputOrganization__15NUs\",\"InputOrganizationUserdata\":\"styles_InputOrganizationUserdata__lZvry\",\"btnClear\":\"styles_btnClear__v7NpI\",\"associarUnid\":\"styles_associarUnid__3oJhf\",\"editarBox\":\"styles_editarBox__11pqI\",\"closeIC\":\"styles_closeIC__ZHq8m\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles_button__rkRaJ\",\"error\":\"styles_error__vkQDY\",\"associarUnid\":\"styles_associarUnid__1wfeJ\",\"editarBox\":\"styles_editarBox__2N0mS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnAddImage\":\"styles_btnAddImage__3WDaV\",\"inputfile\":\"styles_inputfile__3kBh0\",\"error\":\"styles_error__10xv0\",\"associarUnid\":\"styles_associarUnid__2KSMp\",\"editarBox\":\"styles_editarBox__TWRaS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"associarUnid\":\"styles_associarUnid__3hI4c\",\"editarBox\":\"styles_editarBox__kAG8E\",\"boxButton\":\"styles_boxButton__1c4vR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnAddImage\":\"styles_btnAddImage__2DjFP\",\"inputfile\":\"styles_inputfile__WJLDr\",\"fixMuiInputBaseRootEditModel\":\"styles_fixMuiInputBaseRootEditModel__31pN7\",\"associarUnid\":\"styles_associarUnid__3F0U8\",\"editarBox\":\"styles_editarBox__2BCm4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"associarUnid\":\"styles_associarUnid__1jgfa\",\"editarBox\":\"styles_editarBox__3chk2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"associarUnid\":\"styles_associarUnid__3LeTu\",\"editarBox\":\"styles_editarBox__jpJhE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"associarUnid\":\"styles_associarUnid__hkStg\",\"editarBox\":\"styles_editarBox__2EaJA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"InputContainer\":\"styles_InputContainer__1TCHO\",\"button\":\"styles_button__1S_yP\",\"associarUnid\":\"styles_associarUnid__2qC6m\",\"editarBox\":\"styles_editarBox__2mFWj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"InputContainer\":\"styles_InputContainer__35Gcs\",\"button\":\"styles_button__27bfa\",\"associarUnid\":\"styles_associarUnid__2uXbx\",\"editarBox\":\"styles_editarBox__3w9V6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2Nw5P\",\"content\":\"styles_content__3tdtx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"InputSelect\":\"styles_InputSelect__15Ep7\",\"fixMuiInputBaseRootEditModel\":\"styles_fixMuiInputBaseRootEditModel__3s--s\",\"associarUnid\":\"styles_associarUnid__3AKEz\",\"editarBox\":\"styles_editarBox__1bj6A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"associarUnid\":\"styles_associarUnid__3zCes\",\"editarBox\":\"styles_editarBox__21CYx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__1xHTk\",\"content\":\"styles_content__1gyg_\",\"mainContainer\":\"styles_mainContainer__1_9GF\",\"header\":\"styles_header__1xLGg\",\"topHeader\":\"styles_topHeader__1HJsu\",\"actionHeaderContainer\":\"styles_actionHeaderContainer__2DDU2\",\"searchUser\":\"styles_searchUser__2HiRu\",\"filterContainer\":\"styles_filterContainer__fVDF-\",\"section\":\"styles_section__29yHL\",\"itemContainer\":\"styles_itemContainer__Uxnty\",\"titletable\":\"styles_titletable__3Ee91\",\"contentHeader\":\"styles_contentHeader__22Nnp\",\"mainContent\":\"styles_mainContent__qw8XA\",\"contentBox\":\"styles_contentBox__Nd5Z6\",\"contentItem\":\"styles_contentItem__1fgVE\",\"circleIcon\":\"styles_circleIcon__1iyIZ\",\"contentText\":\"styles_contentText__18IpI\",\"contentBox2\":\"styles_contentBox2__1qTQm\",\"CircleNumber\":\"styles_CircleNumber__34xZz\",\"contentItemMeter\":\"styles_contentItemMeter__1xEyM\",\"contentBox3\":\"styles_contentBox3__168Fh\",\"containerButtons\":\"styles_containerButtons__1e0m1\",\"noConsumerUnit\":\"styles_noConsumerUnit__1KY8_\",\"LoadingScreen\":\"styles_LoadingScreen__1djpK\",\"buttom\":\"styles_buttom__2r0W6\",\"link\":\"styles_link__3i2-L\",\"address\":\"styles_address__3d4n5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3MSAv\",\"content\":\"styles_content__1f-IT\",\"mainContainer\":\"styles_mainContainer__E0C6z\",\"header\":\"styles_header__26KJ9\",\"topHeader\":\"styles_topHeader__1xI1j\",\"filterContainer\":\"styles_filterContainer__1PrpG\",\"section\":\"styles_section__2gSNC\",\"itemContainer\":\"styles_itemContainer__2pBX0\",\"titletable\":\"styles_titletable__2WycB\",\"contentHeader\":\"styles_contentHeader__28s_c\",\"mainContent\":\"styles_mainContent__2oIgQ\",\"contentText\":\"styles_contentText__3qiqF\",\"contentBox3\":\"styles_contentBox3__16yXK\",\"contentItem\":\"styles_contentItem__3syMs\",\"containerButtons\":\"styles_containerButtons__1dgcz\",\"statusContainer\":\"styles_statusContainer__1s4ns\",\"status\":\"styles_status__1BGug\",\"dividerHorizontal\":\"styles_dividerHorizontal__3k34-\",\"iconCircle\":\"styles_iconCircle__1dQtt\",\"icon\":\"styles_icon__1L9Vg\",\"LoadingScreen\":\"styles_LoadingScreen__264tT\",\"searchUser\":\"styles_searchUser__3hj6z\",\"doc\":\"styles_doc__1upRF\",\"phone\":\"styles_phone__9jlb8\",\"email\":\"styles_email__1eRok\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles_header__2MCv4\",\"searchAndAddContainer\":\"styles_searchAndAddContainer__3gkow\",\"formControle\":\"styles_formControle__37-gS\",\"fixMuiInputBaseRoot\":\"styles_fixMuiInputBaseRoot__2Lap5\",\"section\":\"styles_section__3iGMb\",\"itemContainer\":\"styles_itemContainer__2Uktz\",\"titletable\":\"styles_titletable__kjt-K\",\"contentHeader\":\"styles_contentHeader__3ZwZq\",\"mainContent\":\"styles_mainContent__LtNEL\",\"contentText\":\"styles_contentText__1G3kS\",\"contentBox3\":\"styles_contentBox3__3Kh5H\",\"contentItem\":\"styles_contentItem__FqzDq\",\"containerButtons\":\"styles_containerButtons__14feZ\",\"statusContainer\":\"styles_statusContainer__1WdE0\",\"status\":\"styles_status__3cBv8\",\"dividerHorizontal\":\"styles_dividerHorizontal__2XVSz\",\"noConsumerUnit\":\"styles_noConsumerUnit__3sIvS\",\"canais\":\"styles_canais__6Bgh6\",\"canaisContext\":\"styles_canaisContext__qbOCn\",\"channelsContainer\":\"styles_channelsContainer__1-ayZ\",\"available\":\"styles_available__3YlKv\",\"occupation\":\"styles_occupation__1YRKr\",\"tooltip\":\"styles_tooltip__2orfF\",\"TooltipTextOccupation\":\"styles_TooltipTextOccupation___5aiY\",\"TooltipTextAvailable\":\"styles_TooltipTextAvailable__2qXav\",\"contentBox2\":\"styles_contentBox2__RSyaH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"containerTech\":\"styles_containerTech__3icj5\",\"flexContainer\":\"styles_flexContainer__2KnC1\",\"selectLabel\":\"styles_selectLabel__3HKBw\",\"selectMenu\":\"styles_selectMenu__2vpV9\",\"container\":\"styles_container__1l7a0\",\"content\":\"styles_content__1gSTa\",\"box\":\"styles_box__27HGD\",\"ola\":\"styles_ola__l99ye\",\"firstContainerChart\":\"styles_firstContainerChart__eCTZm\",\"bar\":\"styles_bar__1KMD6\",\"noUnitConsumer\":\"styles_noUnitConsumer__C2Jt_\",\"contentTech\":\"styles_contentTech__2K8y2\",\"boxTech\":\"styles_boxTech__gV6ZO\",\"olaTech\":\"styles_olaTech__JPKDu\",\"noUnitConsumerTech\":\"styles_noUnitConsumerTech__QQt2Q\",\"LoadingScreen\":\"styles_LoadingScreen__1Yn74\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles_header__3Yi8C\",\"searchAndAddContainer\":\"styles_searchAndAddContainer__1heBV\",\"formControle\":\"styles_formControle__12XIR\",\"fixMuiInputBaseRoot\":\"styles_fixMuiInputBaseRoot__1S3YT\",\"section\":\"styles_section__1E393\",\"itemContainer\":\"styles_itemContainer__2X5Dn\",\"titletable\":\"styles_titletable__2YM7f\",\"contentHeader\":\"styles_contentHeader__2gI3b\",\"actiontable\":\"styles_actiontable__2JyJu\",\"deletItens\":\"styles_deletItens__2OCg8\",\"mainContent\":\"styles_mainContent__1Z1zV\",\"contentText\":\"styles_contentText__u5ci_\",\"contentBox3\":\"styles_contentBox3__2_QXi\",\"contentItem\":\"styles_contentItem__3vPF9\",\"containerButtons\":\"styles_containerButtons__2tUkp\",\"buttonsGroup\":\"styles_buttonsGroup__2OvEV\",\"dividerHorizontal\":\"styles_dividerHorizontal__1gzgf\",\"noConsumerUnit\":\"styles_noConsumerUnit__3iExx\",\"canais\":\"styles_canais__3kD8Y\",\"canaisContext\":\"styles_canaisContext__3U6nG\",\"available\":\"styles_available__3VlrH\",\"occupation\":\"styles_occupation__2tQBO\",\"contentBox\":\"styles_contentBox__3qqtd\",\"equi\":\"styles_equi__jNQqv\",\"brand\":\"styles_brand__3XXP4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3Lu3_\",\"header\":\"styles_header__20-KX\",\"searchAndAddContainer\":\"styles_searchAndAddContainer__3bRvX\",\"formControle\":\"styles_formControle__1GwFe\",\"fixMuiInputBaseRoot\":\"styles_fixMuiInputBaseRoot__2w9q3\",\"section\":\"styles_section__zcZed\",\"itemContainer\":\"styles_itemContainer__3F9W9\",\"titletable\":\"styles_titletable__ueBLB\",\"contentHeader\":\"styles_contentHeader__1LQ7r\",\"actiontable\":\"styles_actiontable__26PW4\",\"deletItens\":\"styles_deletItens__1nkyn\",\"mainContent\":\"styles_mainContent__SVSC2\",\"contentText\":\"styles_contentText__3Rr6X\",\"contentBox3\":\"styles_contentBox3__2aRnn\",\"contentItem\":\"styles_contentItem__1hgzy\",\"containerButtons\":\"styles_containerButtons__1mg6T\",\"buttonsGroup\":\"styles_buttonsGroup__2AVVL\",\"dividerHorizontal\":\"styles_dividerHorizontal__giARm\",\"dividerContainer\":\"styles_dividerContainer__smdrT\",\"marca\":\"styles_marca__1yPHQ\",\"tipoEquip\":\"styles_tipoEquip__1XAOz\",\"tipoNeg\":\"styles_tipoNeg__3f-8U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"snackbar\":\"styles_snackbar__1zkuv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"excluirUnid\":\"styles_excluirUnid__Uo6ac\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"styles_section__-3pxc\",\"itemContainer\":\"styles_itemContainer__8Ox_H\",\"titletable\":\"styles_titletable__1py-t\",\"contentHeader\":\"styles_contentHeader__rQQ4x\",\"mainContent\":\"styles_mainContent__2_pmx\",\"contentText\":\"styles_contentText__29OhB\",\"contentBox3\":\"styles_contentBox3__2C8WU\",\"contentItem\":\"styles_contentItem__1yRcj\",\"containerButtons\":\"styles_containerButtons__eoqBn\",\"statusContainer\":\"styles_statusContainer__3UKBx\",\"status\":\"styles_status__2SgUT\",\"dividerHorizontal\":\"styles_dividerHorizontal__6A3m0\",\"noConsumerUnit\":\"styles_noConsumerUnit__2IzD9\",\"idMeter\":\"styles_idMeter__sG1HL\",\"nameId\":\"styles_nameId__2ZWNw\",\"notAss\":\"styles_notAss__oazbZ\",\"contentBox2\":\"styles_contentBox2__1tCPW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2Q9GN\",\"content\":\"styles_content__gZPKx\",\"mainContainer\":\"styles_mainContainer__3AVMo\",\"header\":\"styles_header__RXZ1w\",\"topHeader\":\"styles_topHeader__1yI1O\",\"filterContainertabPanel\":\"styles_filterContainertabPanel__tenRR\",\"searchAndAddContainer\":\"styles_searchAndAddContainer__2mPdM\",\"formControle\":\"styles_formControle__r35rB\",\"fixMuiInputBaseRoot\":\"styles_fixMuiInputBaseRoot__2NTFL\",\"contentTitle\":\"styles_contentTitle__2qCFn\",\"LoadingScreen\":\"styles_LoadingScreen__hSjvl\",\"contentItem\":\"styles_contentItem__zFyfu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2mq4M\",\"content\":\"styles_content__2YWnv\",\"mainContainer\":\"styles_mainContainer__2wjto\",\"header\":\"styles_header__1kIjU\",\"topHeader\":\"styles_topHeader__11Ffh\",\"medidores\":\"styles_medidores__uSum0\",\"searchAndAddContainer\":\"styles_searchAndAddContainer__nBIl3\",\"formControle\":\"styles_formControle__3t-At\",\"fixMuiInputBaseRoot\":\"styles_fixMuiInputBaseRoot__58p7-\",\"contentTitle\":\"styles_contentTitle__1xnrg\",\"LoadingScreen\":\"styles_LoadingScreen__3YHSY\",\"fixMuiInputBaseRootEditModel\":\"styles_fixMuiInputBaseRootEditModel__qu162\",\"filt\":\"styles_filt__1v5wL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"stylesbackup_container__1OX4j\",\"ContentBox\":\"stylesbackup_ContentBox__2lDYz\",\"containerHeader\":\"stylesbackup_containerHeader__1bgSW\",\"containerTitle\":\"stylesbackup_containerTitle__3S-8Y\",\"PersonButton\":\"stylesbackup_PersonButton__1v4ms\",\"ActiveTabButton\":\"stylesbackup_ActiveTabButton__AeD89\",\"disabledTabButton\":\"stylesbackup_disabledTabButton__2voqJ\",\"formTitleDP\":\"stylesbackup_formTitleDP__PreDM\",\"formTitleUC\":\"stylesbackup_formTitleUC__3AkOk\",\"containerPersonInput\":\"stylesbackup_containerPersonInput__1azTL\",\"InputOrganization\":\"stylesbackup_InputOrganization__O6Aga\",\"InputOrganizationUserdata\":\"stylesbackup_InputOrganizationUserdata__2vXcq\",\"ucContainerHeader\":\"stylesbackup_ucContainerHeader__16Pvw\",\"containerButtons\":\"stylesbackup_containerButtons__h0YLb\",\"buttonText\":\"stylesbackup_buttonText__21SEH\",\"dividerVertical\":\"stylesbackup_dividerVertical__mS7RM\",\"dividerHorizontal\":\"stylesbackup_dividerHorizontal__3wIIn\",\"marginTop\":\"stylesbackup_marginTop__oRg16\",\"btnSnackBar\":\"stylesbackup_btnSnackBar__2Dlvn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendContainer\":\"styles_legendContainer__3NjOb\",\"noId\":\"styles_noId__3kg0I\",\"buttonSpacing\":\"styles_buttonSpacing__zkJ7Q\",\"datePickerContainer\":\"styles_datePickerContainer__2s5J-\",\"datePickerLabel\":\"styles_datePickerLabel__YjxI9\",\"chartContainer\":\"styles_chartContainer__k0rQl\",\"chartWrapper\":\"styles_chartWrapper__1Hpki\",\"voltageLabel\":\"styles_voltageLabel__1zjVn\",\"datePicker\":\"styles_datePicker__XGPX8\",\"download\":\"styles_download__1oGiH\",\"print\":\"styles_print__2k9AD\",\"spinner\":\"styles_spinner__1aGz1\",\"spin\":\"styles_spin__31gec\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendContainer\":\"styles_legendContainer__9b_7H\",\"noId\":\"styles_noId__2kSZa\",\"buttonSpacing\":\"styles_buttonSpacing__EuZ47\",\"datePickerContainer\":\"styles_datePickerContainer__20MAL\",\"datePickerLabel\":\"styles_datePickerLabel__Lmqh4\",\"chartContainer\":\"styles_chartContainer__2ctnC\",\"chartWrapper\":\"styles_chartWrapper__1TFxz\",\"voltageLabel\":\"styles_voltageLabel__3WDS8\",\"datePicker\":\"styles_datePicker__1CRSO\",\"download\":\"styles_download__3j2pc\",\"print\":\"styles_print__1WzKX\",\"spinner\":\"styles_spinner__1_BHI\",\"spin\":\"styles_spin__3XJFW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"legendContainer\":\"styles_legendContainer__3BSNt\",\"noId\":\"styles_noId__3FoCG\",\"buttonSpacing\":\"styles_buttonSpacing__3gOqO\",\"datePickerContainer\":\"styles_datePickerContainer__EFscc\",\"datePickerLabel\":\"styles_datePickerLabel__2ILbk\",\"chartContainer\":\"styles_chartContainer__3FWwJ\",\"chartWrapper\":\"styles_chartWrapper__avo8y\",\"voltageLabel\":\"styles_voltageLabel__2YrbI\",\"datePicker\":\"styles_datePicker__2VbaC\",\"download\":\"styles_download__1S18h\",\"print\":\"styles_print__3akQQ\",\"spinner\":\"styles_spinner__Mmoop\",\"spin\":\"styles_spin__iZdbc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"smallCard\":\"styles_smallCard__1Q7VK\",\"middleCard\":\"styles_middleCard__HGpk_\",\"largeCard\":\"styles_largeCard__9IWJG\",\"largeCardTecnico\":\"styles_largeCardTecnico__2wnRN\",\"CardHeader\":\"styles_CardHeader__3SE7T\",\"containerTitle\":\"styles_containerTitle__1owK0\",\"Informative\":\"styles_Informative__2KNPW\",\"totals\":\"styles_totals__2Rffd\",\"Informative2\":\"styles_Informative2__1jywN\",\"close\":\"styles_close__33YHO\",\"openLegends\":\"styles_openLegends__15W4N\",\"ChartsArea\":\"styles_ChartsArea__24cxv\",\"legenda\":\"styles_legenda__3Nx00\",\"fadeout\":\"styles_fadeout__K4nR1\",\"legendVisible\":\"styles_legendVisible__ZXeKZ\",\"fadein\":\"styles_fadein__UUc8V\",\"containerIcon\":\"styles_containerIcon__55-Q8\",\"blurLoading\":\"styles_blurLoading__wx8_b\",\"date\":\"styles_date__1Ibdx\"};","import React, { createContext, ReactNode, useContext, useState } from \"react\"\r\nimport { Last24hours } from \"../util/types\"\r\n\r\ntype PropsStateContext = {\r\n isLoading: boolean,\r\n isFetching: boolean,\r\n isGetFetching: boolean,\r\n confirmLoading: boolean,\r\n showSideMenu: boolean,\r\n showSelectAppBar: boolean,\r\n selectConsumerUnitId: number,\r\n equipmentConsumerMoch: any,\r\n searchItem: string,\r\n openSnackBar: boolean,\r\n openStatusErrorSnackBar: boolean,\r\n snackBarTextResponse: string,\r\n dateToCallApiForChartPie: Last24hours,\r\n dateToCallApiForChartArea: Last24hours,\r\n dateToCallApiForChartArea1: Last24hours,\r\n dateToCallApiForChartArea2: Last24hours,\r\n dateToCallApiForChartBar: Last24hours,\r\n dateToCallApiForChartPieRange: Last24hours,\r\n dateToCallApiForChartAreaRange: Last24hours,\r\n\r\n dateToCallApiForChartBarRange: Last24hours,\r\n setIsLoading: React.Dispatch>,\r\n setIsFetching: React.Dispatch>,\r\n setIsGetFetching: React.Dispatch>,\r\n setConfirmLoading: React.Dispatch>,\r\n setShowSideMenu: React.Dispatch>,\r\n setShowSelectAppBar: React.Dispatch>,\r\n setSelectConsumerUnitId: React.Dispatch>,\r\n setEquipmentConsumerMoch: React.Dispatch>,\r\n setSearchItem: React.Dispatch>,\r\n setOpenSnackBar: React.Dispatch>,\r\n setStatusErrorOpenSnackBar: React.Dispatch>,\r\n setSnackBarTextResponse: React.Dispatch>\r\n setDateToCallApiForChartPie: React.Dispatch>\r\n setDateToCallApiForChartArea: React.Dispatch>\r\n setDateToCallApiForChartArea1: React.Dispatch>\r\n setDateToCallApiForChartArea2: React.Dispatch>\r\n setDateToCallApiForChartBar: React.Dispatch>\r\n setDateToCallApiForChartPieRange: React.Dispatch>\r\n setDateToCallApiForChartAreaRange: React.Dispatch>\r\n setDateToCallApiForChartBarRange: React.Dispatch>\r\n}\r\n\r\ntype StateContextTypes = {\r\n children: ReactNode\r\n}\r\n\r\nexport const StateContext = createContext({} as PropsStateContext)\r\n\r\nfunction StateContextProvider(props: StateContextTypes) {\r\n const [isLoading, setIsLoading] = useState(false)\r\n const [isFetching, setIsFetching] = useState(true)\r\n const [isGetFetching, setIsGetFetching] = useState(true)\r\n const [confirmLoading, setConfirmLoading] = useState(false)\r\n const [selectConsumerUnitId, setSelectConsumerUnitId] = useState(0)\r\n const [showSideMenu, setShowSideMenu] = useState(false)\r\n const [showSelectAppBar, setShowSelectAppBar] = useState(true)\r\n const [equipmentConsumerMoch, setEquipmentConsumerMoch] = useState()\r\n const [searchItem, setSearchItem] = useState('')\r\n const [openSnackBar, setOpenSnackBar] = useState(false);\r\n const [openStatusErrorSnackBar, setStatusErrorOpenSnackBar] = useState(false);\r\n const [snackBarTextResponse, setSnackBarTextResponse] = useState('');\r\n const [dateToCallApiForChartPie, setDateToCallApiForChartPie] = useState({} as Last24hours);\r\n const [dateToCallApiForChartArea, setDateToCallApiForChartArea] = useState({} as Last24hours);\r\n const [dateToCallApiForChartArea1, setDateToCallApiForChartArea1] = useState({} as Last24hours);\r\n const [dateToCallApiForChartArea2, setDateToCallApiForChartArea2] = useState({} as Last24hours);\r\n const [dateToCallApiForChartBar, setDateToCallApiForChartBar] = useState({} as Last24hours);\r\n const [dateToCallApiForChartPieRange, setDateToCallApiForChartPieRange] = useState({} as Last24hours);\r\n const [dateToCallApiForChartAreaRange, setDateToCallApiForChartAreaRange] = useState({} as Last24hours);\r\n const [dateToCallApiForChartBarRange, setDateToCallApiForChartBarRange] = useState({} as Last24hours);\r\n\r\n const objProvider = {\r\n isLoading,\r\n isFetching,\r\n isGetFetching,\r\n confirmLoading,\r\n showSideMenu,\r\n showSelectAppBar,\r\n selectConsumerUnitId,\r\n equipmentConsumerMoch,\r\n searchItem,\r\n openSnackBar,\r\n openStatusErrorSnackBar,\r\n snackBarTextResponse,\r\n dateToCallApiForChartPie,\r\n dateToCallApiForChartArea,\r\n dateToCallApiForChartArea1,\r\n dateToCallApiForChartArea2,\r\n\r\n dateToCallApiForChartBar,\r\n dateToCallApiForChartPieRange,\r\n dateToCallApiForChartAreaRange,\r\n \r\n dateToCallApiForChartBarRange,\r\n setIsLoading,\r\n setIsFetching,\r\n setIsGetFetching,\r\n setConfirmLoading,\r\n setShowSideMenu,\r\n setShowSelectAppBar,\r\n setSelectConsumerUnitId,\r\n setEquipmentConsumerMoch,\r\n setSearchItem,\r\n setOpenSnackBar,\r\n setStatusErrorOpenSnackBar,\r\n setSnackBarTextResponse,\r\n setDateToCallApiForChartPie,\r\n setDateToCallApiForChartArea,\r\n setDateToCallApiForChartArea1,\r\n setDateToCallApiForChartArea2,\r\n \r\n setDateToCallApiForChartBar,\r\n setDateToCallApiForChartPieRange,\r\n setDateToCallApiForChartAreaRange,\r\n \r\n setDateToCallApiForChartBarRange\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nfunction useStateContext() {\r\n const context = useContext(StateContext)\r\n return context\r\n}\r\n\r\nexport {\r\n StateContextProvider,\r\n useStateContext\r\n}\r\n","import axios from \"axios\";\r\n\r\nconst BASE_URL = process.env.REACT_APP_BASE_URL;\r\n\r\nconst api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\nexport const axiosPrivate = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(async (config) => {\r\n const token = localStorage.getItem(\"accessToken\") || null;\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n return config;\r\n});\r\n\r\nexport default api;\r\n","import api from './api'\r\nimport { User } from '../util/types'\r\n\r\nexport function getUserAll() {\r\n return api.get(`/api/User`)\r\n}\r\n\r\nexport function getUserById(id: string) {\r\n return api.get(`/api/User/${id}`)\r\n}\r\n\r\nexport function postUser(user: User) {\r\n return api.post('/api/User', user)\r\n}\r\n\r\nexport function putUser(user: any, id: string) {\r\n return api.put(`/api/User/${id}`, user)\r\n}\r\n\r\nexport function delUser(id: string) {\r\n return api.delete(`/api/User/${id}`)\r\n}\r\n","import api from './api'\r\nimport { Auth } from '../util/types'\r\n\r\n//Auth rest\r\nexport function signIn(data: Auth) {\r\n return api.post('/api/Auth/signin', data)\r\n}\r\n\r\nexport function postForgotPassword(email: any) {\r\n return api.post('/api/Auth/forgot-password', {\r\n email: email\r\n })\r\n}\r\n\r\nexport function postRefreshPassword(rest: any) {\r\n return api.post('/api/Auth/reset-password', rest)\r\n}\r\n\r\nexport function postConfirmEmail(confirmEmail: any) {\r\n return api.post('/api/Auth/confirm-email', confirmEmail)\r\n}\r\n\r\nexport function postGenerateConfirmationEmail(login:any) {\r\n return api.post('/api/Auth/generate-confirmation-email', login)\r\n}\r\n\r\nexport function refresh (objTokens: any) {\r\n return api.post('/api/Auth/refresh', objTokens)\r\n}\r\n\r\nexport function logoutUser() {\r\n return api.get('/api/Auth/revoke')\r\n}\r\n// Mock\r\nexport async function getMock(period: Object) {\r\n return api.post('/api/mock', period)\r\n}\r\n\r\nexport async function getMockByEquipmentId(id: number, period: Object) {\r\n return api.post(`/api/mock/${id}`, period)\r\n}\r\n\r\nexport async function getMockByEquipmentIdForHours(id: number, hours: number) {\r\n return api.post(`/api/mock/${id}/${hours}`)\r\n}\r\n\r\nexport async function getMockByIdToConsumerUnit(id: number, period: Object) {\r\n return api.post(`/api/mock/${id}/ConsumerUnit`, period)\r\n}\r\n\r\nexport async function getMockByIdToConsumerUnitForHours(id: number, hours: number) {\r\n return api.post(`/api/mock/${id}/ConsumerUnit/${hours}`)\r\n}","import api from '../../services/api';\r\n\r\nconst useRefreshToken = () => {\r\n const accessToken = localStorage.getItem('accessToken') || null;\r\n const refreshToken = localStorage.getItem('refreshToken') || null;\r\n const refresh = async () => {\r\n let bodyRefresh = {\r\n refreshToken: refreshToken,\r\n accessToken: accessToken\r\n }\r\n\r\n const resp = await api.post('/api/Auth/refresh', bodyRefresh);\r\n localStorage.setItem('accessToken', resp.data.accessToken);\r\n localStorage.setItem('refreshToken', resp.data.refreshToken);\r\n\r\n return resp.data.accessToken\r\n }\r\n\r\n return refresh\r\n}\r\n\r\nexport default useRefreshToken","import { axiosPrivate } from \"../../services/api\";\r\nimport { useEffect } from \"react\";\r\nimport useRefreshToken from \"../../util/hooks/useRefreshToken\";\r\n\r\nconst useAxiosPrivate = () => {\r\n const refresh = useRefreshToken();\r\n useEffect(() => {\r\n const requestInterceptor = axiosPrivate.interceptors.request.use(\r\n config => {\r\n const token = localStorage.getItem(\"accessToken\") || null;\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n return config;\r\n }, error => Promise.reject(error)\r\n )\r\n\r\n const responseIntercept = axiosPrivate.interceptors.response.use(\r\n response => response,\r\n async error => {\r\n const prevRequest = error?.config;\r\n if (error?.response?.status === 401 && !prevRequest.sent) {\r\n prevRequest.sent = true;\r\n const newAccessToken = await refresh();\r\n prevRequest.headers[\"Authorization\"] = `Bearer ${newAccessToken}`;\r\n return axiosPrivate(prevRequest);\r\n }\r\n return Promise.reject(error);\r\n }\r\n );\r\n\r\n return () => {\r\n axiosPrivate.interceptors.request.eject(requestInterceptor);\r\n axiosPrivate.interceptors.response.eject(responseIntercept);\r\n }\r\n }, [refresh])\r\n\r\n return axiosPrivate;\r\n}\r\n\r\nexport default useAxiosPrivate;","import React, {\r\n createContext,\r\n ReactNode,\r\n useContext,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport {\r\n delUser,\r\n getUserAll,\r\n postUser,\r\n putUser,\r\n} from \"../services/restApiUser\";\r\nimport {\r\n logoutUser,\r\n postConfirmEmail,\r\n postForgotPassword,\r\n postGenerateConfirmationEmail,\r\n refresh,\r\n} from \"../services/restApiAuth\";\r\nimport { OrdinationIsAdmin } from \"../util/ordernation\";\r\nimport {\r\n User,\r\n Auth,\r\n AccessToken,\r\n PlaceData,\r\n LogedInUser,\r\n DataUser,\r\n} from \"../util/types\";\r\nimport { useStateContext } from \"./stateContext\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport useAxiosPrivate from \"../util/hooks/useAxiosPrivate\";\r\nimport api from \"../services/api\";\r\n\r\n\r\ninterface propsUserContext {\r\n user: User;\r\n place: PlaceData;\r\n auth: Auth;\r\n logedInUser: LogedInUser;\r\n dataUser: DataUser;\r\n accessToken: AccessToken;\r\n statePerson: boolean;\r\n tokenValidate: boolean;\r\n isCNPJ: boolean;\r\n isContractSigned: boolean;\r\n isAuthenticated: boolean;\r\n role: string;\r\n statusResponse: number;\r\n userList: Array;\r\n setUser: React.Dispatch>;\r\n setPlace: React.Dispatch>;\r\n setAuth: React.Dispatch>;\r\n setLogedInUser: React.Dispatch>;\r\n setDataUser: React.Dispatch>;\r\n setAccessToken: React.Dispatch>;\r\n setStatePerson: React.Dispatch>;\r\n setTokenValidate: React.Dispatch>;\r\n setIsCNPJ: React.Dispatch>;\r\n setIsContractSigned: React.Dispatch>;\r\n setRole: React.Dispatch>;\r\n setUserList: React.Dispatch>>;\r\n getUserList: () => Promise;\r\n getUserByIdContext: (id: string) => Promise;\r\n loginUser: (user: Auth, remember: boolean) => Promise;\r\n signUpUser: (user: any) => Promise;\r\n confirmEmail: (uid: string, token: string) => Promise;\r\n generateConfirmEmail: (email: string) => Promise;\r\n forgotPassword: (email: string) => Promise;\r\n EditUser: (user: any, id: string, list: boolean) => Promise;\r\n deleteUser: (id: string) => Promise;\r\n refreshTokenContext: () => Promise;\r\n logout: () => void;\r\n}\r\n\r\ntype AuthContextProps = {\r\n children: ReactNode;\r\n};\r\n\r\n\r\n\r\nexport const AuthContext = createContext({} as propsUserContext);\r\n\r\nfunction AuthProvider({ children }: AuthContextProps) {\r\n const [user, setUser] = useState({} as User);\r\n const [place, setPlace] = useState({} as PlaceData);\r\n const [auth, setAuth] = useState({} as Auth);\r\n const [logedInUser, setLogedInUser] = useState(\r\n {} as LogedInUser\r\n );\r\n const [dataUser, setDataUser] = useState({} as DataUser);\r\n const [accessToken, setAccessToken] = useState(\r\n {} as AccessToken\r\n );\r\n const [statePerson, setStatePerson] = useState(true);\r\n const [isCNPJ, setIsCNPJ] = useState(false);\r\n const [isContractSigned, setIsContractSigned] = useState(false);\r\n const [isAuthenticated, setIsAuthenticated] = useState(false);\r\n const [role, setRole] = useState(\"\");\r\n const [userList, setUserList] = useState>(\r\n [] as Array\r\n );\r\n const [statusResponse, setStatusResponse] = useState(0);\r\n const {\r\n setSnackBarTextResponse,\r\n setOpenSnackBar,\r\n setStatusErrorOpenSnackBar,\r\n setIsFetching,\r\n } = useStateContext();\r\n const [tokenValidate, setTokenValidate] = useState(false);\r\n\r\n const navigate = useNavigate();\r\n const axiosPrivate = useAxiosPrivate();\r\n\r\n useEffect(() => {\r\n let recoveredAccessToken = localStorage.getItem(\"accessToken\");\r\n let recoveredUserId = localStorage.getItem(\"userIdValue\");\r\n\r\n if (recoveredAccessToken && recoveredUserId) {\r\n localStorage.setItem(\"accessToken\", recoveredAccessToken);\r\n setIsAuthenticated(true);\r\n }\r\n }, []); // eslint-disable-line\r\n\r\n const loginUser = async (user: Auth, remember: boolean) => {\r\n let hasLoggedIn = false;\r\n \r\n try {\r\n const { data, status } = await api.post(\"/api/Auth/signin\", user);\r\n hasLoggedIn = status === 200;\r\n \r\n if (hasLoggedIn) {\r\n const { accessToken, refreshToken, expiration, user, role } = data;\r\n \r\n localStorage.setItem(\"accessToken\", accessToken);\r\n localStorage.setItem(\"refreshToken\", refreshToken);\r\n localStorage.setItem(\"expiration\", expiration); \r\n let convertToString = `${user.id}`;\r\n localStorage.setItem(\"userIdValue\", convertToString);\r\n localStorage.setItem(\"role\", role);\r\n setDataUser(user);\r\n setIsAuthenticated(true);\r\n setIsFetching(false);\r\n if (await user.isContractSigned){ \r\n navigate({\r\n pathname: \"/dashboard\",\r\n search: `?${user.consumerUnits.length > 0\r\n ? `consumerUnitId=${user.consumerUnits[0].id}`\r\n : \"\"\r\n }`,\r\n })\r\n }else{\r\n navigate('/contract');\r\n };\r\n } else {\r\n let message =\r\n data.message ||\r\n \"Ocorreu um error inesperado, tente novamente mais tarde!\";\r\n setSnackBarTextResponse(message);\r\n }\r\n } catch (error: any) {\r\n setStatusResponse(error.request.status);\r\n if (error.request.status === 401) {\r\n setSnackBarTextResponse(\"Usuário ou senha inválidos!\");\r\n } else {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n }\r\n\r\n return hasLoggedIn;\r\n };\r\n\r\n const signUpUser = async (user: any) => {\r\n let hasSignedUp = false;\r\n\r\n try {\r\n const { status } = await postUser(user);\r\n hasSignedUp = status === 200;\r\n\r\n if (hasSignedUp) {\r\n setStatusResponse(status);\r\n setSnackBarTextResponse(\"Usuário cadastrado com sucesso!\");\r\n }\r\n } catch (error: any) {\r\n setStatusResponse(error.request.status);\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n\r\n return hasSignedUp;\r\n };\r\n\r\n const generateConfirmEmail = async (login: string) => {\r\n let hasConfirmEmail = false;\r\n const confirmEmail = { login: login };\r\n try {\r\n const { status } = await postGenerateConfirmationEmail(confirmEmail);\r\n hasConfirmEmail = status === 200;\r\n if (hasConfirmEmail) {\r\n setStatusResponse(status);\r\n setSnackBarTextResponse(\r\n \"Email de confirmação enviado, por favor não deixe verificar sua caixa de spam!\"\r\n );\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n\r\n return hasConfirmEmail;\r\n };\r\n\r\n const confirmEmail = async (uid: string, token: string) => {\r\n let hasFetch = false;\r\n let mountedPostConfirmEmail = {\r\n id: uid,\r\n token: token,\r\n };\r\n try {\r\n const { status } = await postConfirmEmail(mountedPostConfirmEmail);\r\n hasFetch = status === 200;\r\n if (hasFetch) {\r\n setOpenSnackBar(true);\r\n setStatusErrorOpenSnackBar(false);\r\n setSnackBarTextResponse(\"Email confirmado com sucesso!\");\r\n }\r\n } catch (error: any) {\r\n setOpenSnackBar(true);\r\n setStatusErrorOpenSnackBar(true);\r\n setSnackBarTextResponse(\r\n `O link de confirmação está expirado ou o e-mail já foi confirmado.`\r\n );\r\n }\r\n return hasFetch;\r\n };\r\n\r\n const getUserList = async () => {\r\n const { data, status } = await getUserAll();\r\n\r\n if (status === 200) {\r\n OrdinationIsAdmin(data);\r\n setUserList(data);\r\n }\r\n };\r\n\r\n const getUserByIdContext = async (id: string) => {\r\n const { data, status } = await axiosPrivate.get(`/api/User/${id}`); \r\n if (status === 200) {\r\n setDataUser(data);\r\n }\r\n };\r\n\r\n const EditUser = async (user: any, id: string, list: boolean) => {\r\n let hasEdit = false;\r\n\r\n try {\r\n const { status } = await putUser(user, id);\r\n hasEdit = status === 200;\r\n if (hasEdit) {\r\n if (list) {\r\n await getUserList();\r\n } else {\r\n await getUserByIdContext(id);\r\n }\r\n setSnackBarTextResponse(\"Usuário editado com sucesso!\");\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n return hasEdit;\r\n };\r\n\r\n const deleteUser = async (id: string) => {\r\n let hasDelete = false;\r\n try {\r\n const { status } = await delUser(id);\r\n hasDelete = status === 200;\r\n if (hasDelete) {\r\n getUserList();\r\n setSnackBarTextResponse(\"Usuário deletado com sucesso!\");\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n return hasDelete;\r\n };\r\n\r\n const forgotPassword = async (email: string) => {\r\n let hasForgotPassword = false;\r\n\r\n try {\r\n const { status } = await postForgotPassword(email);\r\n hasForgotPassword = status === 200;\r\n if (hasForgotPassword) {\r\n setSnackBarTextResponse(\"Email de recuperação enviado!\");\r\n }\r\n } catch (error: any) {\r\n setStatusResponse(error.request.status);\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n return hasForgotPassword;\r\n };\r\n\r\n const refreshTokenContext = async () => {\r\n let hasFetch = false;\r\n setTokenValidate(true);\r\n const refreshToken = localStorage.getItem(\"refreshToken\") || null;\r\n const accessToken = localStorage.getItem(\"accessToken\") || null;\r\n const expiration = localStorage.getItem(\"expiration\") || null;\r\n const now = new Date();\r\n\r\n let objToken = {\r\n refreshToken: refreshToken,\r\n accessToken: accessToken,\r\n };\r\n\r\n if (refreshToken && expiration && accessToken) {\r\n const formattedExpiration = new Date(expiration);\r\n const oneDayForExpiration = new Date(formattedExpiration.getDay() - 1);\r\n try {\r\n const { data, status } = await refresh(objToken);\r\n hasFetch = status === 200;\r\n if (now < oneDayForExpiration) {\r\n if (hasFetch) {\r\n const { accessToken, refreshToken, expiration } = data;\r\n localStorage.setItem(\"accessToken\", accessToken);\r\n localStorage.setItem(\"refreshToken\", refreshToken);\r\n localStorage.setItem(\"expiration\", expiration);\r\n } else {\r\n setTokenValidate(false);\r\n setSnackBarTextResponse(\r\n \"Token expirado, por favor efetue o login novamente!\"\r\n );\r\n setStatusErrorOpenSnackBar(true);\r\n setOpenSnackBar(true);\r\n }\r\n }\r\n } catch (error: any) {\r\n setTokenValidate(false);\r\n localStorage.removeItem(\"accessToken\");\r\n localStorage.removeItem(\"userIdValue\");\r\n localStorage.removeItem(\"role\");\r\n localStorage.removeItem(\"hasnosign\")\r\n setStatusResponse(error.request.status);\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n setStatusErrorOpenSnackBar(true);\r\n setOpenSnackBar(true);\r\n }\r\n }\r\n\r\n return hasFetch;\r\n };\r\n\r\n const logout = async () => {\r\n let hasLogout = false;\r\n try {\r\n const accessToken = localStorage.getItem(\"accessToken\") || null;\r\n if (accessToken) {\r\n const { status } = await logoutUser();\r\n hasLogout = status === 204;\r\n }\r\n localStorage.removeItem(\"accessToken\");\r\n localStorage.removeItem(\"userIdValue\");\r\n localStorage.removeItem(\"role\");\r\n localStorage.removeItem(\"refreshToken\");\r\n localStorage.removeItem(\"expiration\");\r\n localStorage.removeItem(\"hasnosign\"); \r\n setIsAuthenticated(false);\r\n setDataUser({} as any);\r\n setStatusResponse(0);\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n return hasLogout;\r\n };\r\n\r\n const objProvider = {\r\n user,\r\n place,\r\n auth,\r\n logedInUser,\r\n dataUser,\r\n accessToken,\r\n statePerson,\r\n tokenValidate,\r\n isCNPJ,\r\n isContractSigned,\r\n isAuthenticated,\r\n statusResponse,\r\n role,\r\n userList,\r\n setUser,\r\n setPlace,\r\n setAuth,\r\n setLogedInUser,\r\n setDataUser,\r\n setAccessToken,\r\n setStatePerson,\r\n setTokenValidate,\r\n setIsCNPJ,\r\n setIsContractSigned,\r\n setRole,\r\n setUserList,\r\n loginUser,\r\n signUpUser,\r\n confirmEmail,\r\n generateConfirmEmail,\r\n EditUser,\r\n getUserList,\r\n getUserByIdContext,\r\n deleteUser,\r\n forgotPassword,\r\n refreshTokenContext,\r\n logout,\r\n \r\n };\r\n\r\n return (\r\n {children}\r\n );\r\n}\r\n\r\nfunction useAuth() {\r\n const context = useContext(AuthContext);\r\n return context;\r\n}\r\n\r\nexport { AuthProvider, useAuth };\r\n","export function OrdinationIsAdmin(item) {\r\n item.sort(function (a, b) {\r\n if (a.userRole?.name === 'Admin') {\r\n return -1;\r\n } else {\r\n return true;\r\n }\r\n })\r\n}\r\n","export default __webpack_public_path__ + \"static/media/deep-ambiente-logo.f2106adb.svg\";","\r\nimport { styled } from '@mui/material/styles';\r\nimport { TextField } from '@mui/material'\r\n\r\nconst CustomInput = styled(TextField)({\r\n marginTop: '0.5rem',\r\n '& input:valid + fieldset': {\r\n borderColor: '#C8CBCC',\r\n borderWidth: 1.5,\r\n fontSize: '0.9rem',\r\n },\r\n '& input:valid:hover + fieldset': {\r\n borderColor: '#C8CBCC',\r\n borderWidth: 1.5,\r\n },\r\n '& input:invalid + fieldset': {\r\n borderColor: 'red',\r\n borderWidth: 2,\r\n },\r\n '& input:valid:focus + fieldset': {\r\n borderWidth: 2,\r\n borderColor: '#0f85ca',\r\n padding: '4px !important', // override inline-style\r\n },\r\n});\r\n\r\nexport default CustomInput","import React from \"react\";\r\nimport { Snackbar } from \"@mui/material\";\r\n\r\nimport MuiAlert, { AlertProps } from \"@mui/material/Alert\";\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport styles from \"./styles.module.scss\";\r\n\r\ntype props = {\r\n action?: any\r\n}\r\n\r\nexport function CustomSnackBar(props: props) {\r\n const { openSnackBar, setOpenSnackBar, openStatusErrorSnackBar, snackBarTextResponse } = useStateContext()\r\n const { action } = props\r\n\r\n const Alert = React.forwardRef(function Alert(\r\n props,\r\n ref\r\n ) {\r\n return ;\r\n });\r\n\r\n const handleCloseSnackBar = (\r\n event: React.SyntheticEvent | Event,\r\n reason?: string\r\n ) => {\r\n if (reason === \"clickaway\") {\r\n return;\r\n }\r\n\r\n setOpenSnackBar(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n {snackBarTextResponse} {action}\r\n \r\n \r\n )\r\n}","import { CircularProgress } from \"@mui/material\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport styles from \"./styles.module.scss\";\r\n\r\nexport default function CustomButtonLoading({\r\n onClick,\r\n type,\r\n className,\r\n title,\r\n}: React.ComponentProps<\"button\">) {\r\n const { isLoading } = useStateContext();\r\n function checkStyleButton(styleButton: string | undefined) {\r\n switch (styleButton) {\r\n case \"small\":\r\n return styles.smallButton;\r\n case \"middle\":\r\n return styles.middleButton;\r\n case \"large\":\r\n return styles.largeButton;\r\n case \"smallOutline\":\r\n return styles.smallOutlineButton;\r\n case \"middleOutline\":\r\n return styles.middleOutlineButton;\r\n case \"largeOutline\":\r\n return styles.largeOutlineButton;\r\n case \"delete\":\r\n return styles.deleteButton;\r\n }\r\n }\r\n function checkStyleLoading(styleButton: string | undefined) {\r\n switch (styleButton) {\r\n case \"small\":\r\n return styles.smallLoading;\r\n case \"middle\":\r\n return styles.middleLoading;\r\n case \"large\":\r\n return styles.largeLoading;\r\n case \"delete\":\r\n return styles.deleteLoading;\r\n }\r\n }\r\n\r\n return (\r\n \r\n {isLoading ? (\r\n \r\n ) : (\r\n title\r\n )}\r\n \r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Auth } from \"../../util/types\";\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport { useAuth } from \"../../providers/authContext\";\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\n\r\nimport Logo from \"../../assets/image/deep-ambiente-logo.svg\";\r\nimport styles from \"./stylesbackup.module.scss\";\r\nimport { Checkbox, FormControlLabel, InputAdornment } from \"@mui/material\";\r\nimport PersonIcon from \"@mui/icons-material/Person\";\r\nimport LockIcon from \"@mui/icons-material/Lock\";\r\n\r\nimport CustomInput from \"../../components/CustomInput\";\r\nimport { CustomSnackBar } from \"../../components/Snackbar\";\r\nimport CustomButtonLoading from \"../../components/Form/buttonLoading\";\r\n\r\nexport default function Signin() {\r\n const {\r\n loginUser,\r\n generateConfirmEmail,\r\n statusResponse,\r\n setTokenValidate,\r\n logout,\r\n } = useAuth();\r\n const { setIsLoading, setStatusErrorOpenSnackBar, setOpenSnackBar } =\r\n useStateContext();\r\n const [loginName, setLoginName] = useState(\"\");\r\n\r\n useEffect(() => {\r\n logout();\r\n }, []); // eslint-disable-line\r\n\r\n const schema = Yup.object({\r\n username: Yup.string().required(\"Usuário obrigatório\"),\r\n password: Yup.string()\r\n .min(6, \"No mínimo 6 caracteres\")\r\n .required(\"Você esqueceu a sua senha!\"),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n username: \"\",\r\n password: \"\",\r\n remember: false,\r\n \r\n },\r\n validationSchema: schema,\r\n onSubmit: async (values) => {\r\n setIsLoading(true);\r\n\r\n const MountedAuthPost: Auth = {\r\n username: values.username,\r\n password: values.password,\r\n };\r\n setLoginName(values.username);\r\n\r\n const hasLogged = await loginUser(MountedAuthPost, values.remember);\r\n\r\n if (hasLogged) {\r\n setTokenValidate(hasLogged);\r\n } else {\r\n setOpenSnackBar(true);\r\n setStatusErrorOpenSnackBar(true);\r\n }\r\n setIsLoading(false);\r\n },\r\n });\r\n\r\n const handleGenerateConfirmEmail = async () => {\r\n setOpenSnackBar(false);\r\n let hasConfirmEmail = false;\r\n hasConfirmEmail = await generateConfirmEmail(loginName);\r\n if (hasConfirmEmail) {\r\n setOpenSnackBar(true);\r\n setStatusErrorOpenSnackBar(false);\r\n } else {\r\n setOpenSnackBar(true);\r\n setStatusErrorOpenSnackBar(true);\r\n }\r\n };\r\n \r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Logo\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n }\r\n label=\"Manter logado\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n criar uma conta\r\n \r\n
\r\n \r\n Esqueci a senha\r\n \r\n
\r\n
\r\n \r\n
\r\n handleGenerateConfirmEmail()}>\r\n Clique aqui para reenviar email de confirmação\r\n \r\n \r\n ) : null\r\n }\r\n />\r\n \r\n
\r\n );\r\n}\r\n","import styles from './styles.module.scss'\r\n\r\nexport default function CustomButton({ onClick, type, className, title }: React.ComponentProps<'button'>) {\r\n function checkStyleButton(styleButton: string | undefined) {\r\n switch (styleButton) {\r\n case 'smaller':\r\n return styles.smallerButton\r\n case 'small':\r\n return styles.smallButton\r\n case 'middle':\r\n return styles.middleButton\r\n case 'large':\r\n return styles.largeButton\r\n case 'smallOutline':\r\n return styles.smallOutlineButton\r\n case 'middleOutline':\r\n return styles.middleOutlineButton\r\n case 'largeOutline':\r\n return styles.largeOutlineButton\r\n case 'middleOutLineRed':\r\n return styles.middleOutlineButtonRed\r\n case 'delete':\r\n return styles.deleteButton\r\n }\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n )\r\n}\r\n","const onlyNumber = (str) => str.replace(/[^0-9]/g, '')\r\n\r\nexport default onlyNumber","import { useState } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport { Typography } from \"@mui/material\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\n\r\nimport CustomInput from \"../../components/CustomInput\";\r\nimport Logo from \"../../assets/image/deep-ambiente-logo.svg\";\r\nimport Button from \"../../components/Form/button\";\r\nimport styles from \"./stylesbackup.module.scss\";\r\nimport { useAuth } from \"../../providers/authContext\";\r\nimport { User } from \"../../util/types\";\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport { CustomSnackBar } from \"../../components/Snackbar\";\r\nimport InputMask from \"react-input-mask\";\r\nimport maskConfig from \"../../util/maks\";\r\nimport onlyNumber from \"../../util/onlyNumber\";\r\nimport CustomButtonLoading from \"../../components/Form/buttonLoading\";\r\n\r\nexport default function Signup() {\r\n const navigate = useNavigate();\r\n const [statePerson, setStatePerson] = useState(true);\r\n const [stateExitForm, setStateExitForm] = useState(false);\r\n const {\r\n setIsCNPJ,\r\n isCNPJ,\r\n signUpUser,\r\n generateConfirmEmail,\r\n statusResponse,\r\n } = useAuth();\r\n const { setIsLoading, setStatusErrorOpenSnackBar, setOpenSnackBar } =\r\n useStateContext();\r\n\r\n const schema = Yup.object({\r\n FullName: Yup.string().required(\"esqueceu o seu Nome\"),\r\n document: Yup.string().required(\r\n `esqueceu o seu ${isCNPJ ? \"CNPJ \" : \"CPF\"}`\r\n ),\r\n email: Yup.string().email().required(\"esqueceu o seu e-mail\"),\r\n phone: Yup.string().required(\"esqueceu o seu telefone\"),\r\n userName: Yup.string().required(\"esqueceu o seu Nome de Usuário\"),\r\n password: Yup.string()\r\n .min(6, \"no mínimo 6 caracteres\")\r\n .required(\"esqueceu a sua senha!\"),\r\n confirmPassword: Yup.string()\r\n .oneOf([Yup.ref(\"password\"), null], \"senhas não são iguais!\")\r\n .required(\"esqueceu a confirmação de senha!\"),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n FullName: \"\",\r\n document: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n userName: \"\",\r\n password: \"\",\r\n confirmPassword: \"\",\r\n },\r\n\r\n validationSchema: schema,\r\n\r\n onSubmit: async (values) => {\r\n setIsLoading(true);\r\n\r\n const MountedUserPost: User = {\r\n FullName: values.FullName,\r\n userName: values.userName,\r\n password: values.password,\r\n email: values.email,\r\n phone: onlyNumber(values.phone),\r\n document: onlyNumber(values.document),\r\n isCNPJ: isCNPJ,\r\n };\r\n\r\n const hasPostUser = await signUpUser(MountedUserPost);\r\n\r\n if (hasPostUser) {\r\n const hasConfirmEmail = await generateConfirmEmail(values.email);\r\n\r\n if (hasConfirmEmail) {\r\n setOpenSnackBar(true);\r\n setStatusErrorOpenSnackBar(false);\r\n setIsLoading(false);\r\n navigate('/')\r\n } else {\r\n setOpenSnackBar(true);\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(true);\r\n }\r\n } else {\r\n setOpenSnackBar(true);\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(true);\r\n }\r\n setIsLoading(false);\r\n },\r\n });\r\n\r\n const handleClose = () => {\r\n setStateExitForm(true);\r\n };\r\n\r\n const toggleTab = () => {\r\n setStatePerson(statePerson ? false : true);\r\n };\r\n\r\n type props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n };\r\n\r\n function ExitForm({ messageTitle, massageContent }: props) {\r\n const [maxWidthExit] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setStateExitForm(false);\r\n navigate(\"/\");\r\n };\r\n\r\n const handleCloseExit = () => {\r\n setStateExitForm(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleCloseExit()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \"Logo\r\n
\r\n
\r\n

Cadastro

\r\n
\r\n
\r\n
\r\n
\r\n {\r\n toggleTab();\r\n setIsCNPJ(false);\r\n }}\r\n >\r\n Pessoa Física\r\n \r\n {\r\n toggleTab();\r\n setIsCNPJ(true);\r\n }}\r\n >\r\n Pessoa Jurídica\r\n \r\n
\r\n
\r\n

Dados Pessoais

\r\n
\r\n\r\n
\r\n
\r\n \r\n {/* \r\n {(inputProps: any) => (\r\n \r\n )}\r\n */}\r\n \r\n \r\n {/* \r\n {(inputProps: any) => (\r\n \r\n )}\r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n Já tenho conta\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n : null\r\n }\r\n />\r\n\r\n \r\n
\r\n );\r\n}\r\n","import { useNavigate, useLocation } from \"react-router-dom\"\r\nimport { Typography } from '@mui/material';\r\nimport Snackbar from '@mui/material/Snackbar';\r\nimport MuiAlert, { AlertProps } from '@mui/material/Alert';\r\nimport { Box } from '@mui/system';\r\nimport { useFormik } from 'formik';\r\nimport * as yup from 'yup';\r\n\r\nimport Logo from '../../assets/image/deep-ambiente-logo.svg'\r\n\r\nimport styles from './styles.module.scss'\r\nimport { postRefreshPassword } from \"../../services/restApiAuth\";\r\nimport React, { useState } from \"react\";\r\n\r\nimport CustomInput from '../../components/CustomInput'\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport CustomButtonLoading from \"../../components/Form/buttonLoading\";\r\nimport CustomButton from \"../../components/Form/button\";\r\n\r\nexport default function ResetPassword() {\r\n const navigate = useNavigate()\r\n const { setIsLoading } = useStateContext()\r\n const [openSnackBar, setOpenSnackBar] = useState(false);\r\n const [openStatusErrorSnackBar, setStatusErrorOpenSnackBar] = useState(false);\r\n\r\n function useQuery() {\r\n const { search } = useLocation();\r\n\r\n return React.useMemo(() => new URLSearchParams(search), [search]);\r\n }\r\n\r\n const validationSchema = yup.object({\r\n password: yup.string(),\r\n confirmPassword: yup.string().oneOf([yup.ref('password'), null], 'Senhas não são iguais!'),\r\n })\r\n\r\n let query = useQuery();\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n password: '',\r\n confirmPassword: '',\r\n },\r\n validationSchema: validationSchema,\r\n onSubmit: async (values) => {\r\n setIsLoading(true)\r\n let getToken = query.get('token')!.replaceAll(' ', '+')\r\n\r\n const mountedRefreshPassword = {\r\n userId: query.get('uid'),\r\n token: getToken,\r\n newPassword: values.password,\r\n confirmNewPassword: values.confirmPassword\r\n }\r\n await postRefreshPassword(mountedRefreshPassword).then((response) => {\r\n setStatusErrorOpenSnackBar(false)\r\n handleOpenSnackBar()\r\n if (response.status === 200) {\r\n setIsLoading(false)\r\n navigate('/resetPasswordSuccess')\r\n }\r\n }).catch(err => {\r\n setIsLoading(false)\r\n setStatusErrorOpenSnackBar(true)\r\n handleOpenSnackBar()\r\n })\r\n },\r\n });\r\n\r\n const handleOpenSnackBar = () => {\r\n setOpenSnackBar(true);\r\n };\r\n\r\n const handleCloseSnackBar = (event: React.SyntheticEvent | Event, reason?: string) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpenSnackBar(false);\r\n };\r\n\r\n const Alert = React.forwardRef(function Alert(\r\n props,\r\n ref,\r\n ) {\r\n return ;\r\n })\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Redefinir senha

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Nova senha\r\n \r\n \r\n \r\n Confirmar Senha\r\n \r\n \r\n
\r\n
\r\n
\r\n navigate('/')} />\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {openStatusErrorSnackBar ? \"Ocorreu um erro inesperado, por favor tente novamente mais tarde!\" : \"Senha redefinida com sucesso!\"}\r\n \r\n \r\n
\r\n )\r\n}\r\n","export default \"data:image/png;base64,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\"","import { useNavigate } from \"react-router-dom\"\r\n\r\nimport Logo from '../../assets/image/deep-ambiente-logo.svg'\r\nimport ResetSuccess from '../../assets/image/sucess-reset.png'\r\nimport CustomButton from \"../../components/Form/button\"\r\nimport styles from './styles.module.scss'\r\n\r\nexport default function ResetSuccessPassword() {\r\n const navigate = useNavigate()\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Redefinir senha

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

Senha alterada com sucesso!

\r\n
\r\n
\r\n
\r\n
\r\n navigate('/')} />\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import { DateTime } from \"luxon\";\r\nimport { getLast24HoursWithParams, getTomorrow } from \"../getLast24hours\"\r\n\r\nconst formartDateInUTC = (timestamp) => {\r\n const date = DateTime.fromMillis(timestamp);\r\n\r\n return date.toISO();\r\n}\r\n\r\nconst useFormatDate = () => {\r\n\r\n const formatUTC24 = (timestamp) => {\r\n if (!timestamp) return;\r\n if (typeof timestamp !== 'number') {\r\n console.error(`formatUTC24 expects a numerical input, but received: ${timestamp}`);\r\n return;\r\n }\r\n const formatUTC = formartDateInUTC(timestamp)\r\n let utcDate = DateTime.fromISO(formatUTC, { zone: 'UTC' }); \r\n return utcDate.toLocaleString(DateTime.TIME_24_SIMPLE)\r\n}\r\n\r\n const formatUTCLestWeek = (timestamp) => {\r\n if (!timestamp) return;\r\n const formatUTC = formartDateInUTC(timestamp)\r\n let utcDate = DateTime.fromISO(formatUTC, { zone: 'UTC' }).toFormat('dd LLL');\r\n return utcDate.toLocaleString(DateTime.DATETIME_SHORT)\r\n }\r\n\r\n const formatSimpleDate = (date) => {\r\n if (!date) return;\r\n let simpleDate = DateTime.fromISO(date, { zone: 'UTC' });\r\n return simpleDate\r\n }\r\n\r\n const formatDateTimestamp = (date) => {\r\n if (!date) return;\r\n let timestamp = DateTime.fromISO(date, { zone: 'UTC' });\r\n return timestamp.toMillis()\r\n }\r\n\r\n const formatLast24Hours = (date) => {\r\n if (!date) return;\r\n\r\n let dateInTimestamp = formatDateTimestamp(date)\r\n\r\n let takeLast24Hours = getLast24HoursWithParams(dateInTimestamp)\r\n\r\n return takeLast24Hours\r\n }\r\n\r\n const formatTomorrow = (date) => {\r\n if (!date) return;\r\n let dateInTimestamp = formatDateTimestamp(date)\r\n let tomorrow = getTomorrow(dateInTimestamp)\r\n return tomorrow\r\n }\r\n\r\n return { formartDateInUTC, formatUTC24, formatSimpleDate, formatDateTimestamp, formatLast24Hours, formatUTCLestWeek, formatTomorrow }\r\n}\r\n\r\nexport default useFormatDate;","var _mask, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEquipamentIconOutline(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 92,\n height: 90,\n viewBox: \"0 0 92 90\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _mask || (_mask = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-1-inside-1_3_4600\",\n fill: \"white\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.4225 1.08991C42.4225 1.19762 41.7044 1.26943 40.6273 1.26943C39.5502 1.26943 38.8322 1.34123 38.8322 1.44894C38.8322 1.54875 38.3534 1.62845 37.7551 1.62845C37.1568 1.62845 36.678 1.70815 36.678 1.80796C36.678 1.9067 36.3549 1.98748 35.96 1.98748C35.5651 1.98748 35.2419 2.06826 35.2419 2.16699C35.2419 2.26572 34.9188 2.3465 34.5239 2.3465C34.129 2.3465 33.8058 2.42728 33.8058 2.52601C33.8058 2.62475 33.4827 2.70553 33.0878 2.70553C32.6929 2.70553 32.3697 2.78631 32.3697 2.88504C32.3697 2.98377 32.1274 3.06455 31.8312 3.06455C31.535 3.06455 31.2927 3.14533 31.2927 3.24406C31.2927 3.3428 31.0503 3.42358 30.7541 3.42358C30.4579 3.42358 30.2156 3.50436 30.2156 3.60309C30.2156 3.70182 30.054 3.7826 29.8566 3.7826C29.6591 3.7826 29.4975 3.86338 29.4975 3.96211C29.4975 4.06085 29.2552 4.14163 28.959 4.14163C28.6628 4.14163 28.4205 4.22241 28.4205 4.32114C28.4205 4.41987 28.2589 4.50065 28.0614 4.50065C27.864 4.50065 27.7024 4.58143 27.7024 4.68016C27.7024 4.7789 27.5409 4.85968 27.3434 4.85968C27.1459 4.85968 26.9844 4.94046 26.9844 5.03919C26.9844 5.13792 26.742 5.2187 26.4458 5.2187C26.1496 5.2187 25.9073 5.29948 25.9073 5.39822C25.9073 5.49695 25.7457 5.57773 25.5483 5.57773C25.3508 5.57773 25.1892 5.65851 25.1892 5.75724C25.1892 5.85597 25.0277 5.93675 24.8302 5.93675C24.6328 5.93675 24.4712 6.01753 24.4712 6.11627C24.4712 6.215 24.3274 6.29578 24.1518 6.29578C23.9761 6.29578 23.716 6.45734 23.5736 6.6548C23.4313 6.85227 23.1712 7.01383 22.9954 7.01383C22.8199 7.01383 22.6761 7.09461 22.6761 7.19334C22.6761 7.29207 22.5323 7.37285 22.3567 7.37285C22.181 7.37285 21.9209 7.53441 21.7785 7.73188C21.6361 7.92934 21.376 8.0909 21.2003 8.0909C21.0247 8.0909 20.8809 8.17168 20.8809 8.27042C20.8809 8.36915 20.7519 8.44993 20.5939 8.44993C20.4361 8.44993 20.0805 8.69227 19.8039 8.98847C19.5272 9.28466 19.2041 9.527 19.0858 9.527C18.9675 9.527 18.6444 9.76935 18.3678 10.0655C18.0911 10.3617 17.7696 10.6041 17.6533 10.6041C17.5372 10.6041 17.1316 10.9272 16.7521 11.3221C16.3727 11.7171 15.9743 12.0402 15.867 12.0402C15.6133 12.0402 11.1873 16.4639 11.1873 16.7174C11.1873 16.8235 10.7834 17.3037 10.2897 17.7846C9.79604 18.2655 9.39213 18.7674 9.39213 18.9001C9.39213 19.0329 9.23057 19.2578 9.03311 19.4002C8.83564 19.5426 8.67408 19.7704 8.67408 19.9064C8.67408 20.0423 8.43174 20.3802 8.13555 20.6568C7.83935 20.9334 7.59701 21.2713 7.59701 21.4071C7.59701 21.5432 7.43545 21.771 7.23798 21.9134C7.04052 22.0557 6.87896 22.3158 6.87896 22.4916C6.87896 22.6671 6.79818 22.8109 6.69944 22.8109C6.60071 22.8109 6.51993 22.9725 6.51993 23.17C6.51993 23.3674 6.43915 23.529 6.34042 23.529C6.24169 23.529 6.16091 23.6728 6.16091 23.8483C6.16091 24.0241 5.99935 24.2842 5.80188 24.4265C5.60442 24.5689 5.44286 24.829 5.44286 25.0048C5.44286 25.1803 5.36208 25.3241 5.26334 25.3241C5.16461 25.3241 5.08383 25.4857 5.08383 25.6831C5.08383 25.8806 5.00305 26.0422 4.90432 26.0422C4.80559 26.0422 4.72481 26.2037 4.72481 26.4012C4.72481 26.5987 4.64403 26.7602 4.54529 26.7602C4.44656 26.7602 4.36578 26.9218 4.36578 27.1192C4.36578 27.3167 4.285 27.4783 4.18627 27.4783C4.08754 27.4783 4.00676 27.7206 4.00676 28.0168C4.00676 28.313 3.92598 28.5553 3.82724 28.5553C3.72851 28.5553 3.64773 28.7169 3.64773 28.9144C3.64773 29.1118 3.56695 29.2734 3.46822 29.2734C3.36949 29.2734 3.28871 29.5157 3.28871 29.8119C3.28871 30.1081 3.20792 30.3505 3.10919 30.3505C3.01046 30.3505 2.92968 30.512 2.92968 30.7095C2.92968 30.907 2.8489 31.0685 2.75017 31.0685C2.65144 31.0685 2.57065 31.3109 2.57065 31.6071C2.57065 31.9032 2.48987 32.1456 2.39114 32.1456C2.29241 32.1456 2.21163 32.3879 2.21163 32.6841C2.21163 32.9803 2.13085 33.2227 2.03212 33.2227C1.93339 33.2227 1.8526 33.5458 1.8526 33.9407C1.8526 34.3356 1.77182 34.6588 1.67309 34.6588C1.57436 34.6588 1.49358 34.9819 1.49358 35.3768C1.49358 35.7717 1.4128 36.0949 1.31407 36.0949C1.21533 36.0949 1.13455 36.4988 1.13455 36.9924C1.13455 37.4861 1.05377 37.89 0.955042 37.89C0.85254 37.89 0.775529 38.4285 0.775529 39.1466C0.775529 39.8646 0.698518 40.4032 0.596016 40.4032C0.480231 40.4032 0.416504 42.3778 0.416504 45.9681C0.416504 49.5583 0.480231 51.533 0.596016 51.533C0.698518 51.533 0.775529 52.0715 0.775529 52.7895C0.775529 53.5076 0.85254 54.0461 0.955042 54.0461C1.05377 54.0461 1.13455 54.45 1.13455 54.9437C1.13455 55.4374 1.21533 55.8413 1.31407 55.8413C1.4128 55.8413 1.49358 56.1644 1.49358 56.5593C1.49358 56.9542 1.57436 57.2774 1.67309 57.2774C1.77182 57.2774 1.8526 57.5197 1.8526 57.8159C1.8526 58.1121 1.93339 58.3544 2.03212 58.3544C2.13085 58.3544 2.21163 58.6776 2.21163 59.0725C2.21163 59.4674 2.29241 59.7905 2.39114 59.7905C2.48987 59.7905 2.57065 60.0329 2.57065 60.3291C2.57065 60.6253 2.65144 60.8676 2.75017 60.8676C2.8489 60.8676 2.92968 61.0292 2.92968 61.2266C2.92968 61.4241 3.01046 61.5857 3.10919 61.5857C3.20792 61.5857 3.28871 61.828 3.28871 62.1242C3.28871 62.4204 3.36949 62.6627 3.46822 62.6627C3.56695 62.6627 3.64773 62.8243 3.64773 63.0218C3.64773 63.2192 3.72851 63.3808 3.82724 63.3808C3.92598 63.3808 4.00676 63.6231 4.00676 63.9193C4.00676 64.2155 4.08754 64.4579 4.18627 64.4579C4.285 64.4579 4.36578 64.6194 4.36578 64.8169C4.36578 65.0143 4.44656 65.1759 4.54529 65.1759C4.64403 65.1759 4.72481 65.3375 4.72481 65.5349C4.72481 65.7324 4.80559 65.894 4.90432 65.894C5.00305 65.894 5.08383 66.0555 5.08383 66.253C5.08383 66.4504 5.16461 66.612 5.26334 66.612C5.36208 66.612 5.44286 66.7558 5.44286 66.9314C5.44286 67.1071 5.60442 67.3672 5.80188 67.5096C5.99935 67.6519 6.16091 67.912 6.16091 68.0878C6.16091 68.2633 6.24169 68.4071 6.34042 68.4071C6.43915 68.4071 6.51993 68.5509 6.51993 68.7265C6.51993 68.9022 6.68149 69.1623 6.87896 69.3047C7.07642 69.447 7.23798 69.6894 7.23798 69.8432C7.23798 69.9971 7.39954 70.2394 7.59701 70.3818C7.79447 70.5241 7.95603 70.7665 7.95603 70.9203C7.95603 71.0742 8.11759 71.3165 8.31506 71.4588C8.51252 71.6012 8.67408 71.829 8.67408 71.9651C8.67408 72.101 8.91642 72.4388 9.21262 72.7154C9.50882 72.9921 9.75116 73.3136 9.75116 73.4299C9.75116 73.546 10.0743 73.9516 10.4692 74.331C10.8641 74.7105 11.1873 75.1089 11.1873 75.2164C11.1873 75.4702 15.2518 79.5369 15.5053 79.5369C15.6115 79.5369 16.0917 79.9408 16.5726 80.4345C17.0536 80.9281 17.5409 81.332 17.6558 81.332C17.7707 81.332 18.0911 81.5744 18.3678 81.8706C18.6444 82.1668 18.9822 82.4091 19.1181 82.4091C19.2542 82.4091 19.482 82.5707 19.6244 82.7681C19.7667 82.9656 20.009 83.1272 20.1629 83.1272C20.3167 83.1272 20.5591 83.2887 20.7014 83.4862C20.8438 83.6837 21.0861 83.8452 21.24 83.8452C21.3938 83.8452 21.6361 84.0068 21.7785 84.2042C21.9209 84.4017 22.181 84.5633 22.3567 84.5633C22.5323 84.5633 22.6761 84.6441 22.6761 84.7428C22.6761 84.8415 22.8376 84.9223 23.0351 84.9223C23.2326 84.9223 23.3941 85.0031 23.3941 85.1018C23.3941 85.2005 23.5557 85.2813 23.7531 85.2813C23.9506 85.2813 24.1122 85.3621 24.1122 85.4608C24.1122 85.5596 24.256 85.6403 24.4315 85.6403C24.6073 85.6403 24.8674 85.8019 25.0097 85.9994C25.1618 86.2101 25.4745 86.3584 25.7675 86.3584C26.0417 86.3584 26.2663 86.4392 26.2663 86.5379C26.2663 86.6366 26.4279 86.7174 26.6253 86.7174C26.8228 86.7174 26.9844 86.7982 26.9844 86.8969C26.9844 86.9957 27.1459 87.0764 27.3434 87.0764C27.5409 87.0764 27.7024 87.1572 27.7024 87.256C27.7024 87.3547 27.864 87.4355 28.0614 87.4355C28.2589 87.4355 28.4205 87.5163 28.4205 87.615C28.4205 87.7137 28.6628 87.7945 28.959 87.7945C29.2552 87.7945 29.4975 87.8753 29.4975 87.974C29.4975 88.0727 29.7399 88.1535 30.0361 88.1535C30.3323 88.1535 30.5746 88.2343 30.5746 88.333C30.5746 88.4318 30.817 88.5125 31.1132 88.5125C31.4094 88.5125 31.6517 88.5933 31.6517 88.6921C31.6517 88.7908 31.894 88.8716 32.1902 88.8716C32.4864 88.8716 32.7288 88.9523 32.7288 89.0511C32.7288 89.1498 33.0519 89.2306 33.4468 89.2306C33.8417 89.2306 34.1649 89.3114 34.1649 89.4101C34.1649 89.5088 34.488 89.5896 34.8829 89.5896C35.2778 89.5896 35.601 89.5088 35.601 89.4101C35.601 89.3114 35.8433 89.2306 36.1395 89.2306C36.4357 89.2306 36.678 89.1498 36.678 89.0511C36.678 88.9523 36.805 88.8716 36.9601 88.8716C37.3229 88.8716 37.7551 88.4393 37.7551 88.0765C37.7551 87.9214 37.8359 87.7945 37.9346 87.7945C38.0334 87.7945 38.1141 87.6329 38.1141 87.4355C38.1141 87.238 38.1949 87.0764 38.2937 87.0764C38.3924 87.0764 38.4732 86.6725 38.4732 86.1789C38.4732 85.6852 38.3924 85.2813 38.2937 85.2813C38.1949 85.2813 38.1141 85.0767 38.1141 84.8266C38.1141 84.3209 37.0466 83.1272 36.5942 83.1272C36.4429 83.1272 36.319 83.0464 36.319 82.9477C36.319 82.8489 36.0767 82.7681 35.7805 82.7681C35.4843 82.7681 35.2419 82.6874 35.2419 82.5886C35.2419 82.4899 34.9996 82.4091 34.7034 82.4091C34.4072 82.4091 34.1649 82.3283 34.1649 82.2296C34.1649 82.1309 33.9225 82.0501 33.6263 82.0501C33.3301 82.0501 33.0878 81.9693 33.0878 81.8706C33.0878 81.7718 32.8455 81.6911 32.5493 81.6911C32.2531 81.6911 32.0107 81.6103 32.0107 81.5116C32.0107 81.4128 31.7684 81.332 31.4722 81.332C31.176 81.332 30.9336 81.2513 30.9336 81.1525C30.9336 81.0538 30.7721 80.973 30.5746 80.973C30.3772 80.973 30.2156 80.8922 30.2156 80.7935C30.2156 80.6948 30.054 80.614 29.8566 80.614C29.6591 80.614 29.4975 80.5332 29.4975 80.4345C29.4975 80.3357 29.336 80.255 29.1385 80.255C28.9411 80.255 28.7795 80.1742 28.7795 80.0755C28.7795 79.9767 28.6179 79.8959 28.4205 79.8959C28.223 79.8959 28.0614 79.8152 28.0614 79.7164C28.0614 79.6177 27.8999 79.5369 27.7024 79.5369C27.505 79.5369 27.3434 79.4561 27.3434 79.3574C27.3434 79.2587 27.1818 79.1779 26.9844 79.1779C26.7869 79.1779 26.6253 79.0971 26.6253 78.9984C26.6253 78.8996 26.4816 78.8189 26.306 78.8189C26.1302 78.8189 25.8701 78.6573 25.7278 78.4598C25.5854 78.2624 25.3253 78.1008 25.1496 78.1008C24.974 78.1008 24.8302 78.02 24.8302 77.9213C24.8302 77.8226 24.7011 77.7418 24.5432 77.7418C24.3854 77.7418 24.0298 77.4995 23.7531 77.2033C23.4765 76.9071 23.1534 76.6647 23.0351 76.6647C22.9168 76.6647 22.5937 76.4224 22.317 76.1262C22.0404 75.83 21.7246 75.5876 21.6153 75.5876C21.3559 75.5876 15.4956 69.7273 15.4956 69.4679C15.4956 69.3585 15.2532 69.0428 14.957 68.7662C14.6608 68.4895 14.4185 68.1517 14.4185 68.0158C14.4185 67.8797 14.2569 67.6519 14.0595 67.5096C13.862 67.3672 13.7004 67.1249 13.7004 66.971C13.7004 66.8172 13.5389 66.5748 13.3414 66.4325C13.1439 66.2901 12.9824 66.0478 12.9824 65.894C12.9824 65.7401 12.8208 65.4978 12.6234 65.3554C12.4259 65.2131 12.2643 64.953 12.2643 64.7772C12.2643 64.6016 12.1836 64.4579 12.0848 64.4579C11.9861 64.4579 11.9053 64.2963 11.9053 64.0988C11.9053 63.9014 11.8245 63.7398 11.7258 63.7398C11.6271 63.7398 11.5463 63.5782 11.5463 63.3808C11.5463 63.1833 11.4655 63.0218 11.3668 63.0218C11.268 63.0218 11.1873 62.8602 11.1873 62.6627C11.1873 62.4653 11.1065 62.3037 11.0077 62.3037C10.909 62.3037 10.8282 62.1421 10.8282 61.9447C10.8282 61.7472 10.7475 61.5857 10.6487 61.5857C10.55 61.5857 10.4692 61.4241 10.4692 61.2266C10.4692 61.0292 10.3884 60.8676 10.2897 60.8676C10.191 60.8676 10.1102 60.6253 10.1102 60.3291C10.1102 60.0329 10.0294 59.7905 9.93067 59.7905C9.83194 59.7905 9.75116 59.629 9.75116 59.4315C9.75116 59.234 9.67038 59.0725 9.57165 59.0725C9.47291 59.0725 9.39213 58.8301 9.39213 58.5339C9.39213 58.2377 9.31135 57.9954 9.21262 57.9954C9.11389 57.9954 9.03311 57.7531 9.03311 57.4569C9.03311 57.1607 8.95233 56.9183 8.8536 56.9183C8.75486 56.9183 8.67408 56.5952 8.67408 56.2003C8.67408 55.8054 8.5933 55.4822 8.49457 55.4822C8.39584 55.4822 8.31506 55.1591 8.31506 54.7642C8.31506 54.3693 8.23428 54.0461 8.13555 54.0461C8.03681 54.0461 7.95603 53.6422 7.95603 53.1486C7.95603 52.6549 7.87525 52.251 7.77652 52.251C7.67402 52.251 7.59701 51.7125 7.59701 50.9944C7.59701 50.2764 7.52 49.7378 7.41749 49.7378C7.3035 49.7378 7.23798 48.3615 7.23798 45.9681C7.23798 43.5746 7.3035 42.1983 7.41749 42.1983C7.52 42.1983 7.59701 41.6598 7.59701 40.9417C7.59701 40.2237 7.67402 39.6851 7.77652 39.6851C7.87525 39.6851 7.95603 39.2812 7.95603 38.7876C7.95603 38.2939 8.03681 37.89 8.13555 37.89C8.23428 37.89 8.31506 37.4861 8.31506 36.9924C8.31506 36.4988 8.39584 36.0949 8.49457 36.0949C8.5933 36.0949 8.67408 35.8525 8.67408 35.5563C8.67408 35.2601 8.75486 35.0178 8.8536 35.0178C8.95233 35.0178 9.03311 34.7755 9.03311 34.4793C9.03311 34.1831 9.11389 33.9407 9.21262 33.9407C9.31135 33.9407 9.39213 33.6984 9.39213 33.4022C9.39213 33.106 9.47291 32.8636 9.57165 32.8636C9.67038 32.8636 9.75116 32.7021 9.75116 32.5046C9.75116 32.3072 9.83194 32.1456 9.93067 32.1456C10.0294 32.1456 10.1102 31.9032 10.1102 31.6071C10.1102 31.3109 10.191 31.0685 10.2897 31.0685C10.3884 31.0685 10.4692 30.907 10.4692 30.7095C10.4692 30.512 10.55 30.3505 10.6487 30.3505C10.7475 30.3505 10.8282 30.1889 10.8282 29.9914C10.8282 29.794 10.909 29.6324 11.0077 29.6324C11.1065 29.6324 11.1873 29.4709 11.1873 29.2734C11.1873 29.0759 11.268 28.9144 11.3668 28.9144C11.4655 28.9144 11.5463 28.7528 11.5463 28.5553C11.5463 28.3579 11.6271 28.1963 11.7258 28.1963C11.8245 28.1963 11.9053 28.0348 11.9053 27.8373C11.9053 27.6398 11.9861 27.4783 12.0848 27.4783C12.1836 27.4783 12.2643 27.3345 12.2643 27.1589C12.2643 26.9832 12.4259 26.7231 12.6234 26.5807C12.8208 26.4383 12.9824 26.1782 12.9824 26.0025C12.9824 25.8269 13.0632 25.6831 13.1619 25.6831C13.2606 25.6831 13.3414 25.5541 13.3414 25.3961C13.3414 25.2383 13.5838 24.8827 13.8799 24.6061C14.1761 24.3294 14.4185 24.0063 14.4185 23.888C14.4185 23.7697 14.6608 23.4466 14.957 23.17C15.2532 22.8933 15.4956 22.5736 15.4956 22.4596C15.4956 22.3458 15.9802 21.7768 16.5726 21.1953C17.165 20.6139 17.6497 20.0502 17.6497 19.9427C17.6497 19.6885 18.8356 18.5026 19.0898 18.5026C19.1973 18.5026 19.761 18.0179 20.3424 17.4256C20.9238 16.8332 21.4929 16.3485 21.6067 16.3485C21.7207 16.3485 22.0404 16.1061 22.317 15.8099C22.5937 15.5137 22.9168 15.2714 23.0351 15.2714C23.1534 15.2714 23.4765 15.0291 23.7531 14.7329C24.0298 14.4367 24.3854 14.1943 24.5432 14.1943C24.7011 14.1943 24.8302 14.1136 24.8302 14.0148C24.8302 13.9161 24.974 13.8353 25.1496 13.8353C25.3253 13.8353 25.5854 13.6737 25.7278 13.4763C25.8701 13.2788 26.1302 13.1173 26.306 13.1173C26.4816 13.1173 26.6253 13.0365 26.6253 12.9377C26.6253 12.839 26.7869 12.7582 26.9844 12.7582C27.1818 12.7582 27.3434 12.6775 27.3434 12.5787C27.3434 12.48 27.505 12.3992 27.7024 12.3992C27.8999 12.3992 28.0614 12.3184 28.0614 12.2197C28.0614 12.121 28.223 12.0402 28.4205 12.0402C28.6179 12.0402 28.7795 11.9594 28.7795 11.8607C28.7795 11.7619 28.9411 11.6812 29.1385 11.6812C29.336 11.6812 29.4975 11.6004 29.4975 11.5016C29.4975 11.4029 29.6591 11.3221 29.8566 11.3221C30.054 11.3221 30.2156 11.2414 30.2156 11.1426C30.2156 11.0439 30.3772 10.9631 30.5746 10.9631C30.7721 10.9631 30.9336 10.8823 30.9336 10.7836C30.9336 10.6849 31.176 10.6041 31.4722 10.6041C31.7684 10.6041 32.0107 10.5233 32.0107 10.4246C32.0107 10.3258 32.1723 10.2451 32.3697 10.2451C32.5672 10.2451 32.7288 10.1643 32.7288 10.0655C32.7288 9.96681 32.9711 9.88603 33.2673 9.88603C33.5635 9.88603 33.8058 9.80525 33.8058 9.70652C33.8058 9.60779 34.129 9.527 34.5239 9.527C34.9188 9.527 35.2419 9.44622 35.2419 9.34749C35.2419 9.24876 35.4843 9.16798 35.7805 9.16798C36.0767 9.16798 36.319 9.0872 36.319 8.98847C36.319 8.88974 36.7229 8.80895 37.2166 8.80895C37.7102 8.80895 38.1141 8.72817 38.1141 8.62944C38.1141 8.53071 38.5181 8.44993 39.0117 8.44993C39.5054 8.44993 39.9093 8.36915 39.9093 8.27042C39.9093 8.16271 40.6273 8.0909 41.7044 8.0909C42.7815 8.0909 43.4995 8.0191 43.4995 7.91139C43.4995 7.80099 44.3971 7.73188 45.8332 7.73188C47.2693 7.73188 48.1669 7.80099 48.1669 7.91139C48.1669 8.0191 48.8849 8.0909 49.962 8.0909C51.0391 8.0909 51.7571 8.16271 51.7571 8.27042C51.7571 8.36915 52.161 8.44993 52.6547 8.44993C53.1483 8.44993 53.5522 8.53071 53.5522 8.62944C53.5522 8.72817 53.9561 8.80895 54.4498 8.80895C54.9435 8.80895 55.3474 8.88974 55.3474 8.98847C55.3474 9.0872 55.5897 9.16798 55.8859 9.16798C56.1821 9.16798 56.4244 9.24876 56.4244 9.34749C56.4244 9.44622 56.7476 9.527 57.1425 9.527C57.5374 9.527 57.8605 9.60779 57.8605 9.70652C57.8605 9.80525 58.1029 9.88603 58.3991 9.88603C58.6953 9.88603 58.9376 9.96681 58.9376 10.0655C58.9376 10.1643 59.0992 10.2451 59.2966 10.2451C59.4941 10.2451 59.6557 10.3258 59.6557 10.4246C59.6557 10.5233 59.898 10.6041 60.1942 10.6041C60.4904 10.6041 60.7327 10.6849 60.7327 10.7836C60.7327 10.8823 60.8943 10.9631 61.0918 10.9631C61.2892 10.9631 61.4508 11.0439 61.4508 11.1426C61.4508 11.2414 61.6123 11.3221 61.8098 11.3221C62.0073 11.3221 62.1688 11.4029 62.1688 11.5016C62.1688 11.6004 62.3304 11.6812 62.5279 11.6812C62.7253 11.6812 62.8869 11.7619 62.8869 11.8607C62.8869 11.9594 63.0484 12.0402 63.2459 12.0402C63.4434 12.0402 63.6049 12.121 63.6049 12.2197C63.6049 12.3184 63.7665 12.3992 63.964 12.3992C64.1614 12.3992 64.323 12.48 64.323 12.5787C64.323 12.6775 64.4846 12.7582 64.682 12.7582C64.8795 12.7582 65.041 12.839 65.041 12.9377C65.041 13.0365 65.1848 13.1173 65.3604 13.1173C65.5361 13.1173 65.7962 13.2788 65.9386 13.4763C66.081 13.6737 66.3411 13.8353 66.5168 13.8353C66.6924 13.8353 66.8362 13.9161 66.8362 14.0148C66.8362 14.1136 66.9652 14.1943 67.1232 14.1943C67.281 14.1943 67.6366 14.4367 67.9132 14.7329C68.1899 15.0291 68.513 15.2714 68.6313 15.2714C68.7496 15.2714 69.0727 15.5137 69.3493 15.8099C69.626 16.1061 69.9457 16.3485 70.0597 16.3485C70.1735 16.3485 70.7425 16.8332 71.324 17.4256C71.9054 18.0179 72.4691 18.5026 72.5766 18.5026C72.8308 18.5026 74.0167 19.6885 74.0167 19.9427C74.0167 20.0502 74.5014 20.6139 75.0937 21.1953C75.6861 21.7768 76.1708 22.3458 76.1708 22.4596C76.1708 22.5736 76.4132 22.8933 76.7094 23.17C77.0056 23.4466 77.2479 23.7697 77.2479 23.888C77.2479 24.0063 77.4902 24.3294 77.7864 24.6061C78.0826 24.8827 78.325 25.2383 78.325 25.3961C78.325 25.5541 78.4057 25.6831 78.5045 25.6831C78.6032 25.6831 78.684 25.8269 78.684 26.0025C78.684 26.1782 78.8456 26.4383 79.043 26.5807C79.2405 26.7231 79.402 26.9832 79.402 27.1589C79.402 27.3345 79.4828 27.4783 79.5816 27.4783C79.6803 27.4783 79.7611 27.6398 79.7611 27.8373C79.7611 28.0348 79.8419 28.1963 79.9406 28.1963C80.0393 28.1963 80.1201 28.3579 80.1201 28.5553C80.1201 28.7528 80.2009 28.9144 80.2996 28.9144C80.3983 28.9144 80.4791 29.0759 80.4791 29.2734C80.4791 29.4709 80.5599 29.6324 80.6586 29.6324C80.7574 29.6324 80.8381 29.794 80.8381 29.9914C80.8381 30.1889 80.9189 30.3505 81.0177 30.3505C81.1164 30.3505 81.1972 30.512 81.1972 30.7095C81.1972 30.907 81.2779 31.0685 81.3767 31.0685C81.4754 31.0685 81.5562 31.3109 81.5562 31.6071C81.5562 31.9032 81.637 32.1456 81.7357 32.1456C81.8344 32.1456 81.9152 32.3072 81.9152 32.5046C81.9152 32.7021 81.996 32.8636 82.0947 32.8636C82.1935 32.8636 82.2742 33.106 82.2742 33.4022C82.2742 33.6984 82.355 33.9407 82.4538 33.9407C82.5525 33.9407 82.6333 34.1831 82.6333 34.4793C82.6333 34.7755 82.7141 35.0178 82.8128 35.0178C82.9115 35.0178 82.9923 35.2601 82.9923 35.5563C82.9923 35.8525 83.0731 36.0949 83.1718 36.0949C83.2705 36.0949 83.3513 36.4988 83.3513 36.9924C83.3513 37.4861 83.4321 37.89 83.5308 37.89C83.6296 37.89 83.7103 38.2939 83.7103 38.7876C83.7103 39.2812 83.7911 39.6851 83.8899 39.6851C83.9924 39.6851 84.0694 40.2237 84.0694 40.9417C84.0694 41.6598 84.1464 42.1983 84.2489 42.1983C84.3629 42.1983 84.4284 43.5746 84.4284 45.9681C84.4284 48.3615 84.3629 49.7378 84.2489 49.7378C84.1464 49.7378 84.0694 50.2764 84.0694 50.9944C84.0694 51.7125 83.9924 52.251 83.8899 52.251C83.7911 52.251 83.7103 52.6549 83.7103 53.1486C83.7103 53.6422 83.6296 54.0461 83.5308 54.0461C83.4321 54.0461 83.3513 54.3693 83.3513 54.7642C83.3513 55.1591 83.2705 55.4822 83.1718 55.4822C83.0731 55.4822 82.9923 55.8054 82.9923 56.2003C82.9923 56.5952 82.9115 56.9183 82.8128 56.9183C82.7141 56.9183 82.6333 57.1607 82.6333 57.4569C82.6333 57.7531 82.5525 57.9954 82.4538 57.9954C82.355 57.9954 82.2742 58.2377 82.2742 58.5339C82.2742 58.8301 82.1935 59.0725 82.0947 59.0725C81.996 59.0725 81.9152 59.3148 81.9152 59.611C81.9152 59.9072 81.8344 60.1496 81.7357 60.1496C81.637 60.1496 81.5562 60.3111 81.5562 60.5086C81.5562 60.706 81.4754 60.8676 81.3767 60.8676C81.2779 60.8676 81.1972 61.0292 81.1972 61.2266C81.1972 61.4241 81.1164 61.5857 81.0177 61.5857C80.9189 61.5857 80.8381 61.7472 80.8381 61.9447C80.8381 62.1421 80.7574 62.3037 80.6586 62.3037C80.5599 62.3037 80.4791 62.4653 80.4791 62.6627C80.4791 62.8602 80.3983 63.0218 80.2996 63.0218C80.2009 63.0218 80.1201 63.1833 80.1201 63.3808C80.1201 63.5782 80.0393 63.7398 79.9406 63.7398C79.8419 63.7398 79.7611 63.9014 79.7611 64.0988C79.7611 64.2963 79.6803 64.4579 79.5816 64.4579C79.4828 64.4579 79.402 64.6016 79.402 64.7772C79.402 64.953 79.2405 65.2131 79.043 65.3554C78.8456 65.4978 78.684 65.7579 78.684 65.9336C78.684 66.1092 78.6032 66.253 78.5045 66.253C78.4057 66.253 78.325 66.3821 78.325 66.54C78.325 66.6978 78.0826 67.0534 77.7864 67.3301C77.4902 67.6067 77.2479 67.9298 77.2479 68.0481C77.2479 68.1664 77.0056 68.4895 76.7094 68.7662C76.4132 69.0428 76.1708 69.3625 76.1708 69.4765C76.1708 69.5903 75.6861 70.1594 75.0937 70.7408C74.5014 71.3222 74.0167 71.887 74.0167 71.9956C74.0167 72.2514 73.1947 73.0745 72.9391 73.0745C72.8312 73.0745 72.1851 73.6399 71.5035 74.331C70.8219 75.0222 70.1715 75.5876 70.0582 75.5876C69.9451 75.5876 69.626 75.83 69.3493 76.1262C69.0727 76.4224 68.7496 76.6647 68.6313 76.6647C68.513 76.6647 68.1899 76.9071 67.9132 77.2033C67.6366 77.4995 67.281 77.7418 67.1232 77.7418C66.9652 77.7418 66.8362 77.8226 66.8362 77.9213C66.8362 78.02 66.6924 78.1008 66.5168 78.1008C66.3411 78.1008 66.081 78.2624 65.9386 78.4598C65.7962 78.6573 65.5361 78.8189 65.3604 78.8189C65.1848 78.8189 65.041 78.8996 65.041 78.9984C65.041 79.0971 64.8795 79.1779 64.682 79.1779C64.4846 79.1779 64.323 79.2587 64.323 79.3574C64.323 79.4561 64.1614 79.5369 63.964 79.5369C63.7665 79.5369 63.6049 79.6177 63.6049 79.7164C63.6049 79.8152 63.4611 79.8959 63.2856 79.8959C63.1098 79.8959 62.8497 80.0575 62.7074 80.255C62.5553 80.4657 62.2426 80.614 61.9496 80.614C61.6754 80.614 61.4508 80.6948 61.4508 80.7935C61.4508 80.8922 61.2892 80.973 61.0918 80.973C60.8943 80.973 60.7327 81.0538 60.7327 81.1525C60.7327 81.2513 60.5712 81.332 60.3737 81.332C60.1762 81.332 60.0147 81.4128 60.0147 81.5116C60.0147 81.6103 59.7723 81.6911 59.4761 81.6911C59.18 81.6911 58.9376 81.7718 58.9376 81.8706C58.9376 81.9693 58.6953 82.0501 58.3991 82.0501C58.1029 82.0501 57.8605 82.1309 57.8605 82.2296C57.8605 82.3283 57.4566 82.4091 56.963 82.4091C56.4693 82.4091 56.0654 82.4899 56.0654 82.5886C56.0654 82.6874 55.6615 82.7681 55.1678 82.7681C54.6742 82.7681 54.2703 82.6874 54.2703 82.5886C54.2703 82.4899 54.0279 82.4091 53.7317 82.4091C53.4355 82.4091 53.1932 82.3283 53.1932 82.2296C53.1932 82.1309 53.0699 82.0501 52.9193 82.0501C52.5852 82.0501 51.0391 80.5364 51.0391 80.2095C51.0391 80.0807 50.8775 79.8588 50.68 79.7164C50.4693 79.5644 50.321 79.2517 50.321 78.9587C50.321 78.6844 50.2402 78.4598 50.1415 78.4598C50.0428 78.4598 49.962 78.2175 49.962 77.9213C49.962 77.6251 49.8812 77.3828 49.7825 77.3828C49.6837 77.3828 49.603 77.1404 49.603 76.8442C49.603 76.548 49.5222 76.3057 49.4234 76.3057C49.3236 76.3057 49.2439 75.8269 49.2439 75.2286C49.2439 74.6303 49.1642 74.1515 49.0644 74.1515C48.9508 74.1515 48.8849 72.8352 48.8849 70.5613V66.971H49.962C50.5603 66.971 51.0391 66.8913 51.0391 66.7915C51.0391 66.6928 51.3622 66.612 51.7571 66.612C52.152 66.612 52.4752 66.5312 52.4752 66.4325C52.4752 66.3338 52.7983 66.253 53.1932 66.253C53.5881 66.253 53.9113 66.1722 53.9113 66.0735C53.9113 65.9747 54.1536 65.894 54.4498 65.894C54.746 65.894 54.9883 65.8132 54.9883 65.7144C54.9883 65.6157 55.1499 65.5349 55.3474 65.5349C55.5448 65.5349 55.7064 65.4542 55.7064 65.3554C55.7064 65.2567 55.9487 65.1759 56.2449 65.1759C56.5411 65.1759 56.7835 65.0951 56.7835 64.9964C56.7835 64.8977 56.945 64.8169 57.1425 64.8169C57.3399 64.8169 57.5015 64.7361 57.5015 64.6374C57.5015 64.5386 57.6631 64.4579 57.8605 64.4579C58.058 64.4579 58.2196 64.3771 58.2196 64.2783C58.2196 64.1796 58.3811 64.0988 58.5786 64.0988C58.776 64.0988 58.9376 64.0181 58.9376 63.9193C58.9376 63.8206 59.0814 63.7398 59.257 63.7398C59.4327 63.7398 59.6928 63.5782 59.8352 63.3808C59.9775 63.1833 60.2199 63.0218 60.3737 63.0218C60.5276 63.0218 60.7699 62.8602 60.9122 62.6627C61.0546 62.4653 61.2806 62.3037 61.4147 62.3037C61.5488 62.3037 61.9689 61.9806 62.3483 61.5857C62.7278 61.1907 63.1265 60.8676 63.2344 60.8676C63.4926 60.8676 66.4771 57.8796 66.4771 57.6211C66.4771 57.5113 66.7195 57.195 67.0157 56.9183C67.3119 56.6417 67.5542 56.3039 67.5542 56.168C67.5542 56.0319 67.7158 55.8041 67.9132 55.6617C68.1107 55.5194 68.2723 55.277 68.2723 55.1232C68.2723 54.9694 68.4338 54.727 68.6313 54.5847C68.8288 54.4423 68.9903 54.1822 68.9903 54.0065C68.9903 53.8309 69.0711 53.6871 69.1698 53.6871C69.2686 53.6871 69.3493 53.5255 69.3493 53.3281C69.3493 53.1306 69.4301 52.9691 69.5289 52.9691C69.6276 52.9691 69.7084 52.8075 69.7084 52.61C69.7084 52.4126 69.7891 52.251 69.8879 52.251C69.9866 52.251 70.0674 52.0894 70.0674 51.892C70.0674 51.6945 70.1482 51.533 70.2469 51.533C70.3456 51.533 70.4264 51.3714 70.4264 51.1739C70.4264 50.9765 70.5072 50.8149 70.6059 50.8149C70.7047 50.8149 70.7854 50.5726 70.7854 50.2764C70.7854 49.9802 70.8662 49.7378 70.965 49.7378C71.0637 49.7378 71.1445 49.4955 71.1445 49.1993C71.1445 48.9031 71.2252 48.6607 71.324 48.6607C71.4227 48.6607 71.5035 48.3376 71.5035 47.9427C71.5035 47.5478 71.5843 47.2246 71.683 47.2246C71.7817 47.2246 71.8625 46.8207 71.8625 46.3271C71.8625 45.8334 71.9433 45.4295 72.042 45.4295C72.1408 45.4295 72.2215 45.1064 72.2215 44.7115V43.9934H66.2976H60.3737V34.4793C60.3737 28.2561 60.3116 24.9651 60.1942 24.9651C60.0955 24.9651 60.0147 24.8412 60.0147 24.6899C60.0147 24.3325 58.8522 23.17 58.4947 23.17C58.3434 23.17 58.2196 23.0892 58.2196 22.9904C58.2196 22.8917 58.058 22.8109 57.8605 22.8109C57.6631 22.8109 57.5015 22.7302 57.5015 22.6314C57.5015 22.5268 56.9032 22.4519 56.0654 22.4519C55.2276 22.4519 54.6293 22.5268 54.6293 22.6314C54.6293 22.7302 54.4047 22.8109 54.1304 22.8109C53.8375 22.8109 53.5248 22.9592 53.3727 23.17C53.2304 23.3674 53.0049 23.529 52.8715 23.529C52.5428 23.529 52.1161 23.9779 52.1161 24.324C52.1161 24.4791 52.0354 24.6061 51.9366 24.6061C51.8379 24.6061 51.7571 24.8484 51.7571 25.1446C51.7571 25.4408 51.6763 25.6831 51.5776 25.6831C51.4602 25.6831 51.3981 28.8546 51.3981 34.8383V43.9934H45.1151H38.8322V34.4793C38.8322 28.2561 38.7701 24.9651 38.6527 24.9651C38.554 24.9651 38.4732 24.8412 38.4732 24.6899C38.4732 24.3325 37.3106 23.17 36.9532 23.17C36.8019 23.17 36.678 23.0892 36.678 22.9904C36.678 22.8917 36.5165 22.8109 36.319 22.8109C36.1216 22.8109 35.96 22.7302 35.96 22.6314C35.96 22.5268 35.3617 22.4519 34.5239 22.4519C33.6861 22.4519 33.0878 22.5268 33.0878 22.6314C33.0878 22.7302 32.8632 22.8109 32.5889 22.8109C32.296 22.8109 31.9833 22.9592 31.8312 23.17C31.6889 23.3674 31.4634 23.529 31.33 23.529C31.0013 23.529 30.5746 23.9779 30.5746 24.324C30.5746 24.4791 30.4938 24.6061 30.3951 24.6061C30.2964 24.6061 30.2156 24.7676 30.2156 24.9651C30.2156 25.1626 30.1348 25.3241 30.0361 25.3241C29.9187 25.3241 29.8566 28.5553 29.8566 34.6588V43.9934H24.6507H19.4448V44.7115C19.4448 45.1064 19.5256 45.4295 19.6244 45.4295C19.7231 45.4295 19.8039 45.8334 19.8039 46.3271C19.8039 46.8207 19.8846 47.2246 19.9834 47.2246C20.0821 47.2246 20.1629 47.5478 20.1629 47.9427C20.1629 48.3376 20.2437 48.6607 20.3424 48.6607C20.4411 48.6607 20.5219 48.9031 20.5219 49.1993C20.5219 49.4955 20.6027 49.7378 20.7014 49.7378C20.8002 49.7378 20.8809 49.8994 20.8809 50.0969C20.8809 50.2943 20.9617 50.4559 21.0605 50.4559C21.1592 50.4559 21.24 50.6982 21.24 50.9944C21.24 51.2906 21.3207 51.533 21.4195 51.533C21.5182 51.533 21.599 51.6945 21.599 51.892C21.599 52.0894 21.6798 52.251 21.7785 52.251C21.8772 52.251 21.958 52.4126 21.958 52.61C21.958 52.8075 22.0388 52.9691 22.1375 52.9691C22.2363 52.9691 22.317 53.1306 22.317 53.3281C22.317 53.5255 22.3978 53.6871 22.4966 53.6871C22.5953 53.6871 22.6761 53.8309 22.6761 54.0065C22.6761 54.1822 22.8376 54.4423 23.0351 54.5847C23.2326 54.727 23.3941 54.9694 23.3941 55.1232C23.3941 55.277 23.5557 55.5194 23.7531 55.6617C23.9506 55.8041 24.1122 56.0301 24.1122 56.1642C24.1122 56.2983 24.4353 56.7183 24.8302 57.0978C25.2251 57.4773 25.5483 57.8762 25.5483 57.9843C25.5483 58.2404 28.1754 60.8676 28.4316 60.8676C28.5397 60.8676 28.9385 61.1907 29.318 61.5857C29.6975 61.9806 30.1176 62.3037 30.2517 62.3037C30.3858 62.3037 30.6118 62.4653 30.7541 62.6627C30.8965 62.8602 31.1388 63.0218 31.2927 63.0218C31.4465 63.0218 31.6889 63.1833 31.8312 63.3808C31.9736 63.5782 32.2337 63.7398 32.4094 63.7398C32.585 63.7398 32.7288 63.8206 32.7288 63.9193C32.7288 64.0181 32.8903 64.0988 33.0878 64.0988C33.2853 64.0988 33.4468 64.1796 33.4468 64.2783C33.4468 64.3771 33.6084 64.4579 33.8058 64.4579C34.0033 64.4579 34.1649 64.5386 34.1649 64.6374C34.1649 64.7361 34.3264 64.8169 34.5239 64.8169C34.7214 64.8169 34.8829 64.8977 34.8829 64.9964C34.8829 65.0951 35.1253 65.1759 35.4215 65.1759C35.7177 65.1759 35.96 65.2567 35.96 65.3554C35.96 65.4542 36.1216 65.5349 36.319 65.5349C36.5165 65.5349 36.678 65.6157 36.678 65.7144C36.678 65.8132 36.9204 65.894 37.2166 65.894C37.5128 65.894 37.7551 65.9747 37.7551 66.0735C37.7551 66.1722 38.0782 66.253 38.4732 66.253C38.8681 66.253 39.1912 66.3338 39.1912 66.4325C39.1912 66.5312 39.5143 66.612 39.9093 66.612C40.3042 66.612 40.6273 66.6928 40.6273 66.7915C40.6273 66.8903 40.8697 66.971 41.1659 66.971H41.7044V69.8432C41.7044 71.6384 41.7717 72.7154 41.8839 72.7154C41.9904 72.7154 42.0634 73.3737 42.0634 74.331C42.0634 75.2884 42.1365 75.9467 42.2429 75.9467C42.3417 75.9467 42.4225 76.3506 42.4225 76.8442C42.4225 77.3379 42.5032 77.7418 42.602 77.7418C42.7007 77.7418 42.7815 78.0649 42.7815 78.4598C42.7815 78.8548 42.8623 79.1779 42.961 79.1779C43.0597 79.1779 43.1405 79.4202 43.1405 79.7164C43.1405 80.0126 43.2213 80.255 43.32 80.255C43.4187 80.255 43.4995 80.4973 43.4995 80.7935C43.4995 81.0897 43.5803 81.332 43.679 81.332C43.7778 81.332 43.8586 81.4936 43.8586 81.6911C43.8586 81.8885 43.9393 82.0501 44.0381 82.0501C44.1368 82.0501 44.2176 82.2117 44.2176 82.4091C44.2176 82.6066 44.2984 82.7681 44.3971 82.7681C44.4958 82.7681 44.5766 82.9297 44.5766 83.1272C44.5766 83.3246 44.6574 83.4862 44.7561 83.4862C44.8548 83.4862 44.9356 83.63 44.9356 83.8055C44.9356 83.9813 45.0972 84.2414 45.2947 84.3838C45.4921 84.5261 45.6537 84.7476 45.6537 84.876C45.6537 85.1803 47.5499 87.0764 47.8541 87.0764C47.9825 87.0764 48.204 87.238 48.3464 87.4355C48.4887 87.6329 48.7311 87.7945 48.8849 87.7945C49.0387 87.7945 49.2811 87.9561 49.4234 88.1535C49.5755 88.3643 49.8882 88.5125 50.1812 88.5125C50.4555 88.5125 50.68 88.5933 50.68 88.6921C50.68 88.7908 50.8416 88.8716 51.0391 88.8716C51.2365 88.8716 51.3981 88.9523 51.3981 89.0511C51.3981 89.1498 51.802 89.2306 52.2956 89.2306C52.7893 89.2306 53.1932 89.3114 53.1932 89.4101C53.1932 89.5189 53.971 89.5896 55.1678 89.5896C56.3647 89.5896 57.1425 89.5189 57.1425 89.4101C57.1425 89.3103 57.6212 89.2306 58.2196 89.2306C58.8179 89.2306 59.2966 89.1509 59.2966 89.0511C59.2966 88.9523 59.539 88.8716 59.8352 88.8716C60.1314 88.8716 60.3737 88.7908 60.3737 88.6921C60.3737 88.5933 60.6161 88.5125 60.9122 88.5125C61.2084 88.5125 61.4508 88.4318 61.4508 88.333C61.4508 88.2343 61.6931 88.1535 61.9893 88.1535C62.2855 88.1535 62.5279 88.0727 62.5279 87.974C62.5279 87.8753 62.6894 87.7945 62.8869 87.7945C63.0844 87.7945 63.2459 87.7137 63.2459 87.615C63.2459 87.5163 63.4883 87.4355 63.7844 87.4355C64.0806 87.4355 64.323 87.3547 64.323 87.256C64.323 87.1572 64.4846 87.0764 64.682 87.0764C64.8795 87.0764 65.041 86.9957 65.041 86.8969C65.041 86.7982 65.2026 86.7174 65.4001 86.7174C65.5975 86.7174 65.7591 86.6366 65.7591 86.5379C65.7591 86.4392 65.9206 86.3584 66.1181 86.3584C66.3156 86.3584 66.4771 86.2776 66.4771 86.1789C66.4771 86.0801 66.6209 85.9994 66.7965 85.9994C66.9722 85.9994 67.2323 85.8378 67.3747 85.6403C67.5171 85.4429 67.7772 85.2813 67.9529 85.2813C68.1285 85.2813 68.2723 85.2005 68.2723 85.1018C68.2723 85.0031 68.4338 84.9223 68.6313 84.9223C68.8288 84.9223 68.9903 84.8415 68.9903 84.7428C68.9903 84.6441 69.1341 84.5633 69.3097 84.5633C69.4854 84.5633 69.7455 84.4017 69.8879 84.2042C70.0302 84.0068 70.2726 83.8452 70.4264 83.8452C70.5803 83.8452 70.8226 83.6837 70.965 83.4862C71.1073 83.2887 71.3496 83.1272 71.5035 83.1272C71.6573 83.1272 71.8997 82.9656 72.042 82.7681C72.1844 82.5707 72.4122 82.4091 72.5483 82.4091C72.6841 82.4091 73.022 82.1668 73.2986 81.8706C73.5752 81.5744 73.8968 81.332 74.0131 81.332C74.1292 81.332 74.5347 81.0089 74.9142 80.614C75.2937 80.2191 75.6921 79.8959 75.7994 79.8959C76.0531 79.8959 80.4791 75.4722 80.4791 75.2187C80.4791 75.1127 80.883 74.6324 81.3767 74.1515C81.8703 73.6706 82.2742 73.1832 82.2742 73.0684C82.2742 72.9535 82.5166 72.633 82.8128 72.3564C83.109 72.0798 83.3513 71.7419 83.3513 71.606C83.3513 71.47 83.5129 71.2422 83.7103 71.0998C83.9078 70.9575 84.0694 70.7151 84.0694 70.5613C84.0694 70.4074 84.2309 70.1651 84.4284 70.0228C84.6259 69.8804 84.7874 69.6203 84.7874 69.4445C84.7874 69.269 84.8682 69.1252 84.9669 69.1252C85.0657 69.1252 85.1464 68.9814 85.1464 68.8058C85.1464 68.6301 85.308 68.37 85.5055 68.2276C85.7029 68.0853 85.8645 67.8251 85.8645 67.6494C85.8645 67.4738 85.9453 67.3301 86.044 67.3301C86.1427 67.3301 86.2235 67.1685 86.2235 66.971C86.2235 66.7736 86.3043 66.612 86.403 66.612C86.5018 66.612 86.5826 66.4504 86.5826 66.253C86.5826 66.0555 86.6633 65.894 86.7621 65.894C86.8608 65.894 86.9416 65.7324 86.9416 65.5349C86.9416 65.3375 87.0224 65.1759 87.1211 65.1759C87.2198 65.1759 87.3006 65.0143 87.3006 64.8169C87.3006 64.6194 87.3814 64.4579 87.4801 64.4579C87.5788 64.4579 87.6596 64.2155 87.6596 63.9193C87.6596 63.6231 87.7404 63.3808 87.8391 63.3808C87.9379 63.3808 88.0186 63.2192 88.0186 63.0218C88.0186 62.8243 88.0994 62.6627 88.1982 62.6627C88.2969 62.6627 88.3777 62.4204 88.3777 62.1242C88.3777 61.828 88.4585 61.5857 88.5572 61.5857C88.6559 61.5857 88.7367 61.4241 88.7367 61.2266C88.7367 61.0292 88.8175 60.8676 88.9162 60.8676C89.0149 60.8676 89.0957 60.6253 89.0957 60.3291C89.0957 60.0329 89.1765 59.7905 89.2752 59.7905C89.374 59.7905 89.4548 59.4674 89.4548 59.0725C89.4548 58.6776 89.5355 58.3544 89.6343 58.3544C89.733 58.3544 89.8138 58.1121 89.8138 57.8159C89.8138 57.5197 89.8946 57.2774 89.9933 57.2774C90.092 57.2774 90.1728 56.9542 90.1728 56.5593C90.1728 56.1644 90.2536 55.8413 90.3523 55.8413C90.451 55.8413 90.5318 55.4374 90.5318 54.9437C90.5318 54.45 90.6126 54.0461 90.7113 54.0461C90.8138 54.0461 90.8908 53.5076 90.8908 52.7895C90.8908 52.0715 90.9679 51.533 91.0704 51.533C91.1861 51.533 91.2499 49.5583 91.2499 45.9681C91.2499 42.3778 91.1861 40.4032 91.0704 40.4032C90.9679 40.4032 90.8908 39.8646 90.8908 39.1466C90.8908 38.4285 90.8138 37.89 90.7113 37.89C90.6126 37.89 90.5318 37.4861 90.5318 36.9924C90.5318 36.4988 90.451 36.0949 90.3523 36.0949C90.2536 36.0949 90.1728 35.7717 90.1728 35.3768C90.1728 34.9819 90.092 34.6588 89.9933 34.6588C89.8946 34.6588 89.8138 34.3356 89.8138 33.9407C89.8138 33.5458 89.733 33.2227 89.6343 33.2227C89.5355 33.2227 89.4548 32.9803 89.4548 32.6841C89.4548 32.3879 89.374 32.1456 89.2752 32.1456C89.1765 32.1456 89.0957 31.9032 89.0957 31.6071C89.0957 31.3109 89.0149 31.0685 88.9162 31.0685C88.8175 31.0685 88.7367 30.907 88.7367 30.7095C88.7367 30.512 88.6559 30.3505 88.5572 30.3505C88.4585 30.3505 88.3777 30.1081 88.3777 29.8119C88.3777 29.5157 88.2969 29.2734 88.1982 29.2734C88.0994 29.2734 88.0186 29.1118 88.0186 28.9144C88.0186 28.7169 87.9379 28.5553 87.8391 28.5553C87.7404 28.5553 87.6596 28.313 87.6596 28.0168C87.6596 27.7206 87.5788 27.4783 87.4801 27.4783C87.3814 27.4783 87.3006 27.3167 87.3006 27.1192C87.3006 26.9218 87.2198 26.7602 87.1211 26.7602C87.0224 26.7602 86.9416 26.5987 86.9416 26.4012C86.9416 26.2037 86.8608 26.0422 86.7621 26.0422C86.6633 26.0422 86.5826 25.8806 86.5826 25.6831C86.5826 25.4857 86.5018 25.3241 86.403 25.3241C86.3043 25.3241 86.2235 25.1803 86.2235 25.0048C86.2235 24.829 86.062 24.5689 85.8645 24.4265C85.667 24.2842 85.5055 24.0241 85.5055 23.8483C85.5055 23.6728 85.4247 23.529 85.326 23.529C85.2272 23.529 85.1464 23.3674 85.1464 23.17C85.1464 22.9725 85.0657 22.8109 84.9669 22.8109C84.8682 22.8109 84.7874 22.6671 84.7874 22.4916C84.7874 22.3158 84.6259 22.0557 84.4284 21.9134C84.2309 21.771 84.0694 21.5432 84.0694 21.4071C84.0694 21.2713 83.827 20.9334 83.5308 20.6568C83.2346 20.3802 82.9923 20.0423 82.9923 19.9064C82.9923 19.7704 82.8307 19.5426 82.6333 19.4002C82.4358 19.2578 82.2742 19.0329 82.2742 18.9001C82.2742 18.7674 81.8703 18.2655 81.3767 17.7846C80.883 17.3037 80.4791 16.8235 80.4791 16.7174C80.4791 16.4639 76.0531 12.0402 75.7994 12.0402C75.6921 12.0402 75.2937 11.7171 74.9142 11.3221C74.5347 10.9272 74.1292 10.6041 74.0131 10.6041C73.8968 10.6041 73.5752 10.3617 73.2986 10.0655C73.022 9.76935 72.6989 9.527 72.5806 9.527C72.4623 9.527 72.1391 9.28466 71.8625 8.98847C71.5859 8.69227 71.2303 8.44993 71.0725 8.44993C70.9145 8.44993 70.7854 8.36915 70.7854 8.27042C70.7854 8.17168 70.6417 8.0909 70.4661 8.0909C70.2903 8.0909 70.0302 7.92934 69.8879 7.73188C69.7455 7.53441 69.4854 7.37285 69.3097 7.37285C69.1341 7.37285 68.9903 7.29207 68.9903 7.19334C68.9903 7.09461 68.8465 7.01383 68.671 7.01383C68.4952 7.01383 68.2351 6.85227 68.0928 6.6548C67.9504 6.45734 67.6903 6.29578 67.5145 6.29578C67.339 6.29578 67.1952 6.215 67.1952 6.11627C67.1952 6.01753 67.0336 5.93675 66.8362 5.93675C66.6387 5.93675 66.4771 5.85597 66.4771 5.75724C66.4771 5.65851 66.3156 5.57773 66.1181 5.57773C65.9206 5.57773 65.7591 5.49695 65.7591 5.39822C65.7591 5.29948 65.5167 5.2187 65.2206 5.2187C64.9244 5.2187 64.682 5.13792 64.682 5.03919C64.682 4.94046 64.5205 4.85968 64.323 4.85968C64.1255 4.85968 63.964 4.7789 63.964 4.68016C63.964 4.58143 63.8024 4.50065 63.6049 4.50065C63.4075 4.50065 63.2459 4.41987 63.2459 4.32114C63.2459 4.22241 63.0036 4.14163 62.7074 4.14163C62.4112 4.14163 62.1688 4.06085 62.1688 3.96211C62.1688 3.86338 62.0073 3.7826 61.8098 3.7826C61.6123 3.7826 61.4508 3.70182 61.4508 3.60309C61.4508 3.50436 61.2084 3.42358 60.9122 3.42358C60.6161 3.42358 60.3737 3.3428 60.3737 3.24406C60.3737 3.14533 60.1314 3.06455 59.8352 3.06455C59.539 3.06455 59.2966 2.98377 59.2966 2.88504C59.2966 2.78631 58.9735 2.70553 58.5786 2.70553C58.1837 2.70553 57.8605 2.62475 57.8605 2.52601C57.8605 2.42728 57.5374 2.3465 57.1425 2.3465C56.7476 2.3465 56.4244 2.26572 56.4244 2.16699C56.4244 2.06826 56.1013 1.98748 55.7064 1.98748C55.3115 1.98748 54.9883 1.9067 54.9883 1.80796C54.9883 1.70815 54.5096 1.62845 53.9113 1.62845C53.3129 1.62845 52.8342 1.54875 52.8342 1.44894C52.8342 1.34123 52.1161 1.26943 51.0391 1.26943C49.962 1.26943 49.2439 1.19762 49.2439 1.08991C49.2439 0.976461 47.9873 0.9104 45.8332 0.9104C43.679 0.9104 42.4225 0.976461 42.4225 1.08991Z\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.4225 1.08991C42.4225 1.19762 41.7044 1.26943 40.6273 1.26943C39.5502 1.26943 38.8322 1.34123 38.8322 1.44894C38.8322 1.54875 38.3534 1.62845 37.7551 1.62845C37.1568 1.62845 36.678 1.70815 36.678 1.80796C36.678 1.9067 36.3549 1.98748 35.96 1.98748C35.5651 1.98748 35.2419 2.06826 35.2419 2.16699C35.2419 2.26572 34.9188 2.3465 34.5239 2.3465C34.129 2.3465 33.8058 2.42728 33.8058 2.52601C33.8058 2.62475 33.4827 2.70553 33.0878 2.70553C32.6929 2.70553 32.3697 2.78631 32.3697 2.88504C32.3697 2.98377 32.1274 3.06455 31.8312 3.06455C31.535 3.06455 31.2927 3.14533 31.2927 3.24406C31.2927 3.3428 31.0503 3.42358 30.7541 3.42358C30.4579 3.42358 30.2156 3.50436 30.2156 3.60309C30.2156 3.70182 30.054 3.7826 29.8566 3.7826C29.6591 3.7826 29.4975 3.86338 29.4975 3.96211C29.4975 4.06085 29.2552 4.14163 28.959 4.14163C28.6628 4.14163 28.4205 4.22241 28.4205 4.32114C28.4205 4.41987 28.2589 4.50065 28.0614 4.50065C27.864 4.50065 27.7024 4.58143 27.7024 4.68016C27.7024 4.7789 27.5409 4.85968 27.3434 4.85968C27.1459 4.85968 26.9844 4.94046 26.9844 5.03919C26.9844 5.13792 26.742 5.2187 26.4458 5.2187C26.1496 5.2187 25.9073 5.29948 25.9073 5.39822C25.9073 5.49695 25.7457 5.57773 25.5483 5.57773C25.3508 5.57773 25.1892 5.65851 25.1892 5.75724C25.1892 5.85597 25.0277 5.93675 24.8302 5.93675C24.6328 5.93675 24.4712 6.01753 24.4712 6.11627C24.4712 6.215 24.3274 6.29578 24.1518 6.29578C23.9761 6.29578 23.716 6.45734 23.5736 6.6548C23.4313 6.85227 23.1712 7.01383 22.9954 7.01383C22.8199 7.01383 22.6761 7.09461 22.6761 7.19334C22.6761 7.29207 22.5323 7.37285 22.3567 7.37285C22.181 7.37285 21.9209 7.53441 21.7785 7.73188C21.6361 7.92934 21.376 8.0909 21.2003 8.0909C21.0247 8.0909 20.8809 8.17168 20.8809 8.27042C20.8809 8.36915 20.7519 8.44993 20.5939 8.44993C20.4361 8.44993 20.0805 8.69227 19.8039 8.98847C19.5272 9.28466 19.2041 9.527 19.0858 9.527C18.9675 9.527 18.6444 9.76935 18.3678 10.0655C18.0911 10.3617 17.7696 10.6041 17.6533 10.6041C17.5372 10.6041 17.1316 10.9272 16.7521 11.3221C16.3727 11.7171 15.9743 12.0402 15.867 12.0402C15.6133 12.0402 11.1873 16.4639 11.1873 16.7174C11.1873 16.8235 10.7834 17.3037 10.2897 17.7846C9.79604 18.2655 9.39213 18.7674 9.39213 18.9001C9.39213 19.0329 9.23057 19.2578 9.03311 19.4002C8.83564 19.5426 8.67408 19.7704 8.67408 19.9064C8.67408 20.0423 8.43174 20.3802 8.13555 20.6568C7.83935 20.9334 7.59701 21.2713 7.59701 21.4071C7.59701 21.5432 7.43545 21.771 7.23798 21.9134C7.04052 22.0557 6.87896 22.3158 6.87896 22.4916C6.87896 22.6671 6.79818 22.8109 6.69944 22.8109C6.60071 22.8109 6.51993 22.9725 6.51993 23.17C6.51993 23.3674 6.43915 23.529 6.34042 23.529C6.24169 23.529 6.16091 23.6728 6.16091 23.8483C6.16091 24.0241 5.99935 24.2842 5.80188 24.4265C5.60442 24.5689 5.44286 24.829 5.44286 25.0048C5.44286 25.1803 5.36208 25.3241 5.26334 25.3241C5.16461 25.3241 5.08383 25.4857 5.08383 25.6831C5.08383 25.8806 5.00305 26.0422 4.90432 26.0422C4.80559 26.0422 4.72481 26.2037 4.72481 26.4012C4.72481 26.5987 4.64403 26.7602 4.54529 26.7602C4.44656 26.7602 4.36578 26.9218 4.36578 27.1192C4.36578 27.3167 4.285 27.4783 4.18627 27.4783C4.08754 27.4783 4.00676 27.7206 4.00676 28.0168C4.00676 28.313 3.92598 28.5553 3.82724 28.5553C3.72851 28.5553 3.64773 28.7169 3.64773 28.9144C3.64773 29.1118 3.56695 29.2734 3.46822 29.2734C3.36949 29.2734 3.28871 29.5157 3.28871 29.8119C3.28871 30.1081 3.20792 30.3505 3.10919 30.3505C3.01046 30.3505 2.92968 30.512 2.92968 30.7095C2.92968 30.907 2.8489 31.0685 2.75017 31.0685C2.65144 31.0685 2.57065 31.3109 2.57065 31.6071C2.57065 31.9032 2.48987 32.1456 2.39114 32.1456C2.29241 32.1456 2.21163 32.3879 2.21163 32.6841C2.21163 32.9803 2.13085 33.2227 2.03212 33.2227C1.93339 33.2227 1.8526 33.5458 1.8526 33.9407C1.8526 34.3356 1.77182 34.6588 1.67309 34.6588C1.57436 34.6588 1.49358 34.9819 1.49358 35.3768C1.49358 35.7717 1.4128 36.0949 1.31407 36.0949C1.21533 36.0949 1.13455 36.4988 1.13455 36.9924C1.13455 37.4861 1.05377 37.89 0.955042 37.89C0.85254 37.89 0.775529 38.4285 0.775529 39.1466C0.775529 39.8646 0.698518 40.4032 0.596016 40.4032C0.480231 40.4032 0.416504 42.3778 0.416504 45.9681C0.416504 49.5583 0.480231 51.533 0.596016 51.533C0.698518 51.533 0.775529 52.0715 0.775529 52.7895C0.775529 53.5076 0.85254 54.0461 0.955042 54.0461C1.05377 54.0461 1.13455 54.45 1.13455 54.9437C1.13455 55.4374 1.21533 55.8413 1.31407 55.8413C1.4128 55.8413 1.49358 56.1644 1.49358 56.5593C1.49358 56.9542 1.57436 57.2774 1.67309 57.2774C1.77182 57.2774 1.8526 57.5197 1.8526 57.8159C1.8526 58.1121 1.93339 58.3544 2.03212 58.3544C2.13085 58.3544 2.21163 58.6776 2.21163 59.0725C2.21163 59.4674 2.29241 59.7905 2.39114 59.7905C2.48987 59.7905 2.57065 60.0329 2.57065 60.3291C2.57065 60.6253 2.65144 60.8676 2.75017 60.8676C2.8489 60.8676 2.92968 61.0292 2.92968 61.2266C2.92968 61.4241 3.01046 61.5857 3.10919 61.5857C3.20792 61.5857 3.28871 61.828 3.28871 62.1242C3.28871 62.4204 3.36949 62.6627 3.46822 62.6627C3.56695 62.6627 3.64773 62.8243 3.64773 63.0218C3.64773 63.2192 3.72851 63.3808 3.82724 63.3808C3.92598 63.3808 4.00676 63.6231 4.00676 63.9193C4.00676 64.2155 4.08754 64.4579 4.18627 64.4579C4.285 64.4579 4.36578 64.6194 4.36578 64.8169C4.36578 65.0143 4.44656 65.1759 4.54529 65.1759C4.64403 65.1759 4.72481 65.3375 4.72481 65.5349C4.72481 65.7324 4.80559 65.894 4.90432 65.894C5.00305 65.894 5.08383 66.0555 5.08383 66.253C5.08383 66.4504 5.16461 66.612 5.26334 66.612C5.36208 66.612 5.44286 66.7558 5.44286 66.9314C5.44286 67.1071 5.60442 67.3672 5.80188 67.5096C5.99935 67.6519 6.16091 67.912 6.16091 68.0878C6.16091 68.2633 6.24169 68.4071 6.34042 68.4071C6.43915 68.4071 6.51993 68.5509 6.51993 68.7265C6.51993 68.9022 6.68149 69.1623 6.87896 69.3047C7.07642 69.447 7.23798 69.6894 7.23798 69.8432C7.23798 69.9971 7.39954 70.2394 7.59701 70.3818C7.79447 70.5241 7.95603 70.7665 7.95603 70.9203C7.95603 71.0742 8.11759 71.3165 8.31506 71.4588C8.51252 71.6012 8.67408 71.829 8.67408 71.9651C8.67408 72.101 8.91642 72.4388 9.21262 72.7154C9.50882 72.9921 9.75116 73.3136 9.75116 73.4299C9.75116 73.546 10.0743 73.9516 10.4692 74.331C10.8641 74.7105 11.1873 75.1089 11.1873 75.2164C11.1873 75.4702 15.2518 79.5369 15.5053 79.5369C15.6115 79.5369 16.0917 79.9408 16.5726 80.4345C17.0536 80.9281 17.5409 81.332 17.6558 81.332C17.7707 81.332 18.0911 81.5744 18.3678 81.8706C18.6444 82.1668 18.9822 82.4091 19.1181 82.4091C19.2542 82.4091 19.482 82.5707 19.6244 82.7681C19.7667 82.9656 20.009 83.1272 20.1629 83.1272C20.3167 83.1272 20.5591 83.2887 20.7014 83.4862C20.8438 83.6837 21.0861 83.8452 21.24 83.8452C21.3938 83.8452 21.6361 84.0068 21.7785 84.2042C21.9209 84.4017 22.181 84.5633 22.3567 84.5633C22.5323 84.5633 22.6761 84.6441 22.6761 84.7428C22.6761 84.8415 22.8376 84.9223 23.0351 84.9223C23.2326 84.9223 23.3941 85.0031 23.3941 85.1018C23.3941 85.2005 23.5557 85.2813 23.7531 85.2813C23.9506 85.2813 24.1122 85.3621 24.1122 85.4608C24.1122 85.5596 24.256 85.6403 24.4315 85.6403C24.6073 85.6403 24.8674 85.8019 25.0097 85.9994C25.1618 86.2101 25.4745 86.3584 25.7675 86.3584C26.0417 86.3584 26.2663 86.4392 26.2663 86.5379C26.2663 86.6366 26.4279 86.7174 26.6253 86.7174C26.8228 86.7174 26.9844 86.7982 26.9844 86.8969C26.9844 86.9957 27.1459 87.0764 27.3434 87.0764C27.5409 87.0764 27.7024 87.1572 27.7024 87.256C27.7024 87.3547 27.864 87.4355 28.0614 87.4355C28.2589 87.4355 28.4205 87.5163 28.4205 87.615C28.4205 87.7137 28.6628 87.7945 28.959 87.7945C29.2552 87.7945 29.4975 87.8753 29.4975 87.974C29.4975 88.0727 29.7399 88.1535 30.0361 88.1535C30.3323 88.1535 30.5746 88.2343 30.5746 88.333C30.5746 88.4318 30.817 88.5125 31.1132 88.5125C31.4094 88.5125 31.6517 88.5933 31.6517 88.6921C31.6517 88.7908 31.894 88.8716 32.1902 88.8716C32.4864 88.8716 32.7288 88.9523 32.7288 89.0511C32.7288 89.1498 33.0519 89.2306 33.4468 89.2306C33.8417 89.2306 34.1649 89.3114 34.1649 89.4101C34.1649 89.5088 34.488 89.5896 34.8829 89.5896C35.2778 89.5896 35.601 89.5088 35.601 89.4101C35.601 89.3114 35.8433 89.2306 36.1395 89.2306C36.4357 89.2306 36.678 89.1498 36.678 89.0511C36.678 88.9523 36.805 88.8716 36.9601 88.8716C37.3229 88.8716 37.7551 88.4393 37.7551 88.0765C37.7551 87.9214 37.8359 87.7945 37.9346 87.7945C38.0334 87.7945 38.1141 87.6329 38.1141 87.4355C38.1141 87.238 38.1949 87.0764 38.2937 87.0764C38.3924 87.0764 38.4732 86.6725 38.4732 86.1789C38.4732 85.6852 38.3924 85.2813 38.2937 85.2813C38.1949 85.2813 38.1141 85.0767 38.1141 84.8266C38.1141 84.3209 37.0466 83.1272 36.5942 83.1272C36.4429 83.1272 36.319 83.0464 36.319 82.9477C36.319 82.8489 36.0767 82.7681 35.7805 82.7681C35.4843 82.7681 35.2419 82.6874 35.2419 82.5886C35.2419 82.4899 34.9996 82.4091 34.7034 82.4091C34.4072 82.4091 34.1649 82.3283 34.1649 82.2296C34.1649 82.1309 33.9225 82.0501 33.6263 82.0501C33.3301 82.0501 33.0878 81.9693 33.0878 81.8706C33.0878 81.7718 32.8455 81.6911 32.5493 81.6911C32.2531 81.6911 32.0107 81.6103 32.0107 81.5116C32.0107 81.4128 31.7684 81.332 31.4722 81.332C31.176 81.332 30.9336 81.2513 30.9336 81.1525C30.9336 81.0538 30.7721 80.973 30.5746 80.973C30.3772 80.973 30.2156 80.8922 30.2156 80.7935C30.2156 80.6948 30.054 80.614 29.8566 80.614C29.6591 80.614 29.4975 80.5332 29.4975 80.4345C29.4975 80.3357 29.336 80.255 29.1385 80.255C28.9411 80.255 28.7795 80.1742 28.7795 80.0755C28.7795 79.9767 28.6179 79.8959 28.4205 79.8959C28.223 79.8959 28.0614 79.8152 28.0614 79.7164C28.0614 79.6177 27.8999 79.5369 27.7024 79.5369C27.505 79.5369 27.3434 79.4561 27.3434 79.3574C27.3434 79.2587 27.1818 79.1779 26.9844 79.1779C26.7869 79.1779 26.6253 79.0971 26.6253 78.9984C26.6253 78.8996 26.4816 78.8189 26.306 78.8189C26.1302 78.8189 25.8701 78.6573 25.7278 78.4598C25.5854 78.2624 25.3253 78.1008 25.1496 78.1008C24.974 78.1008 24.8302 78.02 24.8302 77.9213C24.8302 77.8226 24.7011 77.7418 24.5432 77.7418C24.3854 77.7418 24.0298 77.4995 23.7531 77.2033C23.4765 76.9071 23.1534 76.6647 23.0351 76.6647C22.9168 76.6647 22.5937 76.4224 22.317 76.1262C22.0404 75.83 21.7246 75.5876 21.6153 75.5876C21.3559 75.5876 15.4956 69.7273 15.4956 69.4679C15.4956 69.3585 15.2532 69.0428 14.957 68.7662C14.6608 68.4895 14.4185 68.1517 14.4185 68.0158C14.4185 67.8797 14.2569 67.6519 14.0595 67.5096C13.862 67.3672 13.7004 67.1249 13.7004 66.971C13.7004 66.8172 13.5389 66.5748 13.3414 66.4325C13.1439 66.2901 12.9824 66.0478 12.9824 65.894C12.9824 65.7401 12.8208 65.4978 12.6234 65.3554C12.4259 65.2131 12.2643 64.953 12.2643 64.7772C12.2643 64.6016 12.1836 64.4579 12.0848 64.4579C11.9861 64.4579 11.9053 64.2963 11.9053 64.0988C11.9053 63.9014 11.8245 63.7398 11.7258 63.7398C11.6271 63.7398 11.5463 63.5782 11.5463 63.3808C11.5463 63.1833 11.4655 63.0218 11.3668 63.0218C11.268 63.0218 11.1873 62.8602 11.1873 62.6627C11.1873 62.4653 11.1065 62.3037 11.0077 62.3037C10.909 62.3037 10.8282 62.1421 10.8282 61.9447C10.8282 61.7472 10.7475 61.5857 10.6487 61.5857C10.55 61.5857 10.4692 61.4241 10.4692 61.2266C10.4692 61.0292 10.3884 60.8676 10.2897 60.8676C10.191 60.8676 10.1102 60.6253 10.1102 60.3291C10.1102 60.0329 10.0294 59.7905 9.93067 59.7905C9.83194 59.7905 9.75116 59.629 9.75116 59.4315C9.75116 59.234 9.67038 59.0725 9.57165 59.0725C9.47291 59.0725 9.39213 58.8301 9.39213 58.5339C9.39213 58.2377 9.31135 57.9954 9.21262 57.9954C9.11389 57.9954 9.03311 57.7531 9.03311 57.4569C9.03311 57.1607 8.95233 56.9183 8.8536 56.9183C8.75486 56.9183 8.67408 56.5952 8.67408 56.2003C8.67408 55.8054 8.5933 55.4822 8.49457 55.4822C8.39584 55.4822 8.31506 55.1591 8.31506 54.7642C8.31506 54.3693 8.23428 54.0461 8.13555 54.0461C8.03681 54.0461 7.95603 53.6422 7.95603 53.1486C7.95603 52.6549 7.87525 52.251 7.77652 52.251C7.67402 52.251 7.59701 51.7125 7.59701 50.9944C7.59701 50.2764 7.52 49.7378 7.41749 49.7378C7.3035 49.7378 7.23798 48.3615 7.23798 45.9681C7.23798 43.5746 7.3035 42.1983 7.41749 42.1983C7.52 42.1983 7.59701 41.6598 7.59701 40.9417C7.59701 40.2237 7.67402 39.6851 7.77652 39.6851C7.87525 39.6851 7.95603 39.2812 7.95603 38.7876C7.95603 38.2939 8.03681 37.89 8.13555 37.89C8.23428 37.89 8.31506 37.4861 8.31506 36.9924C8.31506 36.4988 8.39584 36.0949 8.49457 36.0949C8.5933 36.0949 8.67408 35.8525 8.67408 35.5563C8.67408 35.2601 8.75486 35.0178 8.8536 35.0178C8.95233 35.0178 9.03311 34.7755 9.03311 34.4793C9.03311 34.1831 9.11389 33.9407 9.21262 33.9407C9.31135 33.9407 9.39213 33.6984 9.39213 33.4022C9.39213 33.106 9.47291 32.8636 9.57165 32.8636C9.67038 32.8636 9.75116 32.7021 9.75116 32.5046C9.75116 32.3072 9.83194 32.1456 9.93067 32.1456C10.0294 32.1456 10.1102 31.9032 10.1102 31.6071C10.1102 31.3109 10.191 31.0685 10.2897 31.0685C10.3884 31.0685 10.4692 30.907 10.4692 30.7095C10.4692 30.512 10.55 30.3505 10.6487 30.3505C10.7475 30.3505 10.8282 30.1889 10.8282 29.9914C10.8282 29.794 10.909 29.6324 11.0077 29.6324C11.1065 29.6324 11.1873 29.4709 11.1873 29.2734C11.1873 29.0759 11.268 28.9144 11.3668 28.9144C11.4655 28.9144 11.5463 28.7528 11.5463 28.5553C11.5463 28.3579 11.6271 28.1963 11.7258 28.1963C11.8245 28.1963 11.9053 28.0348 11.9053 27.8373C11.9053 27.6398 11.9861 27.4783 12.0848 27.4783C12.1836 27.4783 12.2643 27.3345 12.2643 27.1589C12.2643 26.9832 12.4259 26.7231 12.6234 26.5807C12.8208 26.4383 12.9824 26.1782 12.9824 26.0025C12.9824 25.8269 13.0632 25.6831 13.1619 25.6831C13.2606 25.6831 13.3414 25.5541 13.3414 25.3961C13.3414 25.2383 13.5838 24.8827 13.8799 24.6061C14.1761 24.3294 14.4185 24.0063 14.4185 23.888C14.4185 23.7697 14.6608 23.4466 14.957 23.17C15.2532 22.8933 15.4956 22.5736 15.4956 22.4596C15.4956 22.3458 15.9802 21.7768 16.5726 21.1953C17.165 20.6139 17.6497 20.0502 17.6497 19.9427C17.6497 19.6885 18.8356 18.5026 19.0898 18.5026C19.1973 18.5026 19.761 18.0179 20.3424 17.4256C20.9238 16.8332 21.4929 16.3485 21.6067 16.3485C21.7207 16.3485 22.0404 16.1061 22.317 15.8099C22.5937 15.5137 22.9168 15.2714 23.0351 15.2714C23.1534 15.2714 23.4765 15.0291 23.7531 14.7329C24.0298 14.4367 24.3854 14.1943 24.5432 14.1943C24.7011 14.1943 24.8302 14.1136 24.8302 14.0148C24.8302 13.9161 24.974 13.8353 25.1496 13.8353C25.3253 13.8353 25.5854 13.6737 25.7278 13.4763C25.8701 13.2788 26.1302 13.1173 26.306 13.1173C26.4816 13.1173 26.6253 13.0365 26.6253 12.9377C26.6253 12.839 26.7869 12.7582 26.9844 12.7582C27.1818 12.7582 27.3434 12.6775 27.3434 12.5787C27.3434 12.48 27.505 12.3992 27.7024 12.3992C27.8999 12.3992 28.0614 12.3184 28.0614 12.2197C28.0614 12.121 28.223 12.0402 28.4205 12.0402C28.6179 12.0402 28.7795 11.9594 28.7795 11.8607C28.7795 11.7619 28.9411 11.6812 29.1385 11.6812C29.336 11.6812 29.4975 11.6004 29.4975 11.5016C29.4975 11.4029 29.6591 11.3221 29.8566 11.3221C30.054 11.3221 30.2156 11.2414 30.2156 11.1426C30.2156 11.0439 30.3772 10.9631 30.5746 10.9631C30.7721 10.9631 30.9336 10.8823 30.9336 10.7836C30.9336 10.6849 31.176 10.6041 31.4722 10.6041C31.7684 10.6041 32.0107 10.5233 32.0107 10.4246C32.0107 10.3258 32.1723 10.2451 32.3697 10.2451C32.5672 10.2451 32.7288 10.1643 32.7288 10.0655C32.7288 9.96681 32.9711 9.88603 33.2673 9.88603C33.5635 9.88603 33.8058 9.80525 33.8058 9.70652C33.8058 9.60779 34.129 9.527 34.5239 9.527C34.9188 9.527 35.2419 9.44622 35.2419 9.34749C35.2419 9.24876 35.4843 9.16798 35.7805 9.16798C36.0767 9.16798 36.319 9.0872 36.319 8.98847C36.319 8.88974 36.7229 8.80895 37.2166 8.80895C37.7102 8.80895 38.1141 8.72817 38.1141 8.62944C38.1141 8.53071 38.5181 8.44993 39.0117 8.44993C39.5054 8.44993 39.9093 8.36915 39.9093 8.27042C39.9093 8.16271 40.6273 8.0909 41.7044 8.0909C42.7815 8.0909 43.4995 8.0191 43.4995 7.91139C43.4995 7.80099 44.3971 7.73188 45.8332 7.73188C47.2693 7.73188 48.1669 7.80099 48.1669 7.91139C48.1669 8.0191 48.8849 8.0909 49.962 8.0909C51.0391 8.0909 51.7571 8.16271 51.7571 8.27042C51.7571 8.36915 52.161 8.44993 52.6547 8.44993C53.1483 8.44993 53.5522 8.53071 53.5522 8.62944C53.5522 8.72817 53.9561 8.80895 54.4498 8.80895C54.9435 8.80895 55.3474 8.88974 55.3474 8.98847C55.3474 9.0872 55.5897 9.16798 55.8859 9.16798C56.1821 9.16798 56.4244 9.24876 56.4244 9.34749C56.4244 9.44622 56.7476 9.527 57.1425 9.527C57.5374 9.527 57.8605 9.60779 57.8605 9.70652C57.8605 9.80525 58.1029 9.88603 58.3991 9.88603C58.6953 9.88603 58.9376 9.96681 58.9376 10.0655C58.9376 10.1643 59.0992 10.2451 59.2966 10.2451C59.4941 10.2451 59.6557 10.3258 59.6557 10.4246C59.6557 10.5233 59.898 10.6041 60.1942 10.6041C60.4904 10.6041 60.7327 10.6849 60.7327 10.7836C60.7327 10.8823 60.8943 10.9631 61.0918 10.9631C61.2892 10.9631 61.4508 11.0439 61.4508 11.1426C61.4508 11.2414 61.6123 11.3221 61.8098 11.3221C62.0073 11.3221 62.1688 11.4029 62.1688 11.5016C62.1688 11.6004 62.3304 11.6812 62.5279 11.6812C62.7253 11.6812 62.8869 11.7619 62.8869 11.8607C62.8869 11.9594 63.0484 12.0402 63.2459 12.0402C63.4434 12.0402 63.6049 12.121 63.6049 12.2197C63.6049 12.3184 63.7665 12.3992 63.964 12.3992C64.1614 12.3992 64.323 12.48 64.323 12.5787C64.323 12.6775 64.4846 12.7582 64.682 12.7582C64.8795 12.7582 65.041 12.839 65.041 12.9377C65.041 13.0365 65.1848 13.1173 65.3604 13.1173C65.5361 13.1173 65.7962 13.2788 65.9386 13.4763C66.081 13.6737 66.3411 13.8353 66.5168 13.8353C66.6924 13.8353 66.8362 13.9161 66.8362 14.0148C66.8362 14.1136 66.9652 14.1943 67.1232 14.1943C67.281 14.1943 67.6366 14.4367 67.9132 14.7329C68.1899 15.0291 68.513 15.2714 68.6313 15.2714C68.7496 15.2714 69.0727 15.5137 69.3493 15.8099C69.626 16.1061 69.9457 16.3485 70.0597 16.3485C70.1735 16.3485 70.7425 16.8332 71.324 17.4256C71.9054 18.0179 72.4691 18.5026 72.5766 18.5026C72.8308 18.5026 74.0167 19.6885 74.0167 19.9427C74.0167 20.0502 74.5014 20.6139 75.0937 21.1953C75.6861 21.7768 76.1708 22.3458 76.1708 22.4596C76.1708 22.5736 76.4132 22.8933 76.7094 23.17C77.0056 23.4466 77.2479 23.7697 77.2479 23.888C77.2479 24.0063 77.4902 24.3294 77.7864 24.6061C78.0826 24.8827 78.325 25.2383 78.325 25.3961C78.325 25.5541 78.4057 25.6831 78.5045 25.6831C78.6032 25.6831 78.684 25.8269 78.684 26.0025C78.684 26.1782 78.8456 26.4383 79.043 26.5807C79.2405 26.7231 79.402 26.9832 79.402 27.1589C79.402 27.3345 79.4828 27.4783 79.5816 27.4783C79.6803 27.4783 79.7611 27.6398 79.7611 27.8373C79.7611 28.0348 79.8419 28.1963 79.9406 28.1963C80.0393 28.1963 80.1201 28.3579 80.1201 28.5553C80.1201 28.7528 80.2009 28.9144 80.2996 28.9144C80.3983 28.9144 80.4791 29.0759 80.4791 29.2734C80.4791 29.4709 80.5599 29.6324 80.6586 29.6324C80.7574 29.6324 80.8381 29.794 80.8381 29.9914C80.8381 30.1889 80.9189 30.3505 81.0177 30.3505C81.1164 30.3505 81.1972 30.512 81.1972 30.7095C81.1972 30.907 81.2779 31.0685 81.3767 31.0685C81.4754 31.0685 81.5562 31.3109 81.5562 31.6071C81.5562 31.9032 81.637 32.1456 81.7357 32.1456C81.8344 32.1456 81.9152 32.3072 81.9152 32.5046C81.9152 32.7021 81.996 32.8636 82.0947 32.8636C82.1935 32.8636 82.2742 33.106 82.2742 33.4022C82.2742 33.6984 82.355 33.9407 82.4538 33.9407C82.5525 33.9407 82.6333 34.1831 82.6333 34.4793C82.6333 34.7755 82.7141 35.0178 82.8128 35.0178C82.9115 35.0178 82.9923 35.2601 82.9923 35.5563C82.9923 35.8525 83.0731 36.0949 83.1718 36.0949C83.2705 36.0949 83.3513 36.4988 83.3513 36.9924C83.3513 37.4861 83.4321 37.89 83.5308 37.89C83.6296 37.89 83.7103 38.2939 83.7103 38.7876C83.7103 39.2812 83.7911 39.6851 83.8899 39.6851C83.9924 39.6851 84.0694 40.2237 84.0694 40.9417C84.0694 41.6598 84.1464 42.1983 84.2489 42.1983C84.3629 42.1983 84.4284 43.5746 84.4284 45.9681C84.4284 48.3615 84.3629 49.7378 84.2489 49.7378C84.1464 49.7378 84.0694 50.2764 84.0694 50.9944C84.0694 51.7125 83.9924 52.251 83.8899 52.251C83.7911 52.251 83.7103 52.6549 83.7103 53.1486C83.7103 53.6422 83.6296 54.0461 83.5308 54.0461C83.4321 54.0461 83.3513 54.3693 83.3513 54.7642C83.3513 55.1591 83.2705 55.4822 83.1718 55.4822C83.0731 55.4822 82.9923 55.8054 82.9923 56.2003C82.9923 56.5952 82.9115 56.9183 82.8128 56.9183C82.7141 56.9183 82.6333 57.1607 82.6333 57.4569C82.6333 57.7531 82.5525 57.9954 82.4538 57.9954C82.355 57.9954 82.2742 58.2377 82.2742 58.5339C82.2742 58.8301 82.1935 59.0725 82.0947 59.0725C81.996 59.0725 81.9152 59.3148 81.9152 59.611C81.9152 59.9072 81.8344 60.1496 81.7357 60.1496C81.637 60.1496 81.5562 60.3111 81.5562 60.5086C81.5562 60.706 81.4754 60.8676 81.3767 60.8676C81.2779 60.8676 81.1972 61.0292 81.1972 61.2266C81.1972 61.4241 81.1164 61.5857 81.0177 61.5857C80.9189 61.5857 80.8381 61.7472 80.8381 61.9447C80.8381 62.1421 80.7574 62.3037 80.6586 62.3037C80.5599 62.3037 80.4791 62.4653 80.4791 62.6627C80.4791 62.8602 80.3983 63.0218 80.2996 63.0218C80.2009 63.0218 80.1201 63.1833 80.1201 63.3808C80.1201 63.5782 80.0393 63.7398 79.9406 63.7398C79.8419 63.7398 79.7611 63.9014 79.7611 64.0988C79.7611 64.2963 79.6803 64.4579 79.5816 64.4579C79.4828 64.4579 79.402 64.6016 79.402 64.7772C79.402 64.953 79.2405 65.2131 79.043 65.3554C78.8456 65.4978 78.684 65.7579 78.684 65.9336C78.684 66.1092 78.6032 66.253 78.5045 66.253C78.4057 66.253 78.325 66.3821 78.325 66.54C78.325 66.6978 78.0826 67.0534 77.7864 67.3301C77.4902 67.6067 77.2479 67.9298 77.2479 68.0481C77.2479 68.1664 77.0056 68.4895 76.7094 68.7662C76.4132 69.0428 76.1708 69.3625 76.1708 69.4765C76.1708 69.5903 75.6861 70.1594 75.0937 70.7408C74.5014 71.3222 74.0167 71.887 74.0167 71.9956C74.0167 72.2514 73.1947 73.0745 72.9391 73.0745C72.8312 73.0745 72.1851 73.6399 71.5035 74.331C70.8219 75.0222 70.1715 75.5876 70.0582 75.5876C69.9451 75.5876 69.626 75.83 69.3493 76.1262C69.0727 76.4224 68.7496 76.6647 68.6313 76.6647C68.513 76.6647 68.1899 76.9071 67.9132 77.2033C67.6366 77.4995 67.281 77.7418 67.1232 77.7418C66.9652 77.7418 66.8362 77.8226 66.8362 77.9213C66.8362 78.02 66.6924 78.1008 66.5168 78.1008C66.3411 78.1008 66.081 78.2624 65.9386 78.4598C65.7962 78.6573 65.5361 78.8189 65.3604 78.8189C65.1848 78.8189 65.041 78.8996 65.041 78.9984C65.041 79.0971 64.8795 79.1779 64.682 79.1779C64.4846 79.1779 64.323 79.2587 64.323 79.3574C64.323 79.4561 64.1614 79.5369 63.964 79.5369C63.7665 79.5369 63.6049 79.6177 63.6049 79.7164C63.6049 79.8152 63.4611 79.8959 63.2856 79.8959C63.1098 79.8959 62.8497 80.0575 62.7074 80.255C62.5553 80.4657 62.2426 80.614 61.9496 80.614C61.6754 80.614 61.4508 80.6948 61.4508 80.7935C61.4508 80.8922 61.2892 80.973 61.0918 80.973C60.8943 80.973 60.7327 81.0538 60.7327 81.1525C60.7327 81.2513 60.5712 81.332 60.3737 81.332C60.1762 81.332 60.0147 81.4128 60.0147 81.5116C60.0147 81.6103 59.7723 81.6911 59.4761 81.6911C59.18 81.6911 58.9376 81.7718 58.9376 81.8706C58.9376 81.9693 58.6953 82.0501 58.3991 82.0501C58.1029 82.0501 57.8605 82.1309 57.8605 82.2296C57.8605 82.3283 57.4566 82.4091 56.963 82.4091C56.4693 82.4091 56.0654 82.4899 56.0654 82.5886C56.0654 82.6874 55.6615 82.7681 55.1678 82.7681C54.6742 82.7681 54.2703 82.6874 54.2703 82.5886C54.2703 82.4899 54.0279 82.4091 53.7317 82.4091C53.4355 82.4091 53.1932 82.3283 53.1932 82.2296C53.1932 82.1309 53.0699 82.0501 52.9193 82.0501C52.5852 82.0501 51.0391 80.5364 51.0391 80.2095C51.0391 80.0807 50.8775 79.8588 50.68 79.7164C50.4693 79.5644 50.321 79.2517 50.321 78.9587C50.321 78.6844 50.2402 78.4598 50.1415 78.4598C50.0428 78.4598 49.962 78.2175 49.962 77.9213C49.962 77.6251 49.8812 77.3828 49.7825 77.3828C49.6837 77.3828 49.603 77.1404 49.603 76.8442C49.603 76.548 49.5222 76.3057 49.4234 76.3057C49.3236 76.3057 49.2439 75.8269 49.2439 75.2286C49.2439 74.6303 49.1642 74.1515 49.0644 74.1515C48.9508 74.1515 48.8849 72.8352 48.8849 70.5613V66.971H49.962C50.5603 66.971 51.0391 66.8913 51.0391 66.7915C51.0391 66.6928 51.3622 66.612 51.7571 66.612C52.152 66.612 52.4752 66.5312 52.4752 66.4325C52.4752 66.3338 52.7983 66.253 53.1932 66.253C53.5881 66.253 53.9113 66.1722 53.9113 66.0735C53.9113 65.9747 54.1536 65.894 54.4498 65.894C54.746 65.894 54.9883 65.8132 54.9883 65.7144C54.9883 65.6157 55.1499 65.5349 55.3474 65.5349C55.5448 65.5349 55.7064 65.4542 55.7064 65.3554C55.7064 65.2567 55.9487 65.1759 56.2449 65.1759C56.5411 65.1759 56.7835 65.0951 56.7835 64.9964C56.7835 64.8977 56.945 64.8169 57.1425 64.8169C57.3399 64.8169 57.5015 64.7361 57.5015 64.6374C57.5015 64.5386 57.6631 64.4579 57.8605 64.4579C58.058 64.4579 58.2196 64.3771 58.2196 64.2783C58.2196 64.1796 58.3811 64.0988 58.5786 64.0988C58.776 64.0988 58.9376 64.0181 58.9376 63.9193C58.9376 63.8206 59.0814 63.7398 59.257 63.7398C59.4327 63.7398 59.6928 63.5782 59.8352 63.3808C59.9775 63.1833 60.2199 63.0218 60.3737 63.0218C60.5276 63.0218 60.7699 62.8602 60.9122 62.6627C61.0546 62.4653 61.2806 62.3037 61.4147 62.3037C61.5488 62.3037 61.9689 61.9806 62.3483 61.5857C62.7278 61.1907 63.1265 60.8676 63.2344 60.8676C63.4926 60.8676 66.4771 57.8796 66.4771 57.6211C66.4771 57.5113 66.7195 57.195 67.0157 56.9183C67.3119 56.6417 67.5542 56.3039 67.5542 56.168C67.5542 56.0319 67.7158 55.8041 67.9132 55.6617C68.1107 55.5194 68.2723 55.277 68.2723 55.1232C68.2723 54.9694 68.4338 54.727 68.6313 54.5847C68.8288 54.4423 68.9903 54.1822 68.9903 54.0065C68.9903 53.8309 69.0711 53.6871 69.1698 53.6871C69.2686 53.6871 69.3493 53.5255 69.3493 53.3281C69.3493 53.1306 69.4301 52.9691 69.5289 52.9691C69.6276 52.9691 69.7084 52.8075 69.7084 52.61C69.7084 52.4126 69.7891 52.251 69.8879 52.251C69.9866 52.251 70.0674 52.0894 70.0674 51.892C70.0674 51.6945 70.1482 51.533 70.2469 51.533C70.3456 51.533 70.4264 51.3714 70.4264 51.1739C70.4264 50.9765 70.5072 50.8149 70.6059 50.8149C70.7047 50.8149 70.7854 50.5726 70.7854 50.2764C70.7854 49.9802 70.8662 49.7378 70.965 49.7378C71.0637 49.7378 71.1445 49.4955 71.1445 49.1993C71.1445 48.9031 71.2252 48.6607 71.324 48.6607C71.4227 48.6607 71.5035 48.3376 71.5035 47.9427C71.5035 47.5478 71.5843 47.2246 71.683 47.2246C71.7817 47.2246 71.8625 46.8207 71.8625 46.3271C71.8625 45.8334 71.9433 45.4295 72.042 45.4295C72.1408 45.4295 72.2215 45.1064 72.2215 44.7115V43.9934H66.2976H60.3737V34.4793C60.3737 28.2561 60.3116 24.9651 60.1942 24.9651C60.0955 24.9651 60.0147 24.8412 60.0147 24.6899C60.0147 24.3325 58.8522 23.17 58.4947 23.17C58.3434 23.17 58.2196 23.0892 58.2196 22.9904C58.2196 22.8917 58.058 22.8109 57.8605 22.8109C57.6631 22.8109 57.5015 22.7302 57.5015 22.6314C57.5015 22.5268 56.9032 22.4519 56.0654 22.4519C55.2276 22.4519 54.6293 22.5268 54.6293 22.6314C54.6293 22.7302 54.4047 22.8109 54.1304 22.8109C53.8375 22.8109 53.5248 22.9592 53.3727 23.17C53.2304 23.3674 53.0049 23.529 52.8715 23.529C52.5428 23.529 52.1161 23.9779 52.1161 24.324C52.1161 24.4791 52.0354 24.6061 51.9366 24.6061C51.8379 24.6061 51.7571 24.8484 51.7571 25.1446C51.7571 25.4408 51.6763 25.6831 51.5776 25.6831C51.4602 25.6831 51.3981 28.8546 51.3981 34.8383V43.9934H45.1151H38.8322V34.4793C38.8322 28.2561 38.7701 24.9651 38.6527 24.9651C38.554 24.9651 38.4732 24.8412 38.4732 24.6899C38.4732 24.3325 37.3106 23.17 36.9532 23.17C36.8019 23.17 36.678 23.0892 36.678 22.9904C36.678 22.8917 36.5165 22.8109 36.319 22.8109C36.1216 22.8109 35.96 22.7302 35.96 22.6314C35.96 22.5268 35.3617 22.4519 34.5239 22.4519C33.6861 22.4519 33.0878 22.5268 33.0878 22.6314C33.0878 22.7302 32.8632 22.8109 32.5889 22.8109C32.296 22.8109 31.9833 22.9592 31.8312 23.17C31.6889 23.3674 31.4634 23.529 31.33 23.529C31.0013 23.529 30.5746 23.9779 30.5746 24.324C30.5746 24.4791 30.4938 24.6061 30.3951 24.6061C30.2964 24.6061 30.2156 24.7676 30.2156 24.9651C30.2156 25.1626 30.1348 25.3241 30.0361 25.3241C29.9187 25.3241 29.8566 28.5553 29.8566 34.6588V43.9934H24.6507H19.4448V44.7115C19.4448 45.1064 19.5256 45.4295 19.6244 45.4295C19.7231 45.4295 19.8039 45.8334 19.8039 46.3271C19.8039 46.8207 19.8846 47.2246 19.9834 47.2246C20.0821 47.2246 20.1629 47.5478 20.1629 47.9427C20.1629 48.3376 20.2437 48.6607 20.3424 48.6607C20.4411 48.6607 20.5219 48.9031 20.5219 49.1993C20.5219 49.4955 20.6027 49.7378 20.7014 49.7378C20.8002 49.7378 20.8809 49.8994 20.8809 50.0969C20.8809 50.2943 20.9617 50.4559 21.0605 50.4559C21.1592 50.4559 21.24 50.6982 21.24 50.9944C21.24 51.2906 21.3207 51.533 21.4195 51.533C21.5182 51.533 21.599 51.6945 21.599 51.892C21.599 52.0894 21.6798 52.251 21.7785 52.251C21.8772 52.251 21.958 52.4126 21.958 52.61C21.958 52.8075 22.0388 52.9691 22.1375 52.9691C22.2363 52.9691 22.317 53.1306 22.317 53.3281C22.317 53.5255 22.3978 53.6871 22.4966 53.6871C22.5953 53.6871 22.6761 53.8309 22.6761 54.0065C22.6761 54.1822 22.8376 54.4423 23.0351 54.5847C23.2326 54.727 23.3941 54.9694 23.3941 55.1232C23.3941 55.277 23.5557 55.5194 23.7531 55.6617C23.9506 55.8041 24.1122 56.0301 24.1122 56.1642C24.1122 56.2983 24.4353 56.7183 24.8302 57.0978C25.2251 57.4773 25.5483 57.8762 25.5483 57.9843C25.5483 58.2404 28.1754 60.8676 28.4316 60.8676C28.5397 60.8676 28.9385 61.1907 29.318 61.5857C29.6975 61.9806 30.1176 62.3037 30.2517 62.3037C30.3858 62.3037 30.6118 62.4653 30.7541 62.6627C30.8965 62.8602 31.1388 63.0218 31.2927 63.0218C31.4465 63.0218 31.6889 63.1833 31.8312 63.3808C31.9736 63.5782 32.2337 63.7398 32.4094 63.7398C32.585 63.7398 32.7288 63.8206 32.7288 63.9193C32.7288 64.0181 32.8903 64.0988 33.0878 64.0988C33.2853 64.0988 33.4468 64.1796 33.4468 64.2783C33.4468 64.3771 33.6084 64.4579 33.8058 64.4579C34.0033 64.4579 34.1649 64.5386 34.1649 64.6374C34.1649 64.7361 34.3264 64.8169 34.5239 64.8169C34.7214 64.8169 34.8829 64.8977 34.8829 64.9964C34.8829 65.0951 35.1253 65.1759 35.4215 65.1759C35.7177 65.1759 35.96 65.2567 35.96 65.3554C35.96 65.4542 36.1216 65.5349 36.319 65.5349C36.5165 65.5349 36.678 65.6157 36.678 65.7144C36.678 65.8132 36.9204 65.894 37.2166 65.894C37.5128 65.894 37.7551 65.9747 37.7551 66.0735C37.7551 66.1722 38.0782 66.253 38.4732 66.253C38.8681 66.253 39.1912 66.3338 39.1912 66.4325C39.1912 66.5312 39.5143 66.612 39.9093 66.612C40.3042 66.612 40.6273 66.6928 40.6273 66.7915C40.6273 66.8903 40.8697 66.971 41.1659 66.971H41.7044V69.8432C41.7044 71.6384 41.7717 72.7154 41.8839 72.7154C41.9904 72.7154 42.0634 73.3737 42.0634 74.331C42.0634 75.2884 42.1365 75.9467 42.2429 75.9467C42.3417 75.9467 42.4225 76.3506 42.4225 76.8442C42.4225 77.3379 42.5032 77.7418 42.602 77.7418C42.7007 77.7418 42.7815 78.0649 42.7815 78.4598C42.7815 78.8548 42.8623 79.1779 42.961 79.1779C43.0597 79.1779 43.1405 79.4202 43.1405 79.7164C43.1405 80.0126 43.2213 80.255 43.32 80.255C43.4187 80.255 43.4995 80.4973 43.4995 80.7935C43.4995 81.0897 43.5803 81.332 43.679 81.332C43.7778 81.332 43.8586 81.4936 43.8586 81.6911C43.8586 81.8885 43.9393 82.0501 44.0381 82.0501C44.1368 82.0501 44.2176 82.2117 44.2176 82.4091C44.2176 82.6066 44.2984 82.7681 44.3971 82.7681C44.4958 82.7681 44.5766 82.9297 44.5766 83.1272C44.5766 83.3246 44.6574 83.4862 44.7561 83.4862C44.8548 83.4862 44.9356 83.63 44.9356 83.8055C44.9356 83.9813 45.0972 84.2414 45.2947 84.3838C45.4921 84.5261 45.6537 84.7476 45.6537 84.876C45.6537 85.1803 47.5499 87.0764 47.8541 87.0764C47.9825 87.0764 48.204 87.238 48.3464 87.4355C48.4887 87.6329 48.7311 87.7945 48.8849 87.7945C49.0387 87.7945 49.2811 87.9561 49.4234 88.1535C49.5755 88.3643 49.8882 88.5125 50.1812 88.5125C50.4555 88.5125 50.68 88.5933 50.68 88.6921C50.68 88.7908 50.8416 88.8716 51.0391 88.8716C51.2365 88.8716 51.3981 88.9523 51.3981 89.0511C51.3981 89.1498 51.802 89.2306 52.2956 89.2306C52.7893 89.2306 53.1932 89.3114 53.1932 89.4101C53.1932 89.5189 53.971 89.5896 55.1678 89.5896C56.3647 89.5896 57.1425 89.5189 57.1425 89.4101C57.1425 89.3103 57.6212 89.2306 58.2196 89.2306C58.8179 89.2306 59.2966 89.1509 59.2966 89.0511C59.2966 88.9523 59.539 88.8716 59.8352 88.8716C60.1314 88.8716 60.3737 88.7908 60.3737 88.6921C60.3737 88.5933 60.6161 88.5125 60.9122 88.5125C61.2084 88.5125 61.4508 88.4318 61.4508 88.333C61.4508 88.2343 61.6931 88.1535 61.9893 88.1535C62.2855 88.1535 62.5279 88.0727 62.5279 87.974C62.5279 87.8753 62.6894 87.7945 62.8869 87.7945C63.0844 87.7945 63.2459 87.7137 63.2459 87.615C63.2459 87.5163 63.4883 87.4355 63.7844 87.4355C64.0806 87.4355 64.323 87.3547 64.323 87.256C64.323 87.1572 64.4846 87.0764 64.682 87.0764C64.8795 87.0764 65.041 86.9957 65.041 86.8969C65.041 86.7982 65.2026 86.7174 65.4001 86.7174C65.5975 86.7174 65.7591 86.6366 65.7591 86.5379C65.7591 86.4392 65.9206 86.3584 66.1181 86.3584C66.3156 86.3584 66.4771 86.2776 66.4771 86.1789C66.4771 86.0801 66.6209 85.9994 66.7965 85.9994C66.9722 85.9994 67.2323 85.8378 67.3747 85.6403C67.5171 85.4429 67.7772 85.2813 67.9529 85.2813C68.1285 85.2813 68.2723 85.2005 68.2723 85.1018C68.2723 85.0031 68.4338 84.9223 68.6313 84.9223C68.8288 84.9223 68.9903 84.8415 68.9903 84.7428C68.9903 84.6441 69.1341 84.5633 69.3097 84.5633C69.4854 84.5633 69.7455 84.4017 69.8879 84.2042C70.0302 84.0068 70.2726 83.8452 70.4264 83.8452C70.5803 83.8452 70.8226 83.6837 70.965 83.4862C71.1073 83.2887 71.3496 83.1272 71.5035 83.1272C71.6573 83.1272 71.8997 82.9656 72.042 82.7681C72.1844 82.5707 72.4122 82.4091 72.5483 82.4091C72.6841 82.4091 73.022 82.1668 73.2986 81.8706C73.5752 81.5744 73.8968 81.332 74.0131 81.332C74.1292 81.332 74.5347 81.0089 74.9142 80.614C75.2937 80.2191 75.6921 79.8959 75.7994 79.8959C76.0531 79.8959 80.4791 75.4722 80.4791 75.2187C80.4791 75.1127 80.883 74.6324 81.3767 74.1515C81.8703 73.6706 82.2742 73.1832 82.2742 73.0684C82.2742 72.9535 82.5166 72.633 82.8128 72.3564C83.109 72.0798 83.3513 71.7419 83.3513 71.606C83.3513 71.47 83.5129 71.2422 83.7103 71.0998C83.9078 70.9575 84.0694 70.7151 84.0694 70.5613C84.0694 70.4074 84.2309 70.1651 84.4284 70.0228C84.6259 69.8804 84.7874 69.6203 84.7874 69.4445C84.7874 69.269 84.8682 69.1252 84.9669 69.1252C85.0657 69.1252 85.1464 68.9814 85.1464 68.8058C85.1464 68.6301 85.308 68.37 85.5055 68.2276C85.7029 68.0853 85.8645 67.8251 85.8645 67.6494C85.8645 67.4738 85.9453 67.3301 86.044 67.3301C86.1427 67.3301 86.2235 67.1685 86.2235 66.971C86.2235 66.7736 86.3043 66.612 86.403 66.612C86.5018 66.612 86.5826 66.4504 86.5826 66.253C86.5826 66.0555 86.6633 65.894 86.7621 65.894C86.8608 65.894 86.9416 65.7324 86.9416 65.5349C86.9416 65.3375 87.0224 65.1759 87.1211 65.1759C87.2198 65.1759 87.3006 65.0143 87.3006 64.8169C87.3006 64.6194 87.3814 64.4579 87.4801 64.4579C87.5788 64.4579 87.6596 64.2155 87.6596 63.9193C87.6596 63.6231 87.7404 63.3808 87.8391 63.3808C87.9379 63.3808 88.0186 63.2192 88.0186 63.0218C88.0186 62.8243 88.0994 62.6627 88.1982 62.6627C88.2969 62.6627 88.3777 62.4204 88.3777 62.1242C88.3777 61.828 88.4585 61.5857 88.5572 61.5857C88.6559 61.5857 88.7367 61.4241 88.7367 61.2266C88.7367 61.0292 88.8175 60.8676 88.9162 60.8676C89.0149 60.8676 89.0957 60.6253 89.0957 60.3291C89.0957 60.0329 89.1765 59.7905 89.2752 59.7905C89.374 59.7905 89.4548 59.4674 89.4548 59.0725C89.4548 58.6776 89.5355 58.3544 89.6343 58.3544C89.733 58.3544 89.8138 58.1121 89.8138 57.8159C89.8138 57.5197 89.8946 57.2774 89.9933 57.2774C90.092 57.2774 90.1728 56.9542 90.1728 56.5593C90.1728 56.1644 90.2536 55.8413 90.3523 55.8413C90.451 55.8413 90.5318 55.4374 90.5318 54.9437C90.5318 54.45 90.6126 54.0461 90.7113 54.0461C90.8138 54.0461 90.8908 53.5076 90.8908 52.7895C90.8908 52.0715 90.9679 51.533 91.0704 51.533C91.1861 51.533 91.2499 49.5583 91.2499 45.9681C91.2499 42.3778 91.1861 40.4032 91.0704 40.4032C90.9679 40.4032 90.8908 39.8646 90.8908 39.1466C90.8908 38.4285 90.8138 37.89 90.7113 37.89C90.6126 37.89 90.5318 37.4861 90.5318 36.9924C90.5318 36.4988 90.451 36.0949 90.3523 36.0949C90.2536 36.0949 90.1728 35.7717 90.1728 35.3768C90.1728 34.9819 90.092 34.6588 89.9933 34.6588C89.8946 34.6588 89.8138 34.3356 89.8138 33.9407C89.8138 33.5458 89.733 33.2227 89.6343 33.2227C89.5355 33.2227 89.4548 32.9803 89.4548 32.6841C89.4548 32.3879 89.374 32.1456 89.2752 32.1456C89.1765 32.1456 89.0957 31.9032 89.0957 31.6071C89.0957 31.3109 89.0149 31.0685 88.9162 31.0685C88.8175 31.0685 88.7367 30.907 88.7367 30.7095C88.7367 30.512 88.6559 30.3505 88.5572 30.3505C88.4585 30.3505 88.3777 30.1081 88.3777 29.8119C88.3777 29.5157 88.2969 29.2734 88.1982 29.2734C88.0994 29.2734 88.0186 29.1118 88.0186 28.9144C88.0186 28.7169 87.9379 28.5553 87.8391 28.5553C87.7404 28.5553 87.6596 28.313 87.6596 28.0168C87.6596 27.7206 87.5788 27.4783 87.4801 27.4783C87.3814 27.4783 87.3006 27.3167 87.3006 27.1192C87.3006 26.9218 87.2198 26.7602 87.1211 26.7602C87.0224 26.7602 86.9416 26.5987 86.9416 26.4012C86.9416 26.2037 86.8608 26.0422 86.7621 26.0422C86.6633 26.0422 86.5826 25.8806 86.5826 25.6831C86.5826 25.4857 86.5018 25.3241 86.403 25.3241C86.3043 25.3241 86.2235 25.1803 86.2235 25.0048C86.2235 24.829 86.062 24.5689 85.8645 24.4265C85.667 24.2842 85.5055 24.0241 85.5055 23.8483C85.5055 23.6728 85.4247 23.529 85.326 23.529C85.2272 23.529 85.1464 23.3674 85.1464 23.17C85.1464 22.9725 85.0657 22.8109 84.9669 22.8109C84.8682 22.8109 84.7874 22.6671 84.7874 22.4916C84.7874 22.3158 84.6259 22.0557 84.4284 21.9134C84.2309 21.771 84.0694 21.5432 84.0694 21.4071C84.0694 21.2713 83.827 20.9334 83.5308 20.6568C83.2346 20.3802 82.9923 20.0423 82.9923 19.9064C82.9923 19.7704 82.8307 19.5426 82.6333 19.4002C82.4358 19.2578 82.2742 19.0329 82.2742 18.9001C82.2742 18.7674 81.8703 18.2655 81.3767 17.7846C80.883 17.3037 80.4791 16.8235 80.4791 16.7174C80.4791 16.4639 76.0531 12.0402 75.7994 12.0402C75.6921 12.0402 75.2937 11.7171 74.9142 11.3221C74.5347 10.9272 74.1292 10.6041 74.0131 10.6041C73.8968 10.6041 73.5752 10.3617 73.2986 10.0655C73.022 9.76935 72.6989 9.527 72.5806 9.527C72.4623 9.527 72.1391 9.28466 71.8625 8.98847C71.5859 8.69227 71.2303 8.44993 71.0725 8.44993C70.9145 8.44993 70.7854 8.36915 70.7854 8.27042C70.7854 8.17168 70.6417 8.0909 70.4661 8.0909C70.2903 8.0909 70.0302 7.92934 69.8879 7.73188C69.7455 7.53441 69.4854 7.37285 69.3097 7.37285C69.1341 7.37285 68.9903 7.29207 68.9903 7.19334C68.9903 7.09461 68.8465 7.01383 68.671 7.01383C68.4952 7.01383 68.2351 6.85227 68.0928 6.6548C67.9504 6.45734 67.6903 6.29578 67.5145 6.29578C67.339 6.29578 67.1952 6.215 67.1952 6.11627C67.1952 6.01753 67.0336 5.93675 66.8362 5.93675C66.6387 5.93675 66.4771 5.85597 66.4771 5.75724C66.4771 5.65851 66.3156 5.57773 66.1181 5.57773C65.9206 5.57773 65.7591 5.49695 65.7591 5.39822C65.7591 5.29948 65.5167 5.2187 65.2206 5.2187C64.9244 5.2187 64.682 5.13792 64.682 5.03919C64.682 4.94046 64.5205 4.85968 64.323 4.85968C64.1255 4.85968 63.964 4.7789 63.964 4.68016C63.964 4.58143 63.8024 4.50065 63.6049 4.50065C63.4075 4.50065 63.2459 4.41987 63.2459 4.32114C63.2459 4.22241 63.0036 4.14163 62.7074 4.14163C62.4112 4.14163 62.1688 4.06085 62.1688 3.96211C62.1688 3.86338 62.0073 3.7826 61.8098 3.7826C61.6123 3.7826 61.4508 3.70182 61.4508 3.60309C61.4508 3.50436 61.2084 3.42358 60.9122 3.42358C60.6161 3.42358 60.3737 3.3428 60.3737 3.24406C60.3737 3.14533 60.1314 3.06455 59.8352 3.06455C59.539 3.06455 59.2966 2.98377 59.2966 2.88504C59.2966 2.78631 58.9735 2.70553 58.5786 2.70553C58.1837 2.70553 57.8605 2.62475 57.8605 2.52601C57.8605 2.42728 57.5374 2.3465 57.1425 2.3465C56.7476 2.3465 56.4244 2.26572 56.4244 2.16699C56.4244 2.06826 56.1013 1.98748 55.7064 1.98748C55.3115 1.98748 54.9883 1.9067 54.9883 1.80796C54.9883 1.70815 54.5096 1.62845 53.9113 1.62845C53.3129 1.62845 52.8342 1.54875 52.8342 1.44894C52.8342 1.34123 52.1161 1.26943 51.0391 1.26943C49.962 1.26943 49.2439 1.19762 49.2439 1.08991C49.2439 0.976461 47.9873 0.9104 45.8332 0.9104C43.679 0.9104 42.4225 0.976461 42.4225 1.08991Z\",\n stroke: \"#0f85ca\",\n strokeWidth: 5,\n mask: \"url(#path-1-inside-1_3_4600)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEquipamentIconOutline);\nexport default __webpack_public_path__ + \"static/media/equipamentIconOutline.c236e4d9.svg\";\nexport { ForwardRef as ReactComponent };","export function getLast24Hours() {\r\n const now = new Date()\r\n const yesterday = new Date(now.getTime() - (24 * 60 * 60 * 1000))\r\n\r\n const last24Hours = {\r\n start: yesterday.toISOString().split('T')[0],\r\n end: now.toISOString().split('T')[0]\r\n }\r\n return last24Hours\r\n}\r\n\r\nexport function getLast24HoursWithParams(dateFormated) {\r\n const now = new Date(dateFormated)\r\n const yesterday = new Date(now.getTime() - (24 * 60 * 60 * 1000))\r\n\r\n const last24Hours = {\r\n start: now.toISOString().split('T')[0],\r\n end: yesterday.toISOString().split('T')[0]\r\n }\r\n return last24Hours\r\n}\r\n\r\nexport function getTomorrow(dateFormated) {\r\n const now = new Date(dateFormated)\r\n const tomorrow = new Date(now.getTime() + (24 * 60 * 60 * 1000))\r\n\r\n const tomorrowDate = {\r\n start: now.toISOString().split('T')[0],\r\n end: tomorrow.toISOString().split('T')[0]\r\n }\r\n return tomorrowDate\r\n}","import api from \"./api\";\r\n\r\nexport function getReportEquipmentForHoursAPI(id:number | string, startTime:string, endTime:string) {\r\n return api.get(`/api/report/equipment/${id}/hours/${startTime}/${endTime}`);\r\n}\r\n\r\nexport function getReportEquipmentForDaysAPI(id:number | string, startTime:string, endTime:string) {\r\n return api.get(`/api/report/equipment/${id}/days/${startTime}/${endTime}`);\r\n}\r\n\r\nexport function getReportSmartMeterForHoursAPI(id:number | string, startTime:string, endTime:string) {\r\n return api.get(`/api/report/smartMeter/${id}/hours/${startTime}/${endTime}`);\r\n}\r\n\r\nexport function getReportSmartMeterForDaysAPI(id:number | string, startTime:string, endTime:string) {\r\n return api.get(`/api/report/smartMeter/${id}/days/${startTime}/${endTime}`);\r\n}\r\n\r\nexport function getReportConsumerUnitForHoursAPI(id:number | string, startTime:string, endTime:string) {\r\n return api.get(`/api/report/consumerUnit/${id}/hours/${startTime}/${endTime}`);\r\n}\r\n\r\nexport function getReportModbusDataAPI(macid: string, startTime: string, endTime: string, column: string) { \r\n return api.get(`/api/report/moddata/${macid}/${startTime}/${endTime}/${column}`);\r\n}\r\n\r\nexport function getReportKhompDataAPI(macid: string, startTime: string, endTime: string, type: string) { \r\n return api.get(`/api/report/kdata/${macid}/${startTime}/${endTime}/${type}`);\r\n}","import React, { createContext, ReactNode, useContext, useState } from \"react\"\r\nimport { getReportConsumerUnitForHoursAPI, getReportEquipmentForDaysAPI, getReportEquipmentForHoursAPI, getReportSmartMeterForDaysAPI, getReportSmartMeterForHoursAPI } from \"../services/restApiReport\"\r\n\r\ntype PropsReportContext = {\r\n reportEquipmentForHoursList: any,\r\n reportEquipmentForDaysList: any,\r\n reportSmartMeterForHoursList: any,\r\n reportSmartMeterForDaysList: any,\r\n reportConsumerUnitForHoursList: {},\r\n reportConsumerUnitForHoursPie: {},\r\n reportConsumerUnitForHoursArea: {},\r\n \r\n loadingChartBar: boolean,\r\n loadingChartPie: boolean,\r\n loadingChart: boolean,\r\n setLoadingChartBar: React.Dispatch>,\r\n getReportEquipmentForHours: (id: string | number, startDate: string, endDate: string) => Promise,\r\n getReportEquipmentForDays: (id: string | number, startDate: string, endDate: string) => Promise,\r\n getReportSmartMeterForHours: (id: string | number, startDate: string, endDate: string) => Promise,\r\n getReportSmartMeterForDays: (id: string | number, startDate: string, endDate: string) => Promise,\r\n getReportConsumerUnitForHours: (id: string | number, startDate: string, endDate: string, typeChart: string) => Promise,\r\n}\r\n\r\ntype MeterContextTypes = {\r\n children: ReactNode\r\n}\r\n\r\nexport const ReportContext = createContext({} as PropsReportContext)\r\n\r\nfunction ReportContextProvider(props: MeterContextTypes) {\r\n const [reportEquipmentForHoursList, setReportEquipmentForHoursList] = useState()\r\n const [reportEquipmentForDaysList, setReportEquipmentForDaysList] = useState()\r\n const [reportSmartMeterForHoursList, setReportSmartMeterForHoursList] = useState()\r\n const [reportSmartMeterForDaysList, setReportSmartMeterForDaysList] = useState()\r\n const [reportConsumerUnitForHoursList, setReportConsumerUnitForHoursList] = useState({})\r\n const [reportConsumerUnitForHoursPie, setReportConsumerUnitForHoursPie] = useState({})\r\n const [reportConsumerUnitForHoursArea, setReportConsumerUnitForHoursArea] = useState({})\r\n \r\n const [loadingChartBar, setLoadingChartBar] = useState(true)\r\n const [loadingChartPie, setLoadingChartPie] = useState(true)\r\n const [loadingChart, setLoadingChart] = useState(true)\r\n\r\n const getReportEquipmentForHours = async (id: string | number, startDate: string, endDate: string) => {\r\n setLoadingChartBar(true);\r\n try {\r\n const { data, status } = await getReportEquipmentForHoursAPI(id, startDate, endDate);\r\n if (status === 200) {\r\n console.log('Updating reportEquipmentForHoursList', data); // Log the new data\r\n setReportEquipmentForHoursList(data);\r\n } else {\r\n console.error(`getReportEquipmentForHours failed with status ${status}`);\r\n setReportEquipmentForHoursList(null);\r\n }\r\n } catch (error) {\r\n console.error('getReportEquipmentForHours API call failed:', error);\r\n setReportEquipmentForHoursList(null);\r\n } finally {\r\n setLoadingChartBar(false);\r\n }\r\n};\r\n\r\n\r\n const getReportEquipmentForDays = async (id: string | number, startDate: string, endDate: string) => {\r\n\r\n const { data, status } = await getReportEquipmentForDaysAPI(id, startDate, endDate)\r\n if (status === 200) {\r\n setReportEquipmentForDaysList(data)\r\n } else {\r\n setReportEquipmentForDaysList(null)\r\n }\r\n }\r\n\r\n const getReportSmartMeterForHours = async (id: string | number, startDate: string, endDate: string) => {\r\n\r\n const { data, status } = await getReportSmartMeterForHoursAPI(id, startDate, endDate)\r\n if (status === 200) {\r\n setReportSmartMeterForHoursList(data)\r\n } else {\r\n setReportSmartMeterForHoursList(null)\r\n }\r\n }\r\n\r\n const getReportSmartMeterForDays = async (id: string | number, startDate: string, endDate: string) => {\r\n\r\n const { data, status } = await getReportSmartMeterForDaysAPI(id, startDate, endDate)\r\n if (status === 200) {\r\n setReportSmartMeterForDaysList(data)\r\n } else {\r\n setReportSmartMeterForDaysList(null)\r\n }\r\n }\r\n\r\n const getReportConsumerUnitForHours = async (id: string | number, startDate: string, endDate: string, typeChart: string) => {\r\n typeChart === \"pie\" ? setLoadingChartPie(true) : setLoadingChart(true)\r\n\r\n const { data, status } = await getReportConsumerUnitForHoursAPI(id, startDate, endDate)\r\n if (status === 200) {\r\n if (typeChart === \"pie\") {\r\n setLoadingChartPie(false)\r\n setReportConsumerUnitForHoursPie(data)\r\n }\r\n if (typeChart === \"area\") {\r\n setLoadingChart(false)\r\n setReportConsumerUnitForHoursArea(data)\r\n }\r\n setLoadingChart(false)\r\n setReportConsumerUnitForHoursList(data)\r\n \r\n setLoadingChart(false)\r\n setReportConsumerUnitForHoursList(data)\r\n } else {\r\n setLoadingChart(false)\r\n setReportConsumerUnitForHoursList(data)\r\n }\r\n }\r\n\r\n const objProvider = {\r\n loadingChartBar,\r\n loadingChartPie,\r\n loadingChart,\r\n setLoadingChartBar,\r\n reportEquipmentForHoursList,\r\n reportEquipmentForDaysList,\r\n reportSmartMeterForHoursList,\r\n reportSmartMeterForDaysList,\r\n reportConsumerUnitForHoursList,\r\n reportConsumerUnitForHoursPie,\r\n reportConsumerUnitForHoursArea,\r\n \r\n getReportEquipmentForHours,\r\n getReportEquipmentForDays,\r\n getReportSmartMeterForHours,\r\n getReportSmartMeterForDays,\r\n getReportConsumerUnitForHours,\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nfunction useReportContext() {\r\n const context = useContext(ReportContext)\r\n return context\r\n}\r\n\r\nexport {\r\n ReportContextProvider,\r\n useReportContext\r\n}\r\n","import { assign } from \"lodash\";\r\n\r\n// *\r\n// * Colors\r\n// *\r\n\r\nconst colors = [\r\n \"#6CB4EE\",\r\n \"#0066b2\",\r\n \"#edab27\",\r\n \"#34A65F\"];\r\n\r\n\r\n// const colors = [\r\n// \"#1E90FF\",\r\n// \"#4169E1\",\r\n// \"#191970\",\r\n// \"#000080\",\r\n// \"#0000CD\",\r\n// \"#00BFFF\",\r\n// \"#6495ED\",\r\n// \"#4682B4\",\r\n// \"#B0C4DE\",\r\n// \"#00CED1\",\r\n// \"#40E0D0\",\r\n// \"#48D1CC\",\r\n// \"#20B2AA\",\r\n// \"#008B8B\",\r\n// \"#008080\",\r\n// \"#7FFFD4\",\r\n// \"#66CDAA\",\r\n// \"#5F9EA0\",\r\n// ];\r\n\r\nconst charcoal = \"#1E90FF\";\r\nconst grey = \"#666\";\r\n// *\r\n// * Typography\r\n// *\r\nconst sansSerif = \"'Gill Sans', 'Seravek', 'Trebuchet MS', sans-serif\";\r\nconst letterSpacing = \"normal\";\r\nconst fontSize = 20;\r\n// *\r\n// * Layout\r\n// *\r\nconst baseProps = {\r\n width: 1550,\r\n height: 400,\r\n padding: 90,\r\n colorScale: colors\r\n \r\n\r\n};\r\n// *\r\n// * Labels\r\n// *\r\nconst baseLabelStyles = {\r\n fontFamily: sansSerif,\r\n fontSize,\r\n letterSpacing,\r\n padding: 10,\r\n fill: grey,\r\n stroke: \"transparent\"\r\n};\r\n\r\nconst centeredLabelStyles = assign({ textAnchor: \"middle\" }, baseLabelStyles);\r\n// *\r\n// * Strokes\r\n// *\r\nconst strokeLinecap = \"round\";\r\nconst strokeLinejoin = \"round\";\r\n\r\nexport default {\r\n area: assign(\r\n {\r\n style: {\r\n data: {\r\n fill: charcoal\r\n },\r\n labels: baseLabelStyles\r\n }\r\n },\r\n baseProps\r\n ),\r\n axis: assign(\r\n {\r\n style: {\r\n axis: {\r\n fill: \"transparent\",\r\n stroke: grey,\r\n strokeWidth: 1,\r\n strokeLinecap,\r\n strokeLinejoin\r\n },\r\n axisLabel: assign({}, centeredLabelStyles, {\r\n padding: 25\r\n }),\r\n grid: {\r\n fill: \"none\",\r\n stroke: \"none\",\r\n pointerEvents: \"painted\"\r\n },\r\n ticks: {\r\n fill: \"transparent\",\r\n size: 1,\r\n stroke: \"transparent\"\r\n },\r\n tickLabels: baseLabelStyles\r\n }\r\n },\r\n baseProps\r\n ),\r\n bar: assign(\r\n {\r\n style: {\r\n data: {\r\n fill: charcoal,\r\n padding: 8,\r\n strokeWidth: 0\r\n },\r\n labels: baseLabelStyles,\r\n colorScale: colors,\r\n },\r\n },\r\n baseProps\r\n ),\r\n boxplot: assign(\r\n {\r\n style: {\r\n max: { padding: 8, stroke: charcoal, strokeWidth: 1 },\r\n maxLabels: assign({}, baseLabelStyles, { padding: 3 }),\r\n median: { padding: 8, stroke: charcoal, strokeWidth: 1 },\r\n medianLabels: assign({}, baseLabelStyles, { padding: 3 }),\r\n min: { padding: 8, stroke: charcoal, strokeWidth: 1 },\r\n minLabels: assign({}, baseLabelStyles, { padding: 3 }),\r\n q1: { padding: 8, fill: grey },\r\n q1Labels: assign({}, baseLabelStyles, { padding: 3 }),\r\n q3: { padding: 8, fill: grey },\r\n q3Labels: assign({}, baseLabelStyles, { padding: 3 })\r\n },\r\n boxWidth: 20\r\n },\r\n baseProps\r\n ),\r\n candlestick: assign(\r\n {\r\n style: {\r\n data: {\r\n stroke: charcoal,\r\n strokeWidth: 1\r\n },\r\n labels: assign({}, baseLabelStyles, { padding: 5 })\r\n },\r\n candleColors: {\r\n positive: \"#ffffff\",\r\n negative: charcoal\r\n }\r\n },\r\n baseProps\r\n ),\r\n chart: baseProps,\r\n errorbar: assign(\r\n {\r\n borderWidth: 8,\r\n style: {\r\n data: {\r\n fill: \"transparent\",\r\n stroke: charcoal,\r\n strokeWidth: 2\r\n },\r\n labels: baseLabelStyles\r\n }\r\n },\r\n baseProps\r\n ),\r\n group: assign(\r\n {\r\n colorScale: colors\r\n },\r\n baseProps\r\n ),\r\n histogram: assign(\r\n {\r\n style: {\r\n data: {\r\n fill: grey,\r\n stroke: charcoal,\r\n strokeWidth: 2\r\n },\r\n labels: baseLabelStyles\r\n }\r\n },\r\n baseProps\r\n ),\r\n legend: {\r\n colorScale: colors,\r\n gutter: 10,\r\n orientation: \"vertical\",\r\n titleOrientation: \"top\",\r\n style: {\r\n data: {\r\n type: \"circle\"\r\n },\r\n labels: baseLabelStyles,\r\n title: assign({}, baseLabelStyles, { padding: 5 })\r\n }\r\n },\r\n line: assign(\r\n {\r\n style: {\r\n data: {\r\n fill: \"transparent\",\r\n stroke: charcoal,\r\n strokeWidth: 2\r\n },\r\n labels: baseLabelStyles\r\n }\r\n },\r\n baseProps\r\n ),\r\n pie: {\r\n colorScale: colors,\r\n },\r\n scatter: assign(\r\n {\r\n style: {\r\n data: {\r\n fill: charcoal,\r\n stroke: \"transparent\",\r\n strokeWidth: 0\r\n },\r\n labels: baseLabelStyles\r\n }\r\n },\r\n baseProps\r\n ),\r\n stack: assign(\r\n {\r\n colorScale: colors\r\n },\r\n baseProps\r\n ),\r\n tooltip: {\r\n style: assign({}, baseLabelStyles, { padding: 0, pointerEvents: \"none\" }),\r\n flyoutStyle: {\r\n stroke: charcoal,\r\n strokeWidth: 1,\r\n fill: \"#f0f0f0\",\r\n pointerEvents: \"none\"\r\n },\r\n colorScale: colors,\r\n flyoutPadding: 5,\r\n cornerRadius: 5,\r\n pointerLength: 10\r\n },\r\n voronoi: assign(\r\n {\r\n style: {\r\n data: {\r\n fill: \"transparent\",\r\n stroke: \"transparent\",\r\n strokeWidth: 0\r\n },\r\n labels: assign({}, baseLabelStyles, {\r\n padding: 5,\r\n pointerEvents: \"none\"\r\n }),\r\n flyout: {\r\n stroke: charcoal,\r\n strokeWidth: 1,\r\n fill: \"#f0f0f0\",\r\n pointerEvents: \"none\"\r\n }\r\n }\r\n },\r\n baseProps\r\n )\r\n}","function getWindowSize() {\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n };\r\n}\r\n\r\nfunction tooltipPosition() {\r\n let tooltip = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n tooltip = 225;\r\n } else if (getWindowSize().width <= 1280) {\r\n tooltip = 225;\r\n } else if (getWindowSize().width <= 1440) {\r\n tooltip = 250;\r\n } else if (getWindowSize().width <= 1920) {\r\n tooltip = 250;\r\n } else if (getWindowSize().width > 1920) {\r\ntooltip = 250;\r\n }\r\n\r\n return tooltip;\r\n}\r\n\r\nfunction tooltipPositionY() {\r\n let tooltip = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n tooltip = 350;\r\n } else if (getWindowSize().width <= 1280) {\r\n tooltip = 350;\r\n } else if (getWindowSize().width <= 1440) {\r\n tooltip = 350;\r\n } else if (getWindowSize().width <= 1920) {\r\n tooltip = 350;\r\n } else if (getWindowSize().width > 1920) {\r\ntooltip = 360;\r\n }\r\n return tooltip;\r\n}\r\n\r\nfunction responsiveWidthPieChart() {\r\n let widthSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n widthSize = 450;\r\n } else if (getWindowSize().width <= 1280) {\r\n widthSize = 450;\r\n } else if (getWindowSize().width <= 1440) {\r\n widthSize = 500;\r\n } else if (getWindowSize().width <= 1920) {\r\n widthSize = 500;\r\n } else if (getWindowSize().width > 1920) {\r\n widthSize = 500;\r\n }\r\n\r\n return widthSize;\r\n}\r\n\r\nfunction responsiveHeightPieChart() {\r\n let heightSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n heightSize = 400;\r\n } else if (getWindowSize().width <= 1280) {\r\n heightSize = 400;\r\n } else if (getWindowSize().width <= 1440) {\r\n heightSize = 400;\r\n } else if (getWindowSize().width <= 1920) {\r\n heightSize = 400;\r\n } else if (getWindowSize().width > 1920) {\r\n heightSize = 420;\r\n }\r\n\r\n return heightSize;\r\n}\r\n\r\nfunction getPositionsPieChart() {\r\n let positionChart = \"\";\r\n\r\n if (getWindowSize().width <= 1024) {\r\n positionChart = \"0 0 450 650\";\r\n } else if (getWindowSize().width <= 1280) {\r\n positionChart = \"0 0 500 750\";\r\n } else if (getWindowSize().width <= 1440) {\r\n positionChart = \"0 0 500 800\";\r\n } else if (getWindowSize().width <= 1920) {\r\n positionChart = \"0 0 500 700\";\r\n } else if (getWindowSize().width > 1920) {\r\n positionChart = \"0 0 500 700\";\r\n }\r\n\r\n return positionChart;\r\n}\r\n\r\nfunction legendPieChartX() {\r\n let legendx = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n legendx = 10;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendx = 10;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendx = 10;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendx = 20;\r\n } else if (getWindowSize().width > 1920) {\r\n legendx = 45;\r\n }\r\n\r\n return legendx;\r\n}\r\n\r\nfunction legendPieChartY() {\r\n let legendy = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n legendy = 390;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendy = 370;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendy = 400;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendy = 420;\r\n } else if (getWindowSize().width > 1920) {\r\n legendy = 430;\r\n }\r\n\r\n return legendy;\r\n}\r\n\r\nfunction fontSizeLabelsPieChart() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 22;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 25;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 20;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\n/* AREA CHART -------------------------------------------- */\r\n\r\nfunction widthAreaChart() {\r\n let widthArea = 0;\r\n\r\n if (getWindowSize().width <= 445) {\r\n widthArea = 1500;\r\n } else if (getWindowSize().width <= 1024) {\r\n widthArea = 1200;\r\n } else if (getWindowSize().width <= 1280) {\r\n widthArea = 1200;\r\n } else if (getWindowSize().width <= 1440) {\r\n widthArea = 1350;\r\n } else if (getWindowSize().width <= 1920) {\r\n widthArea = 1400;\r\n } else if (getWindowSize().width > 1920) {\r\n widthArea = 1400;\r\n }\r\n\r\n return widthArea;\r\n}\r\n\r\nfunction heightAreaChart() {\r\n let heightArea = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n heightArea = 1050;\r\n } else if (getWindowSize().width <= 1280) {\r\n heightArea = 1100;\r\n } else if (getWindowSize().width <= 1440) {\r\n heightArea = 1200;\r\n } else if (getWindowSize().width <= 1920) {\r\n heightArea = 1450;\r\n } else if (getWindowSize().width > 1920) {\r\n heightArea = 1250;\r\n }\r\n\r\n return heightArea;\r\n}\r\n\r\nfunction paddingChart() {\r\n let padding = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n padding = 120;\r\n } else if (getWindowSize().width <= 1280) {\r\n padding = 140;\r\n } else if (getWindowSize().width <= 1440) {\r\n padding = 140;\r\n } else if (getWindowSize().width <= 1920) {\r\n padding = 140;\r\n }else if (getWindowSize().width > 1920) {\r\npadding = 140;\r\n }\r\n return padding ;\r\n}\r\n\r\nfunction bottomSizeAreaChart() {\r\n let bottomSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n bottomSize = 400;\r\n } else if (getWindowSize().width <= 1280) {\r\n bottomSize = 500;\r\n } else if (getWindowSize().width <= 1440) {\r\n bottomSize = 600;\r\n } else if (getWindowSize().width <= 1920) {\r\n bottomSize = 830;\r\n } else if (getWindowSize().width > 1920) {\r\n bottomSize = 730;\r\n }\r\n\r\n return bottomSize;\r\n}\r\n\r\nfunction topSizeAreaChart() {\r\n let topSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n topSize = 100;\r\n } else if (getWindowSize().width <= 1280) {\r\n topSize = 100;\r\n } else if (getWindowSize().width <= 1440) {\r\n topSize = 100;\r\n } else if (getWindowSize().width <= 1920) {\r\n topSize = 60;\r\n } else if (getWindowSize().width > 1920) {\r\n topSize = 120;\r\n }\r\n\r\n return topSize;\r\n}\r\n\r\nfunction legendAreaChartX() {\r\n let legendx = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n legendx = 80;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendx = 120;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendx = 120;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendx = 120;\r\n } else if (getWindowSize().width > 1920) {\r\n legendx = 120;\r\n }\r\n\r\n return legendx;\r\n}\r\n\r\nfunction legendAreaChartY() {\r\n let legendy = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n legendy = 770;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendy = 700;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendy = 750;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendy = 750;\r\n } else if (getWindowSize().width > 1920) {\r\n legendy = 630;\r\n }\r\n\r\n return legendy;\r\n}\r\n\r\nfunction fontSizeLabelsAreaChart() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 445) {\r\n fontSize = 60;\r\n } else if (getWindowSize().width <= 1024) {\r\n fontSize = 32;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 30;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 30;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 30;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 29;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\nfunction itemsPerRowAreaChart() {\r\n let items = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n items = 2;\r\n } else if (getWindowSize().width <= 1280) {\r\n items = 2;\r\n } else if (getWindowSize().width <= 1440) {\r\n items = 2;\r\n } else if (getWindowSize().width <= 1920) {\r\n items = 2;\r\n } else if (getWindowSize().width > 1920) {\r\n items = 2;\r\n }\r\n\r\n\r\n return items;\r\n}\r\n\r\nfunction tickFontSizeLabelsAreaChart() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 18;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 18;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\nfunction tooltipWidthAreaChart() {\r\n let flyoutWidth = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n flyoutWidth = 160;\r\n } else if (getWindowSize().width <= 1280) {\r\n flyoutWidth = 160;\r\n } else if (getWindowSize().width <= 1440) {\r\n flyoutWidth = 140;\r\n } else if (getWindowSize().width <= 1920) {\r\n flyoutWidth = 110;\r\n } else if (getWindowSize().width > 1920) {\r\n flyoutWidth = 110;\r\n }\r\n\r\n\r\n return flyoutWidth;\r\n}\r\n\r\nfunction tooltipHeigthAreaChart() {\r\n let flyoutHeight = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width <= 1280) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width <= 1440) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width <= 1920) {\r\n flyoutHeight = 40;\r\n } else if (getWindowSize().width > 1920) {\r\n flyoutHeight = 40;\r\n }\r\n\r\n\r\n return flyoutHeight ;\r\n}\r\n\r\nfunction tooltipFontSizeAreaChart() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize =20;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 20;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\n\r\n/* AREA CHART FULL SCREEN SOLO-------------------------------------------- */\r\n\r\nfunction widthAreaChartFulls() {\r\n let widthArea = 0;\r\n\r\n if (getWindowSize().width <= 445) {\r\n widthArea = 1800;\r\n } else if (getWindowSize().width <= 1024) {\r\n widthArea = 1800;\r\n } else if (getWindowSize().width <= 1280) {\r\n widthArea = 1900;\r\n } else if (getWindowSize().width <= 1440) {\r\n widthArea = 1750;\r\n } else if (getWindowSize().width <= 1920) {\r\n widthArea = 2250;\r\n } else if (getWindowSize().width > 1920) {\r\n widthArea = 2250;\r\n }\r\n\r\n return widthArea;\r\n}\r\n\r\n\r\n\r\nfunction heightAreaChartFulls() {\r\n let heightArea = 0;\r\n\r\n if (getWindowSize().width <= 445) {\r\n heightArea = 1400;\r\n } else if (getWindowSize().width <= 1024) {\r\n heightArea = 900;\r\n } else if (getWindowSize().width <= 1280) {\r\n heightArea = 900;\r\n } else if (getWindowSize().width <= 1440) {\r\n heightArea = 700;\r\n } else if (getWindowSize().width <= 1920) {\r\n heightArea = 800;\r\n } else if (getWindowSize().width > 1920) {\r\n heightArea = 800;\r\n }\r\n\r\n return heightArea;\r\n}\r\nfunction paddingChartFulls() {\r\n let padding = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n padding = 515;\r\n } else if (getWindowSize().width <= 1280) {\r\n padding = 515;\r\n } else if (getWindowSize().width <= 1440) {\r\n padding = 465;\r\n } else if (getWindowSize().width <= 1920) {\r\n padding = 615;\r\n } else if (getWindowSize().width > 1920) {\r\n padding = 615;\r\n }\r\n\r\n return padding ;\r\n}\r\n\r\n\r\nfunction bottomSizeAreaChartFulls() {\r\n let bottomSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n bottomSize = 500;\r\n } else if (getWindowSize().width <= 1280) {\r\n bottomSize = 400;\r\n } else if (getWindowSize().width <= 1440) {\r\n bottomSize = 400;\r\n } else if (getWindowSize().width <= 1920) {\r\n bottomSize = 430;\r\n } else if (getWindowSize().width > 1920) {\r\n bottomSize = 430;\r\n }\r\n\r\n return bottomSize;\r\n}\r\n\r\nfunction topSizeAreaChartFulls() {\r\n let topSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n topSize = 180;\r\n } else if (getWindowSize().width <= 1280) {\r\n topSize = 170;\r\n } else if (getWindowSize().width <= 1440) {\r\n topSize = 160;\r\n } else if (getWindowSize().width <= 1920) {\r\n topSize = 100;\r\n } else if (getWindowSize().width > 1920) {\r\n topSize = 100;\r\n }\r\n\r\n return topSize;\r\n}\r\n\r\nfunction legendAreaChartXFulls() {\r\n let legendx = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n legendx = 370;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendx = 350;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendx = 350;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendx = 450;\r\n } else if (getWindowSize().width > 1920) {\r\n legendx = 450;\r\n }\r\n\r\n return legendx;\r\n}\r\n\r\nfunction legendAreaChartYFulls() {\r\n let legendy = 0;\r\n\r\n if (getWindowSize().width <= 445) {\r\n legendy = 1090;\r\n } else if (getWindowSize().width <= 1024) {\r\n legendy = 480;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendy = 580;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendy = 410;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendy = 500;\r\n } else if (getWindowSize().width > 1920) {\r\n legendy = 500;\r\n }\r\n\r\n return legendy;\r\n}\r\n\r\nfunction fontSizeLabelsAreaChartFulls() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 445) {\r\n fontSize = 67;\r\n } else if (getWindowSize().width <= 1024) {\r\n fontSize = 35;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 35;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 27;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 35;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 35;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\n\r\nfunction itemsPerRowAreaChartFulls() {\r\n let items = 0;\r\n\r\n if (getWindowSize().width <= 445) {\r\n items = 2;\r\n } else if (getWindowSize().width <= 1024) {\r\n items = 2;\r\n } else if (getWindowSize().width <= 1280) {\r\n items = 3;\r\n } else if (getWindowSize().width <= 1440) {\r\n items = 3;\r\n } else if (getWindowSize().width <= 1920) {\r\n items = 3;\r\n } else if (getWindowSize().width > 1920) {\r\n items = 3;\r\n }\r\n\r\n\r\n return items;\r\n}\r\n\r\nfunction tickFontSizeLabelsAreaChartFulls() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 18;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 17;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 27;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 27;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\nfunction tooltipWidthAreaChartFulls() {\r\n let flyoutWidth = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n flyoutWidth = 240;\r\n } else if (getWindowSize().width <= 1280) {\r\n flyoutWidth = 240;\r\n } else if (getWindowSize().width <= 1440) {\r\n flyoutWidth = 240;\r\n } else if (getWindowSize().width <= 1920) {\r\n flyoutWidth = 240;\r\n } else if (getWindowSize().width > 1920) {\r\n flyoutWidth = 240;\r\n }\r\n\r\n\r\n return flyoutWidth;\r\n}\r\n\r\nfunction tooltipHeigthAreaChartFulls() {\r\n let flyoutHeight = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width <= 1280) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width <= 1440) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width <= 1920) {\r\n flyoutHeight = 70;\r\n } else if (getWindowSize().width > 1920) {\r\n flyoutHeight = 70;\r\n }\r\n\r\n\r\n return flyoutHeight ;\r\n}\r\n\r\nfunction tooltipFontSizeAreaChartFulls() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 25;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize =25;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 20;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\n/* AREA CHART FULL SCREEN COMPARAÇÂO-------------------------------------------- */\r\n\r\nfunction widthAreaChartFull() {\r\n let widthArea = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n widthArea = 2200;\r\n } else if (getWindowSize().width <= 1280) {\r\n widthArea = 2200;\r\n } else if (getWindowSize().width <= 1440) {\r\n widthArea = 1750;\r\n } else if (getWindowSize().width <= 1920) {\r\n widthArea = 2100;\r\n } else if (getWindowSize().width > 1920) {\r\n widthArea = 2100;\r\n }\r\n\r\n return widthArea;\r\n}\r\n\r\n\r\n\r\nfunction heightAreaChartFull() {\r\n let heightArea = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n heightArea = 490;\r\n } else if (getWindowSize().width <= 1280) {\r\n heightArea = 500;\r\n } else if (getWindowSize().width <= 1440) {\r\n heightArea =400;\r\n } else if (getWindowSize().width <= 1920) {\r\n heightArea = 480;\r\n } else if (getWindowSize().width > 1920) {\r\n heightArea = 480;\r\n }\r\n\r\n return heightArea;\r\n}\r\n\r\nfunction bottomSizeAreaChartFull() {\r\n let bottomSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n bottomSize = 150;\r\n } else if (getWindowSize().width <= 1280) {\r\n bottomSize = 170;\r\n } else if (getWindowSize().width <= 1440) {\r\n bottomSize = 140;\r\n } else if (getWindowSize().width <= 1920) {\r\n bottomSize = 140;\r\n } else if (getWindowSize().width > 1920) {\r\n bottomSize = 140;\r\n }\r\n\r\n return bottomSize;\r\n}\r\n\r\nfunction topSizeAreaChartFull() {\r\n let topSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n topSize = 80;\r\n } else if (getWindowSize().width <= 1280) {\r\n topSize = 70;\r\n } else if (getWindowSize().width <= 1440) {\r\n topSize = 60;\r\n } else if (getWindowSize().width <= 1920) {\r\n topSize = 80;\r\n } else if (getWindowSize().width > 1920) {\r\n topSize = 80;\r\n }\r\n\r\n return topSize;\r\n}\r\n\r\nfunction legendAreaChartXFull() {\r\n let legendx = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n legendx = 40;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendx = 40;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendx = 40;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendx = 40;\r\n } else if (getWindowSize().width > 1920) {\r\n legendx = 40;\r\n }\r\n\r\n return legendx;\r\n}\r\n\r\nfunction legendAreaChartYFull() {\r\n let legendy = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n legendy = 440;\r\n } else if (getWindowSize().width <= 1280) {\r\n legendy = 440;\r\n } else if (getWindowSize().width <= 1440) {\r\n legendy = 360;\r\n } else if (getWindowSize().width <= 1920) {\r\n legendy = 420;\r\n } else if (getWindowSize().width > 1920) {\r\n legendy = 420;\r\n }\r\n\r\n return legendy;\r\n}\r\n\r\n\r\nfunction fontSizeLabelsAreaChartFull() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 34;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 30;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 25;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 25;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 25;\r\n }\r\n\r\n return fontSize;\r\n}\r\nfunction tickFontSizeLabelsAreaChartFull() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 25;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 23;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 20;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 25;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 25;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\n\r\nfunction itemsPerRowAreaChartFull() {\r\n let items = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n items = 3;\r\n } else if (getWindowSize().width <= 1280) {\r\n items = 3;\r\n } else if (getWindowSize().width <= 1440) {\r\n items = 3;\r\n } else if (getWindowSize().width <= 1920) {\r\n items = 3;\r\n } else if (getWindowSize().width > 1920) {\r\n items = 3;\r\n }\r\n\r\n\r\n return items;\r\n}\r\n\r\n\r\nfunction tooltipWidthAreaChartFull() {\r\n let flyoutWidth = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n flyoutWidth = 250;\r\n } else if (getWindowSize().width <= 1280) {\r\n flyoutWidth = 250;\r\n } else if (getWindowSize().width <= 1440) {\r\n flyoutWidth = 220;\r\n } else if (getWindowSize().width <= 1920) {\r\n flyoutWidth = 250;\r\n } else if (getWindowSize().width > 1920) {\r\n flyoutWidth = 250;\r\n }\r\n\r\n\r\n return flyoutWidth;\r\n}\r\n\r\nfunction tooltipHeigthAreaChartFull() {\r\n let flyoutHeight = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width <= 1280) {\r\n flyoutHeight = 55;\r\n } else if (getWindowSize().width <= 1440) {\r\n flyoutHeight = 45;\r\n } else if (getWindowSize().width <= 1920) {\r\n flyoutHeight = 60;\r\n } else if (getWindowSize().width > 1920) {\r\n flyoutHeight = 60;\r\n }\r\n\r\n\r\n return flyoutHeight ;\r\n}\r\n\r\nfunction tooltipFontSizeAreaChartFull() {\r\n let fontSize = 0;\r\n\r\n if (getWindowSize().width <= 1024) {\r\n fontSize = 25;\r\n } else if (getWindowSize().width <= 1280) {\r\n fontSize = 24;\r\n } else if (getWindowSize().width <= 1440) {\r\n fontSize = 22;\r\n } else if (getWindowSize().width <= 1920) {\r\n fontSize = 22;\r\n } else if (getWindowSize().width > 1920) {\r\n fontSize = 22;\r\n }\r\n\r\n return fontSize;\r\n}\r\n\r\n\r\n\r\n//Bar Chart\r\n\r\nfunction widthBarChart() {\r\n let widthBar = 0;\r\n\r\n if (getWindowSize().width <= 500) {\r\n widthBar = 1500;\r\n } else if (getWindowSize().width <= 1024) {\r\n widthBar = 2600;\r\n } else if (getWindowSize().width <= 1280) {\r\n widthBar = 2400;\r\n } else if (getWindowSize().width <= 1440) {\r\n widthBar = 2600;\r\n } else if (getWindowSize().width <= 1920) {\r\n widthBar = 2100;\r\n } else if (getWindowSize().width > 1920) {\r\n widthBar = 2100;\r\n }\r\n\r\n return widthBar;\r\n}\r\n\r\nfunction heightBarChart() {\r\n let heightBar = 0;\r\n\r\n if (getWindowSize().width <= 500) {\r\n heightBar =1150;\r\n } else if (getWindowSize().width <= 1024) {\r\n heightBar = 700;\r\n } else if (getWindowSize().width <= 1280) {\r\n heightBar = 550;\r\n } else if (getWindowSize().width <= 1440) {\r\n heightBar = 550;\r\n } else if (getWindowSize().width <= 1920) {\r\n heightBar = 550;\r\n } else if (getWindowSize().width > 1920) {\r\n heightBar = 550;\r\n }\r\n\r\n return heightBar;\r\n}\r\n\r\nfunction paddingLeftBar() {\r\n let paddingLeft = 0;\r\n\r\n if (getWindowSize().width <= 500) {\r\n paddingLeft =220;\r\n } else if (getWindowSize().width <= 1024) {\r\n paddingLeft = 300;\r\n } else if (getWindowSize().width <= 1280) {\r\n paddingLeft = 350;\r\n } else if (getWindowSize().width <= 1440) {\r\n paddingLeft = 350;\r\n } else if (getWindowSize().width <= 1920) {\r\n paddingLeft = 250;\r\n } else if (getWindowSize().width > 1920) {\r\n paddingLeft = 250;\r\n }\r\n return paddingLeft;\r\n}\r\n\r\nfunction widthBarChartFull() {\r\n let widthBar = 0;\r\n\r\n if (getWindowSize().width <= 500) {\r\n widthBar = 1500;\r\n } else if (getWindowSize().width <= 1024) {\r\n widthBar = 2000;\r\n } else if (getWindowSize().width <= 1280) {\r\n widthBar = 2600;\r\n } else if (getWindowSize().width <= 1440) {\r\n widthBar = 2000;\r\n } else if (getWindowSize().width <= 1920) {\r\n widthBar = 2700;\r\n } else if (getWindowSize().width > 1920) {\r\n widthBar = 2700;\r\n }\r\n\r\n return widthBar;\r\n}\r\n\r\nfunction heightBarChartFull() {\r\n let heightBar = 0;\r\n\r\n if (getWindowSize().width <= 500) {\r\n heightBar =850;\r\n } else if (getWindowSize().width <= 1024) {\r\n heightBar = 1200;\r\n } else if (getWindowSize().width <= 1280) {\r\n heightBar = 1250;\r\n } else if (getWindowSize().width <= 1440) {\r\n heightBar = 850;\r\n } else if (getWindowSize().width <= 1920) {\r\n heightBar = 800;\r\n } else if (getWindowSize().width > 1920) {\r\nheightBar = 800;\r\n }\r\n return heightBar;\r\n}\r\n\r\n\r\nfunction paddingLeftBarFull() {\r\n let paddingLeft = 0;\r\n\r\n if (getWindowSize().width <= 500) {\r\n paddingLeft =400;\r\n } else if (getWindowSize().width <= 1024) {\r\n paddingLeft = 250;\r\n } else if (getWindowSize().width <= 1280) {\r\n paddingLeft = 250;\r\n }else if (getWindowSize().width <= 1440) {\r\n paddingLeft = 250;\r\n } else if (getWindowSize().width <= 1920) {\r\n paddingLeft = 200;\r\n } else if (getWindowSize().width > 1920) {\r\npaddingLeft = 200;\r\n }\r\n return paddingLeft;\r\n}\r\n\r\n\r\n\r\n\r\nexport {\r\n /* PIE CHART */\r\n responsiveHeightPieChart,\r\n responsiveWidthPieChart,\r\n getPositionsPieChart,\r\n legendPieChartX,\r\n legendPieChartY,\r\n fontSizeLabelsPieChart,\r\n tooltipPosition,\r\n tooltipPositionY,\r\n /* AREA CHART */\r\n fontSizeLabelsAreaChart,\r\n topSizeAreaChart,\r\n bottomSizeAreaChart,\r\n widthAreaChart,\r\n heightAreaChart,\r\n legendAreaChartX,\r\n legendAreaChartY,\r\n itemsPerRowAreaChart,\r\n tickFontSizeLabelsAreaChart,\r\n tooltipWidthAreaChart,\r\n tooltipHeigthAreaChart,\r\n tooltipFontSizeAreaChart,\r\n /* AREA CHART FS COMPAÇÃO*/\r\n paddingChart,\r\n widthAreaChartFull,\r\n heightAreaChartFull,\r\n bottomSizeAreaChartFull,\r\n topSizeAreaChartFull,\r\n legendAreaChartXFull,\r\n legendAreaChartYFull,\r\n fontSizeLabelsAreaChartFull,\r\n itemsPerRowAreaChartFull,\r\n tickFontSizeLabelsAreaChartFull,\r\n tooltipWidthAreaChartFull,\r\n tooltipHeigthAreaChartFull,\r\n tooltipFontSizeAreaChartFull,\r\n\r\n /* AREA CHART FS SOLO*/\r\n widthAreaChartFulls,\r\n paddingChartFulls,\r\n heightAreaChartFulls,\r\n bottomSizeAreaChartFulls,\r\n topSizeAreaChartFulls,\r\n legendAreaChartXFulls,\r\n legendAreaChartYFulls,\r\n fontSizeLabelsAreaChartFulls,\r\n itemsPerRowAreaChartFulls,\r\n tickFontSizeLabelsAreaChartFulls,\r\n tooltipWidthAreaChartFulls,\r\n tooltipHeigthAreaChartFulls,\r\n tooltipFontSizeAreaChartFulls,\r\n \r\n /* BAR CHART */\r\n widthBarChart,\r\n heightBarChart,\r\n paddingLeftBar,\r\n widthBarChartFull,\r\n heightBarChartFull,\r\n paddingLeftBarFull,\r\n};\r\n","import React, { useState, useMemo } from \"react\";\r\nimport {\r\n VictoryArea,\r\n VictoryAxis,\r\n VictoryChart,\r\n VictoryGroup,\r\n VictoryLegend,\r\n VictoryLine,\r\n VictoryStack,\r\n VictoryTooltip,\r\n VictoryVoronoiContainer,\r\n} from \"victory\";\r\n\r\nimport classNames from \"classnames\";\r\n\r\nimport useFormatDate from \"../../../util/hooks/useFormartDate\";\r\nimport styles from \"./styles.module.scss\";\r\nimport { ReactComponent as EquipamentIconOutline } from \"../../../assets/equipamentIconOutline.svg\";\r\nimport { useReportContext } from \"../../../providers/reportContext\";\r\nimport { useEffect } from \"react\";\r\nimport theme from \"../../../styles/victoryTheme\";\r\nimport {\r\n paddingChart,\r\n itemsPerRowAreaChart,\r\n topSizeAreaChart,\r\n widthAreaChart,\r\n heightAreaChart,\r\n legendAreaChartX,\r\n legendAreaChartY,\r\n bottomSizeAreaChart,\r\n fontSizeLabelsAreaChart,\r\n tickFontSizeLabelsAreaChart,\r\n tooltipWidthAreaChart,\r\n tooltipHeigthAreaChart,\r\n tooltipFontSizeAreaChart,\r\n\r\n paddingChartFulls,\r\n itemsPerRowAreaChartFulls,\r\n topSizeAreaChartFulls,\r\n widthAreaChartFulls,\r\n heightAreaChartFulls,\r\n legendAreaChartXFulls,\r\n legendAreaChartYFulls,\r\n bottomSizeAreaChartFulls,\r\n fontSizeLabelsAreaChartFulls,\r\n tickFontSizeLabelsAreaChartFulls,\r\n tooltipWidthAreaChartFulls,\r\n tooltipHeigthAreaChartFulls,\r\n tooltipFontSizeAreaChartFulls,\r\n\r\n} from \"../../../util/ResponsiveCharts/responsive\";\r\nimport { CircularProgress } from \"@mui/material\";\r\n\r\nexport default function AreaChart({ width, height, data, chartSizeType }) {\r\n const formartDate = useFormatDate();\r\n const { loadingChart } = useReportContext();\r\n const [areaChartData, setAreaChartData] = useState();\r\n \r\n const { equipmentConsumptions, totalConsumption } = data;\r\n const [paddingFull, setPaddingFull] = useState(0);\r\n const [tickFontSize, setTickFontSize] = useState(0);\r\n const [fontLabelsAreaChart, setFontLabelsAreaChart] = useState(0);\r\n const [topSize, setTopSize] = useState(0);\r\n const [bottomSize, setBottomSize] = useState(0);\r\n const [widthAreaChartX, setAreaChartX] = useState(0);\r\n const [heightAreaChartY, setAreaChartY] = useState(0);\r\n const [legendAreaCharttX, setLegendAreaChartX] = useState(0);\r\n const [legendAreaCharttY, setLegendAreaChartY] = useState(0);\r\n const [itemsPerRow, setItemsPerRow] = useState(0);\r\n const [tooltipWidth, setTooltipWidth] = useState(0);\r\n const [tooltipHeigth, setTooltipHeigth] = useState(0);\r\n const [tooltipFontSize, setTooltipFontSize] = useState(0);\r\n\r\n\r\n \r\n\r\n const sortedAreaChartData = useMemo(() => {\r\n if (!areaChartData) return [];\r\n\r\n return areaChartData.sort((a, b) => {\r\n const totalA = a.values.reduce((sum, curr) => sum + curr.consumption, 0);\r\n const totalB = b.values.reduce((sum, curr) => sum + curr.consumption, 0);\r\n return totalB - totalA;\r\n });\r\n}, [areaChartData]);\r\n\r\n const chartColors = [\r\n \"#0066b2\",\r\n \"#6CB4EE\",\r\n \"#edab27\",\r\n \"#34A65F\",\r\n \"#90be6d\",\r\n \"#43aa8b\",\r\n \"#4d908e\",\r\n \"#577590\",\r\n \"#277da1\",\r\n];\r\n\r\n\r\n \r\n\r\n\r\n const [activeLegend, setActiveLegend] = useState([]);\r\n \r\n\r\n const handleClick = (props) => {\r\n const index = props.datum.index;\r\n if (activeLegend.includes(index)) {\r\n setActiveLegend(activeLegend.filter((i) => i !== index));\r\n } else {\r\n setActiveLegend([...activeLegend, index]);\r\n }\r\n};\r\n\r\n useEffect(() => {\r\n switch(chartSizeType){\r\n case 'normal':\r\n setPaddingFull (paddingChart);\r\n setTickFontSize(tickFontSizeLabelsAreaChart);\r\n setFontLabelsAreaChart(fontSizeLabelsAreaChart);\r\n setTopSize(topSizeAreaChart);\r\n setBottomSize(bottomSizeAreaChart);\r\n setLegendAreaChartX(legendAreaChartX);\r\n setLegendAreaChartY(legendAreaChartY);\r\n setAreaChartX(widthAreaChart);\r\n setAreaChartY(heightAreaChart);\r\n setItemsPerRow(itemsPerRowAreaChart);\r\n setTooltipWidth(tooltipWidthAreaChart);\r\n setTooltipHeigth(tooltipHeigthAreaChart);\r\n setTooltipFontSize(tooltipFontSizeAreaChart); \r\n break; \r\n case 'fullscreensolo':\r\n setPaddingFull (paddingChartFulls);\r\n setTickFontSize(tickFontSizeLabelsAreaChartFulls); \r\n setFontLabelsAreaChart(fontSizeLabelsAreaChartFulls);\r\n setTopSize(topSizeAreaChartFulls);\r\n setBottomSize(bottomSizeAreaChartFulls);\r\n setLegendAreaChartX(legendAreaChartXFulls);\r\n setLegendAreaChartY(legendAreaChartYFulls);\r\n setAreaChartX(widthAreaChartFulls);\r\n setAreaChartY(heightAreaChartFulls);\r\n setItemsPerRow(itemsPerRowAreaChartFulls);\r\n setTooltipWidth(tooltipWidthAreaChartFulls);\r\n setTooltipHeigth(tooltipHeigthAreaChartFulls);\r\n setTooltipFontSize(tooltipFontSizeAreaChartFulls); \r\n break;\r\n } \r\n }, []);\r\n \r\n\r\n \r\n\r\n\r\nfunction mountedArrayForAreaChart() {\r\n let maxConsumption = 0;\r\n if (!data || !equipmentConsumptions || equipmentConsumptions.length === 0) {\r\n setAreaChartData([]);\r\n return maxConsumption;\r\n }\r\n\r\n const filteredEquipmentConsumptions = equipmentConsumptions.filter(\r\n (equipment) => equipment.consumption !== 0\r\n );\r\n\r\n const areaData = filteredEquipmentConsumptions.map((equipment) => {\r\n // Check if the maximum consumption for this equipment is greater than the current maxConsumption\r\n const equipmentMax = Math.max(...equipment.values.map(v => v.consumption));\r\n if (equipmentMax > maxConsumption) {\r\n maxConsumption = equipmentMax;\r\n }\r\n return {\r\n name: equipment.name,\r\n values: equipment.values,\r\n };\r\n });\r\n\r\n setAreaChartData(areaData);\r\n console.log('Area Chart Data:', areaData);\r\n return maxConsumption;\r\n}\r\n\r\n\r\nconst [maxDailyConsumption, setMaxDailyConsumption] = useState(0);\r\n\r\n\r\nuseEffect(() => {\r\n const maxConsumption = mountedArrayForAreaChart();\r\n setMaxDailyConsumption(maxConsumption);\r\n console.log('Max Daily Consumption:', maxConsumption);\r\n}, [data, equipmentConsumptions]); // Add equipmentConsumptions as a dependency\r\n\r\n\r\nfunction convertToHalfHourly(timestamp) {\r\n // One hour in milliseconds\r\n const oneHour = 60 * 60 * 1000;\r\n \r\n // Half an hour in milliseconds\r\n const halfHour = oneHour / 2;\r\n \r\n // Add half an hour to the timestamp\r\n const halfHourlyTimestamp = timestamp + halfHour;\r\n \r\n return halfHourlyTimestamp;\r\n}\r\n\r\n\r\n if (loadingChart) {\r\n return (\r\n
\r\n \r\n

Buscando informações

\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n if (Object.keys(data).length > 0 && totalConsumption === 0) {\r\n return (\r\n
\r\n

Não encontramos dados de consumo de desagregação

\r\n \r\n
\r\n );\r\n }\r\n if (areaChartData && areaChartData.length > 0) {\r\n \r\n return (\r\n
\r\n \r\n `${datum.consumption ? datum.consumption.toFixed(2) : 0} kWh`}\r\n labelComponent={\r\n \r\n }\r\n />\r\n }\r\n >\r\n `${tick} kWh`}\r\n style={{\r\n axis: { stroke: \"#646462\" },\r\n grid: {\r\n stroke: ({ tick }) => (tick > 0.5 ? \"#646462\" : \"#B8B8B8\"),\r\n },\r\n ticks: { stroke: \"#646462\", size: 15, },\r\n tickLabels: { fontSize: tickFontSize, padding: 20, fontWeight: \"700\" },\r\n }}\r\n />\r\n (tick > 0.5 ? \"#B8B8B8\" : \"#B8B8B8\"),\r\n },\r\n ticks: { stroke: \"#646462\", size: 15, padding: 10 },\r\n tickLabels: {\r\n fontSize: tickFontSize,\r\n padding: 10,\r\n fontWeight: \"700\",\r\n angle: 45,\r\n },\r\n }}\r\n />\r\n \r\n {sortedAreaChartData.map((item, index) => (\r\n \r\n formartDate.formatUTC24(convertToHalfHourly(d.timestamp))}\r\n y=\"consumption\"\r\n data={\r\n activeLegend.length === 0 || activeLegend.includes(index)\r\n ? item.values\r\n : item.values.map((v) => ({ ...v, consumption: 0 }))\r\n }\r\n />\r\n \r\n))}\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n ({\r\n ...item,\r\n index,\r\n }))}\r\n style={{\r\n labels: { fontSize: fontLabelsAreaChart, className: classNames(styles.legendLabel) },\r\n data: {\r\n type: ({ datum }) =>\r\n activeLegend.length === 0 || activeLegend.includes(datum.index) ? \"circle\" : \"square\",\r\n fill: ({ datum }) => chartColors[datum.index % chartColors.length],\r\n },\r\n}}\r\n events={[\r\n {\r\n target: \"labels\",\r\n eventHandlers: {\r\n onClick: () => {\r\n return [\r\n {\r\n target: \"labels\",\r\n mutation: (props) => {\r\n handleClick(props);\r\n return null;\r\n },\r\n },\r\n ];\r\n },\r\n onMouseOver: () => {\r\n return [\r\n {\r\n target: \"labels\",\r\n mutation: () => {\r\n return {style: {fill: \"#0f85ca\", fontSize: \"30px\",cursor: \"pointer\" }};\r\n }\r\n \r\n },\r\n ];\r\n },\r\n onMouseOut: () => {\r\n return [\r\n {\r\n target: \"labels\",\r\n mutation: () => {\r\n return null;\r\n },\r\n },\r\n ];\r\n },\r\n },\r\n },\r\n ]}\r\n/>\r\n\r\n \r\n
\r\n );\r\n }\r\n }\r\n return (\r\n
\r\n

Não encontramos dados de consumo de desagregação nesta data.

\r\n \r\n
\r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { VictoryBar, VictoryChart, VictoryAxis, VictoryTooltip } from \"victory\";\r\nimport useFormatDate from \"../../../util/hooks/useFormartDate\";\r\nimport styles from \"./styles.module.scss\";\r\nimport { useReportContext } from \"../../../providers/reportContext\";\r\nimport { ReactComponent as EquipamentIconOutline } from \"../../../assets/equipamentIconOutline.svg\";\r\nimport theme from \"../../../styles/victoryTheme\";\r\nimport { CircularProgress } from \"@mui/material\";\r\n\r\nimport{\r\n widthBarChart,\r\n heightBarChart,\r\n paddingLeftBar,\r\n paddingLeftBarFull,\r\n \r\n\r\n} from \"../../../util/ResponsiveCharts/responsive\";\r\n\r\n\r\nexport default function BarChart({ width, height, data, typeFormatDate, chartSizeType }) {\r\n const formartDate = useFormatDate();\r\n const { loadingChartBar } = useReportContext();\r\n\r\n const [widthBarChartX, setBarChartX] = useState(0);\r\n const [heightBarChartY, setBarChartY] = useState(0);\r\n const [paddingBar, setpaddingBar] = useState(0);\r\n\r\n\r\n\r\nuseEffect(() => {\r\n switch(chartSizeType){\r\n case 'normal':\r\n setBarChartX(widthBarChart);\r\n setBarChartY(heightBarChart);\r\n setpaddingBar(paddingLeftBar);\r\n \r\n break; \r\n case 'fullscreen':\r\n setBarChartX(widthBarChart);\r\n setBarChartY(heightBarChart);\r\n setpaddingBar(paddingLeftBarFull);\r\n \r\n break;\r\n } \r\n }, []);\r\n\r\n\r\n\r\n\r\n if (loadingChartBar) {\r\n return (\r\n
\r\n \r\n

Buscando informações

\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n if (data && Object.keys(data).length > 0 && data.consumption === 0) {\r\n return (\r\n
\r\n

\r\n Não encontramos dados de consumo deste equipamento nesta data.\r\n

\r\n \r\n
\r\n );\r\n } else if (\r\n data !== undefined &&\r\n Object.keys(data).length > 0 &&\r\n data.consumption > 0\r\n ) {\r\n return (\r\n
\r\n \r\n `${tick} kWh`}\r\n style={{\r\n \r\n axis: { stroke: \"#B8B8B8\" },\r\n grid: {\r\n stroke: ({ tick }) => (tick > 0.5 ? \"#B8B8B8\" : \"#B8B8B8\"),\r\n },\r\n ticks: { stroke: \"#B8B8B8\", size: 35 },\r\n tickLabels: { fontSize: 20, padding: 35, fontWeight: \"700\" , },\r\n }}\r\n />\r\n (tick > 0.9 ? \"#B8B8B8\" : \"#B8B8B8\"),\r\n },\r\n ticks: { stroke: \"#646462\", size: 32, padding: 5 },\r\n tickLabels: {\r\n fontSize: 20,\r\n padding: 15,\r\n fontWeight: \"700\",\r\n angle: 45,\r\n \r\n },\r\n }}\r\n />\r\n ({\r\n _y: 0,\r\n fill: \"orange\",\r\n \r\n })\r\n }\r\n }}\r\n alignment=\"start\"\r\n theme={theme}\r\n height=\"90vh\"\r\n x={(d) =>\r\n typeFormatDate === \"hours\"\r\n ? formartDate.formatUTC24(d.timestamp)\r\n : formartDate.formatUTCLestWeek(d.timestamp)\r\n }\r\n y={(d) => {\r\n return d.consumption ? d.consumption : 0;\r\n }}\r\n data={data.values}\r\n labels={(d) => `${d.datum.consumption.toFixed(2)} kWh`}\r\n labelComponent={}\r\n />\r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

Não encontramos dados de consumo de equipamentos nesta data.

\r\n \r\n
\r\n
\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { VictoryPie, VictoryTooltip, VictoryLegend } from \"victory\";\r\nimport styles from \"./styles.module.scss\";\r\nimport { ReactComponent as EquipamentIconOutline } from \"../../../assets/equipamentIconOutline.svg\";\r\nimport theme from \"../../../styles/victoryTheme\";\r\nimport { useReportContext } from \"../../../providers/reportContext\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport {\r\n responsiveHeightPieChart,\r\n responsiveWidthPieChart,\r\n getPositionsPieChart,\r\n legendPieChartX,\r\n legendPieChartY,\r\n fontSizeLabelsPieChart,\r\n tooltipPosition,\r\n tooltipPositionY,\r\n} from \"../../../util/ResponsiveCharts/responsive\";\r\n\r\nexport default function PieChart({ pieSvg, data, positionLegend, handleSliderChange,startTime, endTime }) {\r\n\r\n const { equipmentConsumptions } = data;\r\n const { loadingChartPie } = useReportContext();\r\n\r\n const [fontSizeLabelsPie, setFontSizeLabelsPie] = useState(0);\r\n const [singleSliceVisible, setSingleSliceVisible] = useState(false);\r\n const [widthSize, setWidthSize] = useState(0);\r\n const [heightSize, setHeightSize] = useState(0);\r\n const [positionChart, setPositionChart] = useState(\"\");\r\n const [legendX, setLegendX] = useState(0);\r\n const [legendY, setLegendY] = useState(0);\r\n const [tooltip, setTooltip] = useState(0);\r\n const [tooltipY, setTooltipY] = useState(0);\r\n const [hiddenSlices, setHiddenSlices] = useState(new Set());\r\n\r\n const customColorScale = [\r\n \"#0066b2\",\r\n \r\n \"#edab27\",\r\n \"#6CB4EE\",\r\n \"#34A65F\",\r\n \"#90be6d\",\r\n \"#43aa8b\",\r\n \"#4d908e\",\r\n \"#577590\",\r\n \"#277da1\",\r\n // Add more colors if needed\r\n ];\r\n\r\n\r\n const [graphicData, setGraphicData] = useState([]);\r\n\r\nuseEffect(() => {\r\n console.log('Data:', data);\r\n console.log('Start time:', startTime);\r\n console.log('End time:', endTime);\r\n if(startTime != null && endTime != null) {\r\n setGraphicData(mountedArrayForPieChart());\r\n }\r\n}, [data, startTime, endTime]); // Add startTime and endTime to useEffect dependencies\r\n// ...\r\n\r\n useEffect(() => {\r\n setWidthSize(responsiveWidthPieChart());\r\n setHeightSize(responsiveHeightPieChart());\r\n setPositionChart(getPositionsPieChart());\r\n setLegendX(legendPieChartX());\r\n setLegendY(legendPieChartY());\r\n setFontSizeLabelsPie(fontSizeLabelsPieChart()); // Make sure this is a valid value\r\n setTooltip(tooltipPosition());\r\n setTooltipY(tooltipPositionY());\r\n }, []);\r\n\r\n const originalLabelStyle = { fill: \"#666\", fontSize: fontSizeLabelsPie };\r\n\r\n function CustomLabel(props) {\r\n const visibleData = getVisibleData();\r\n\r\n if (singleSliceVisible && visibleData.length === 1) {\r\n const datum = visibleData[0];\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n CustomLabel.defaultEvents = VictoryTooltip.defaultEvents;\r\n\r\n\r\n\r\n function mountedArrayForPieChart() {\r\n let pieData = [];\r\n\r\n console.log('Filtered Data:', startTime, endTime);\r\n\r\n if (data && data.equipmentConsumptions) {\r\n if (startTime != null && endTime != null) {\r\n // Filter the values array based on the selected date range\r\n for (const [index, { name, values }] of data.equipmentConsumptions.entries()) {\r\n const filteredValues = values.filter(\r\n (value) =>\r\n new Date(value.timestamp + 3 * 60 * 60 * 1000).getTime() >= new Date(startTime).getTime() &&\r\n new Date(value.timestamp + 3 * 60 * 60 * 1000).getTime() <= new Date(endTime).getTime()\r\n );\r\n\r\n console.log(`Filtered Data for ${name}:`, filteredValues);\r\n\r\n // Calculate total consumption and price for the selected date range\r\n let totalConsumption = 0;\r\n let totalPrice = 0;\r\n for (const { consumption, price } of filteredValues) {\r\n totalConsumption += consumption;\r\n totalPrice += price;\r\n }\r\n\r\n if (totalConsumption !== 0) {\r\n const colorIndex = index % customColorScale.length;\r\n pieData = pieData.concat({ x: totalPrice, y: totalConsumption, name, color: customColorScale[colorIndex] });\r\n }\r\n }\r\n } else {\r\n // No date range selected, include all data\r\n for (const [index, { name, price, consumption }] of data.equipmentConsumptions.entries()) {\r\n if (consumption !== 0) {\r\n const colorIndex = index % customColorScale.length;\r\n pieData = pieData.concat({ x: price, y: consumption, name, color: customColorScale[colorIndex] });\r\n }\r\n }\r\n }\r\n\r\n const otherX = (data.totalEquipmentConsumptionPrice / data.totalConsumption) * ((data.totalSmartMeterConsumption ) - data.totalConsumption);\r\n const otherY = (data.totalSmartMeterConsumption ) - data.totalConsumption;\r\n\r\n const otherColorIndex = customColorScale.length; // Index for the \"Outros\" color\r\n \r\n \r\n pieData = pieData.concat({ x: otherX, y: otherY, name: \"Outros\", color: \"#4d908e\", });\r\n \r\n }\r\n\r\n return pieData;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n function handleLegendClick(datum) {\r\n setHiddenSlices((prevHiddenSlices) => {\r\n const newHiddenSlices = new Set(prevHiddenSlices);\r\n if (newHiddenSlices.has(datum.name)) {\r\n newHiddenSlices.delete(datum.name);\r\n } else {\r\n newHiddenSlices.add(datum.name);\r\n }\r\n\r\n if (newHiddenSlices.size === graphicData.length) {\r\n setSingleSliceVisible(false);\r\n return new Set();\r\n } else {\r\n const visibleSlicesCount = graphicData.length - newHiddenSlices.size;\r\n setSingleSliceVisible(visibleSlicesCount === 1);\r\n return newHiddenSlices;\r\n }\r\n });\r\n }\r\n\r\n function getVisibleData() {\r\n return graphicData.filter((datum) => !hiddenSlices.has(datum.name));\r\n }\r\n\r\n function getLegendData() {\r\n if (singleSliceVisible) {\r\n const visibleData = getVisibleData();\r\n if (visibleData.length === 1) {\r\n return visibleData.map((datum) => ({\r\n ...datum,\r\n symbol: {\r\n type: \"circle\",\r\n fill: datum.color,\r\n },\r\n }));\r\n }\r\n }\r\n\r\n return graphicData.map((datum) => ({\r\n ...datum,\r\n symbol: {\r\n type: hiddenSlices.has(datum.name) ? \"square\" : \"circle\",\r\n fill: datum.color,\r\n },\r\n }));\r\n }\r\n\r\n if (loadingChartPie) {\r\n return (\r\n
\r\n \r\n

Buscando Informações

\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n if (data.totalConsumption === 0) {\r\n return (\r\n
\r\n

Não encontramos dados de consumo total

\r\n \r\n
\r\n );\r\n } else {\r\n if (Object.keys(data).length > 0) {\r\n if (equipmentConsumptions.length > 0) {\r\n return (\r\n \r\n datum.color },\r\n labels: { fontSize: 20, fill: \"white\" },\r\n }}\r\n labels={({ datum }) => [\r\n `R$ ${datum.x.toFixed(2)}`,\r\n `${datum.y.toFixed(2)} kWh`,\r\n datum.name,\r\n ]}\r\n labelComponent={}\r\n />\r\n\r\n {\r\n return [\r\n {\r\n target: \"data\",\r\n mutation: (props) => {\r\n handleLegendClick(props.datum);\r\n return null;\r\n },\r\n },\r\n ];\r\n },\r\n onMouseEnter: () => {\r\n return [\r\n {\r\n target: \"labels\",\r\n mutation: () => ({\r\n style: {\r\n ...originalLabelStyle,\r\n fontSize: fontSizeLabelsPie + 1,\r\n fill: \"#0f85ca\",\r\n cursor: \"pointer\",\r\n },\r\n }),\r\n },\r\n ];\r\n },\r\n onMouseLeave: () => {\r\n return [\r\n {\r\n target: \"labels\",\r\n mutation: () => ({\r\n style: originalLabelStyle,\r\n }),\r\n },\r\n ];\r\n },\r\n },\r\n },\r\n ]}\r\n style={{ labels: originalLabelStyle }}\r\n />\r\n \r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n

Não encontramos dados de consumo total nesta data.

\r\n \r\n
\r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport React, { useState, useMemo, useRef } from \"react\";\r\nimport styles from \"./styles.module.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport * as XLSX from 'xlsx';\r\nimport ReactToPrint from 'react-to-print';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport {\r\n VictoryChart,\r\n VictoryAxis,\r\n VictoryLine,\r\n VictoryArea,\r\n VictoryLegend,\r\n} from \"victory\";\r\nimport { getReportModbusDataAPI, getReportKhompDataAPI } from \"../../../services/restApiReport\";\r\nimport { VictoryVoronoiContainer, VictoryTooltip } from \"victory\";\r\n\r\nexport default function TensaoChart({ selectedID, setSelectedID }) {\r\n \r\n \r\nconst [progress, setProgress] = useState(0);\r\n\r\nconst [chartWidth, setChartWidth] = useState(1200);\r\nconst [chartHeight, setChartHeight] = useState(500);\r\nconst [chartPadding, setChartPadding] = useState({ bottom: 120, left: 60, right: 50, top: 70 });\r\nconst [legendCoordinates, setLegendCoordinates] = useState({ x: 60, y: 540 });\r\n\r\n\r\n\r\n// Function to adjust chart properties based on screen size\r\nfunction adjustChartProperties() {\r\n // Check if the window width is less than or equal to 768px\r\n const isSmallScreen = window.matchMedia(\"(max-width: 900px)\").matches;\r\n\r\n if (isSmallScreen) {\r\n // Update chart properties for small screens\r\n setChartWidth(500);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 80, left: 40, right: 30, top: 90 });\r\n setLegendCoordinates({ x: 20, y: 650 });\r\n } else {\r\n // Update chart properties for large screens\r\n setChartWidth(1200);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 120, left: 60, right: 50, top: 70 });\r\n setLegendCoordinates({ x: 40, y: 660 });\r\n }\r\n}\r\n\r\n// Call the function when the page loads\r\nuseEffect(() => {\r\n adjustChartProperties();\r\n}, []);\r\n\r\n// Add an event listener to call the function when the window is resized\r\nuseEffect(() => {\r\n window.addEventListener(\"resize\", adjustChartProperties);\r\n // Remove the event listener when the component is unmounted\r\n return () => window.removeEventListener(\"resize\", adjustChartProperties);\r\n}, []);\r\n\r\n\r\n\r\n\r\n\r\nlet today = new Date();\r\nlet startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\nlet endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59);\r\n\r\nconst [startDate, setStartDate] = useState(startOfDay);\r\nconst [endDate, setEndDate] = useState(endOfDay);\r\n\r\n\r\nconst generateHoursBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setHours(dt.getHours() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst generateDatesBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\n\r\nconst componentRef = useRef();\r\n \r\nconst [modbusDataVL1N, setModbusDataVL1N] = useState([]);\r\nconst [modbusDataVL2N, setModbusDataVL2N] = useState([]);\r\nconst [modbusDataVL3N, setModbusDataVL3N] = useState([]);\r\n\r\nconst [khompDataVR, setKhompDataVR] = useState([]);\r\nconst [khompDataVS, setKhompDataVS] = useState([]);\r\nconst [khompDataVT, setKhompDataVT] = useState([]);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n function downloadExcelFile() {\r\n // Combine all data arrays into one\r\n const allData = [...modbusDataVL1N, ...modbusDataVL2N, ...modbusDataVL3N, ...khompDataVR, ...khompDataVS, ...khompDataVT];\r\n \r\n // Generate a worksheet\r\n const ws = XLSX.utils.json_to_sheet(allData);\r\n \r\n // Create a new Workbook\r\n const wb = XLSX.utils.book_new();\r\n \r\n // Append the worksheet to the Workbook\r\n XLSX.utils.book_append_sheet(wb, ws, \"Data\");\r\n \r\n // Write the Workbook to an Excel file\r\n const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });\r\n \r\n // Create a blob from the Excel file\r\n let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});\r\n \r\n // Create a link element\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'data.xlsx';\r\n \r\n // Append the link to the body and simulate a click event to start the download\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n// This is needed to convert the string to array buffer\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i=0; i ({ x: new Date(item.timestamp), y: (item.value * 220) / 16384 }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching modbus data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\n async function mountedArrayForKhomp(variableName) {\r\n try {\r\n // Get the date in the server's timezone\r\n const serverStartDate = new Date(startDate.getTime() - (3 * 60 * 60 * 1000));\r\n const serverEndDate = new Date(endDate.getTime() - (3 * 60 * 60 * 1000));\r\n\r\n const khompDataGet = await getReportKhompDataAPI(\r\n \"847127FFFE1CB050\",\r\n serverStartDate.toISOString(),\r\n serverEndDate.toISOString(),\r\n variableName\r\n );\r\n\r\n const chartData = khompDataGet.data.values\r\n .map((item) => ({ x: new Date(item.timestamp), y: (item.value ) }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching Khomp data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\n const [isIdInvalid, setIsIdInvalid] = useState(false); // Add this line\r\n \r\n useEffect(() => {\r\n async function fetchData() {\r\n // Initialize progress to 10\r\n setProgress(10);\r\n\r\n if (selectedID === \"ftteng.ddns.net:502\") {\r\n // Fetch the data and update the progress for Modbus\r\n const VL1NData = await mountedarrayformodbus(\"VL1N\");\r\n setProgress(30);\r\n const VL2NData = await mountedarrayformodbus(\"VL2N\");\r\n setProgress(50);\r\n const VL3NData = await mountedarrayformodbus(\"VL3N\");\r\n setProgress(70);\r\n\r\n // Set the data in state\r\n setModbusDataVL1N(VL1NData);\r\n setModbusDataVL2N(VL2NData);\r\n setModbusDataVL3N(VL3NData);\r\n\r\n // Reset Khomp data\r\n setKhompDataVR([]);\r\n setKhompDataVS([]);\r\n setKhompDataVT([]);\r\n setIsIdInvalid(false); // Add this line\r\n } else if (selectedID === \"847127FFFE1CB050\") {\r\n // Fetch the data and update the progress for Khomp\r\n const VRData = await mountedArrayForKhomp(\"VR\");\r\n setProgress(30);\r\n const VSData = await mountedArrayForKhomp(\"VS\");\r\n setProgress(50);\r\n const VTData = await mountedArrayForKhomp(\"VT\");\r\n setProgress(70);\r\n\r\n // Set the data in state\r\n setKhompDataVR(VRData);\r\n setKhompDataVS(VSData);\r\n setKhompDataVT(VTData);\r\n\r\n // Reset Modbus data\r\n setModbusDataVL1N([]);\r\n setModbusDataVL2N([]);\r\n setModbusDataVL3N([]);\r\n setIsIdInvalid(false); // Add this line\r\n }\r\n else {// Handle the case where selectedID is neither \"ftteng.ddns.net:502\" nor \"847127FFFE1CB050\"\r\n console.log(`Unexpected selectedID: ${selectedID}`);\r\n setIsIdInvalid(true); // Add this line\r\n \r\n }\r\n // Simulate rendering completion\r\n setTimeout(() => {\r\n setProgress(100);\r\n }, 1000);\r\n }\r\n \r\n\r\n fetchData();\r\n}, [startDate, endDate, selectedID]); \r\n\r\n\r\n\r\n\r\n // Function to handle ID selection change\r\n const handleIDChange = (event) => {\r\n setSelectedID(event.target.value);\r\n }\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n const [yTickValues, setYTickValues] = useState([]);\r\nconst [yDomain, setYDomain] = useState([90, 150]);\r\nconst [areaDomains, setAreaDomains] = useState([\r\n {start: 135, end: 150},\r\n {start: 133, end: 135},\r\n {start: 117, end: 133},\r\n {start: 110, end: 117},\r\n {start: 90, end: 110},\r\n]);\r\n\r\n// useEffect that adjusts yDomain, yTickValues, and areaDomains\r\nuseEffect(() => {\r\n if (selectedID === \"847127FFFE1CB050\") {\r\n setYDomain([150, 250]);\r\n const ticks = [];\r\n for (let i = 150; i <= 250; i += 10) {\r\n ticks.push(i);\r\n }\r\n setYTickValues(ticks);\r\n setAreaDomains([\r\n {start: 233, end: 250},\r\n {start: 231, end: 233},\r\n {start: 202, end: 231},\r\n {start: 191, end: 202},\r\n {start: 150, end: 191},\r\n ]);\r\n } else {\r\n setYDomain([90, 150]);\r\n const ticks = [];\r\n for (let i = 90; i <= 150; i += 10) {\r\n ticks.push(i);\r\n }\r\n setYTickValues(ticks);\r\n setAreaDomains([\r\n {start: 135, end: 150},\r\n {start: 133, end: 135},\r\n {start: 117, end: 133},\r\n {start: 110, end: 117},\r\n {start: 90, end: 110},\r\n ]);\r\n }\r\n}, [selectedID]);\r\n\r\nconst colors = [\"#d3a98a\", \"#fffea1\", \"#cfeeb0\", \"#fffea1\", \"#d3a98a\"];\r\n\r\n if (progress === 100) {\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n setStartDate(new Date(date.getFullYear(), date.getMonth(), date.getDate()))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n setEndDate(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n }\r\n content={() => componentRef.current}\r\n \r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {isIdInvalid &&
Selecione um medidor para renderizar o Gráfico
}\r\n \r\n
\r\n {(khompDataVR.length > 0 ||\r\n khompDataVS.length > 0 ||\r\n khompDataVT.length > 0 ||\r\n modbusDataVL1N.length > 0 ||\r\n modbusDataVL2N.length > 0 ||\r\n modbusDataVL3N.length > 0) ? (\r\n \r\n
{/* Add a wrapper div for the chart */}\r\n
\r\n \r\n }\r\n width={chartWidth}\r\n height={chartHeight}\r\n domain={{ y: yDomain }}\r\n padding={chartPadding}\r\n>\r\n {areaDomains.map((domain, index) => (\r\n \r\n))}\r\n\r\n \r\n {\r\n // Create a new date object from the tick, and add 3 hours to it\r\n let newDate = new Date(tick.getTime() + (3 * 60 * 60 * 1000));\r\n\r\n // Then you can format the newDate object as you wish:\r\n if (startDate.getDate() === endDate.getDate() &&\r\n startDate.getMonth() === endDate.getMonth() &&\r\n startDate.getFullYear() === endDate.getFullYear())\r\n {\r\n return `${('0' + newDate.getHours()).slice(-2)}:00`; // This will format the tick values as hours\r\n }\r\n else \r\n {\r\n return `${newDate.getDate()}-${('0'+(newDate.getMonth()+1)).slice(-2)}-${('0'+newDate.getFullYear()).slice(-2)}`; // This will format the tick values as YYYY-MM-DD\r\n }\r\n }\r\n}\r\n/>\r\n `${t} `} // Add the unit \"V\" to each tick value\r\n/>\r\n `VL1N: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: \"#CD5C5C\" },\r\n }}\r\n data={modbusDataVL1N}\r\n />\r\n `VL2N: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: '#0E85CA' }\r\n }}\r\n data={modbusDataVL2N}\r\n />\r\n `VL3N: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: 'black' }\r\n }}\r\n data={modbusDataVL3N}\r\n />\r\n\r\n\r\n `VL1N: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: \"#CD5C5C\" },\r\n }}\r\n data={khompDataVR}\r\n />\r\n `VL2N: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: '#0E85CA' }\r\n }}\r\n data={khompDataVS}\r\n />\r\n `VL3N: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: 'black' }\r\n }}\r\n data={khompDataVT}\r\n />\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n} else {\r\n return (\r\n
\r\n

\r\n {progress < 40\r\n ? 'Carregando Dados'\r\n : progress < 60\r\n ? 'Gerando Gráfico'\r\n : progress < 80\r\n ? 'Quase pronto!'\r\n :\"99%\"}\r\n

\r\n \r\n
\r\n );\r\n}}","import { useEffect } from \"react\";\r\nimport React, { useState, useMemo, useRef } from \"react\";\r\nimport styles from \"./styles.module.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport * as XLSX from 'xlsx';\r\nimport ReactToPrint from 'react-to-print';\r\n\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport {\r\n VictoryChart,\r\n VictoryAxis,\r\n VictoryLine,\r\n VictoryArea,\r\n VictoryLegend,\r\n} from \"victory\";\r\nimport { getReportModbusDataAPI, getReportKhompDataAPI } from \"../../../services/restApiReport\";\r\n\r\nexport default function CorrenteChart({ selectedID, setSelectedID }) {\r\n\r\nconst [progress, setProgress] = useState(0);\r\n\r\nconst [chartWidth, setChartWidth] = useState(1200);\r\nconst [chartHeight, setChartHeight] = useState(500);\r\nconst [chartPadding, setChartPadding] = useState({ bottom: 120, left: 60, right: 50, top: 70 });\r\nconst [legendCoordinates, setLegendCoordinates] = useState({ x: 40, y: 540 });\r\n\r\n\r\n\r\n// Function to adjust chart properties based on screen size\r\nfunction adjustChartProperties() {\r\n // Check if the window width is less than or equal to 768px\r\n const isSmallScreen = window.matchMedia(\"(max-width: 00px)\").matches;\r\n\r\n if (isSmallScreen) {\r\n // Update chart properties for small screens\r\n setChartWidth(500);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 80, left: 40, right: 30, top: 0 });\r\n setLegendCoordinates({ x: 20, y: 650 });\r\n } else {\r\n // Update chart properties for large screens\r\n setChartWidth(1200);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 120, left: 60, right: 50, top: 70 });\r\n setLegendCoordinates({ x: 40, y: 660 });\r\n }\r\n}\r\n\r\n// Call the function when the page loads\r\nuseEffect(() => {\r\n adjustChartProperties();\r\n}, []);\r\n\r\n// Add an event listener to call the function when the window is resized\r\nuseEffect(() => {\r\n window.addEventListener(\"resize\", adjustChartProperties);\r\n // Remove the event listener when the component is unmounted\r\n return () => window.removeEventListener(\"resize\", adjustChartProperties);\r\n}, []);\r\n\r\n\r\n\r\n\r\n\r\nlet today = new Date();\r\nlet startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\nlet endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59);\r\n\r\nconst [startDate, setStartDate] = useState(startOfDay);\r\nconst [endDate, setEndDate] = useState(endOfDay);\r\n\r\n\r\n\r\n\r\n\r\nconst generateHoursBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setHours(dt.getHours() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst generateDatesBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n\r\n \r\n};\r\n\r\n\r\n const componentRef = useRef();\r\n\r\n // Modbus data\r\nconst [modbusDataI1, setModbusDataI1] = useState([]);\r\nconst [modbusDataI2, setModbusDataI2] = useState([]);\r\nconst [modbusDataI3, setModbusDataI3] = useState([]);\r\n \r\n const [khompDataIR, setKhompDataIR] = useState([]);\r\n const [khompDataIS, setKhompDataIS] = useState([]);\r\n const [khompDataIT, setKhompDataIT] = useState([]);\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\nfunction downloadExcelFile() {\r\n // Combine all data arrays into one\r\n const allData = [...khompDataIR, ...khompDataIS, ...khompDataIT];\r\n \r\n // Generate a worksheet\r\n const ws = XLSX.utils.json_to_sheet(allData);\r\n \r\n // Create a new Workbook\r\n const wb = XLSX.utils.book_new();\r\n \r\n // Append the worksheet to the Workbook\r\n XLSX.utils.book_append_sheet(wb, ws, \"Data\");\r\n \r\n // Write the Workbook to an Excel file\r\n const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });\r\n \r\n // Create a blob from the Excel file\r\n let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});\r\n \r\n // Create a link element\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'data.xlsx';\r\n \r\n // Append the link to the body and simulate a click event to start the download\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n// This is needed to convert the string to array buffer\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i=0; i ({ x: new Date(item.timestamp), y: (item.value * 50) / 16384 }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching modbus data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\n async function mountedArrayForKhomp(variableName) {\r\n try {\r\n // Get the date in the server's timezone\r\n const serverStartDate = new Date(startDate.getTime() - (3 * 60 * 60 * 1000));\r\n const serverEndDate = new Date(endDate.getTime() - (3 * 60 * 60 * 1000));\r\n\r\n const khompDataGet = await getReportKhompDataAPI(\r\n \"847127FFFE1CB050\",\r\n serverStartDate.toISOString(),\r\n serverEndDate.toISOString(),\r\n variableName\r\n );\r\n\r\n const chartData = khompDataGet.data.values\r\n .map((item) => ({ x: new Date(item.timestamp), y: (item.value ) }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching Khomp data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\n const [isIdInvalid, setIsIdInvalid] = useState(false); // Add this line\r\n\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n // Initialize progress to 10\r\n setProgress(10);\r\n\r\n if (selectedID === \"ftteng.ddns.net:502\") {\r\n // Fetch the data and update the progress for Modbus\r\n const I1Data = await mountedarrayformodbus(\"I1\");\r\n setProgress(30);\r\n const I2Data = await mountedarrayformodbus(\"I2\");\r\n setProgress(50);\r\n const I3Data = await mountedarrayformodbus(\"I3\");\r\n setProgress(70);\r\n\r\n // Set the data in state\r\n setModbusDataI1(I1Data);\r\n setModbusDataI2(I2Data);\r\n setModbusDataI3(I3Data);\r\n\r\n // Reset Khomp data\r\n setKhompDataIR([]);\r\n setKhompDataIS([]);\r\n setKhompDataIT([]);\r\n setIsIdInvalid(false); // Add this line\r\n } else if (selectedID === \"847127FFFE1CB050\") {\r\n // Fetch the data and update the progress for Khomp\r\n const IRData = await mountedArrayForKhomp(\"IR\");\r\n setProgress(30);\r\n const ISData = await mountedArrayForKhomp(\"IS\");\r\n setProgress(50);\r\n const ITData = await mountedArrayForKhomp(\"IT\");\r\n setProgress(70);\r\n\r\n // Set the data in state\r\n setKhompDataIR(IRData);\r\n setKhompDataIS(ISData);\r\n setKhompDataIT(ITData);\r\n\r\n // Reset Modbus data\r\n setModbusDataI1([]);\r\n setModbusDataI2([]);\r\n setModbusDataI3([]);\r\n setIsIdInvalid(false); // Add this line\r\n }\r\n \r\n else {// Handle the case where selectedID is neither \"ftteng.ddns.net:502\" nor \"847127FFFE1CB050\"\r\n console.log(`Unexpected selectedID: ${selectedID}`);\r\n setIsIdInvalid(true); // Add this line\r\n \r\n }\r\n\r\n // Simulate rendering completion\r\n setTimeout(() => {\r\n setProgress(100);\r\n }, 1000);\r\n }\r\n\r\n fetchData();\r\n}, [startDate, endDate, selectedID]);\r\n\r\n\r\n\r\n// Function to handle ID selection change\r\n const handleIDChange = (event) => {\r\n setSelectedID(event.target.value);\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\nif (progress === 100) {\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n setStartDate(new Date(date.getFullYear(), date.getMonth(), date.getDate()))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n setEndDate(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n }\r\n content={() => componentRef.current}\r\n \r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n{isIdInvalid &&
Selecione um medidor para renderizar o Gráfico
}\r\n \r\n
\r\n {(khompDataIR.length > 0 ||\r\n khompDataIS.length > 0 ||\r\n khompDataIT.length > 0 ||\r\n modbusDataI1.length > 0 ||\r\n modbusDataI2.length > 0 ||\r\n modbusDataI3.length > 0) ? (\r\n
{/* Add a wrapper div for the chart */}\r\n
\r\n }\r\n width={chartWidth}\r\n height={chartHeight}\r\n domain={{ y: 0 }}\r\n padding={chartPadding}\r\n>\r\n \r\n\r\n \r\n {\r\n // Create a new date object from the tick, and add 3 hours to it\r\n let newDate = new Date(tick.getTime() + (3 * 60 * 60 * 1000));\r\n\r\n // Then you can format the newDate object as you wish:\r\n if (startDate.getDate() === endDate.getDate() &&\r\n startDate.getMonth() === endDate.getMonth() &&\r\n startDate.getFullYear() === endDate.getFullYear())\r\n {\r\n return `${('0' + newDate.getHours()).slice(-2)}:00`; // This will format the tick values as hours\r\n }\r\n else \r\n {\r\n return `${newDate.getDate()}-${('0'+(newDate.getMonth()+1)).slice(-2)}-${('0'+newDate.getFullYear()).slice(-2)}`; // This will format the tick values as YYYY-MM-DD\r\n }\r\n }\r\n}\r\n/>\r\n\r\n\r\n\r\n\r\n `${t} `} // Add the unit \"V\" to each tick value\r\n/>\r\n \r\n `I1: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: \"#CD5C5C\" },\r\n }}\r\n data={modbusDataI1}\r\n />\r\n `I2: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: '#0E85CA' }\r\n }}\r\n data={modbusDataI2}\r\n />\r\n `I3: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: 'black' }\r\n }}\r\n data={modbusDataI3}\r\n />\r\n\r\n\r\n `I1: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: \"#CD5C5C\" },\r\n }}\r\n data={khompDataIR}\r\n />\r\n `I2: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: '#0E85CA' }\r\n }}\r\n data={khompDataIS}\r\n />\r\n `I3: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: 'black' }\r\n }}\r\n data={khompDataIT}\r\n />\r\n \r\n \r\n\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n} else {\r\n return (\r\n
\r\n

\r\n {progress < 40\r\n ? 'Carregando Dados'\r\n : progress < 60\r\n ? 'Gerando Gráfico'\r\n : progress < 80\r\n ? 'Quase pronto!'\r\n :\"99%\"}\r\n

\r\n \r\n
\r\n );\r\n}}","import { useEffect } from \"react\";\r\nimport React, { useState, useMemo, useRef } from \"react\";\r\nimport styles from \"./styles.module.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport * as XLSX from 'xlsx';\r\nimport ReactToPrint from 'react-to-print';\r\n\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport {\r\n VictoryChart,\r\n VictoryAxis,\r\n VictoryLine,\r\n VictoryArea,\r\n VictoryLegend,\r\n} from \"victory\";\r\nimport { getReportModbusDataAPI, getReportKhompDataAPI } from \"../../../services/restApiReport\";\r\n\r\nexport default function DemandaChart({ selectedID, setSelectedID }) {\r\n\r\nconst [progress, setProgress] = useState(0);\r\n\r\nconst [chartWidth, setChartWidth] = useState(1200);\r\nconst [chartHeight, setChartHeight] = useState(500);\r\nconst [chartPadding, setChartPadding] = useState({ bottom: 120, left: 60, right: 50, top: 70 });\r\nconst [legendCoordinates, setLegendCoordinates] = useState({ x: 40, y: 540 });\r\n\r\n\r\n\r\n// Function to adjust chart properties based on screen size\r\nfunction adjustChartProperties() {\r\n // Check if the window width is less than or equal to 768px\r\n const isSmallScreen = window.matchMedia(\"(max-width: 00px)\").matches;\r\n\r\n if (isSmallScreen) {\r\n // Update chart properties for small screens\r\n setChartWidth(500);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 80, left: 40, right: 30, top: 0 });\r\n setLegendCoordinates({ x: 20, y: 650 });\r\n } else {\r\n // Update chart properties for large screens\r\n setChartWidth(1200);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 120, left: 60, right: 50, top: 70 });\r\n setLegendCoordinates({ x: 40, y: 660 });\r\n }\r\n}\r\n\r\n// Call the function when the page loads\r\nuseEffect(() => {\r\n adjustChartProperties();\r\n}, []);\r\n\r\n// Add an event listener to call the function when the window is resized\r\nuseEffect(() => {\r\n window.addEventListener(\"resize\", adjustChartProperties);\r\n // Remove the event listener when the component is unmounted\r\n return () => window.removeEventListener(\"resize\", adjustChartProperties);\r\n}, []);\r\n\r\n\r\n\r\nlet today = new Date();\r\nlet startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\nlet endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59);\r\n\r\n\r\n\r\nconst [startDate, setStartDate] = useState(startOfDay);\r\nconst [endDate, setEndDate] = useState(endOfDay);\r\n\r\n\r\nlet start = new Date(startDate);\r\n let end = new Date(endDate);\r\n let dayCount = Math.round((end - start) / (1000 * 60 * 60 * 24));\r\n\r\n const [maxLineValue, setMaxLineValue] = useState(0);\r\n\r\nconst areaData = useMemo(() => {\r\n const data = [];\r\n for(let i=0; i < dayCount; i++) {\r\n let day = new Date(start);\r\n day.setDate(start.getDate() + i);\r\n\r\n if(day.getDay() >= 1 && day.getDay() <= 5) {\r\n day.setHours(18, 30, 0, 0);\r\n let areaStart = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n \r\n data.push({x: areaStart, y: 0});\r\n data.push({x: areaStart, y: maxLineValue});\r\n\r\n day.setHours(20, 30, 0, 0);\r\n let areaEnd = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n\r\n data.push({x: areaEnd, y: maxLineValue});\r\n data.push({x: areaEnd, y: 0});\r\n }\r\n }\r\n return data;\r\n}, [dayCount, start, maxLineValue]);\r\n\r\nconst areaData2 = useMemo(() => {\r\n const data = [];\r\n for(let i=0; i < dayCount; i++) {\r\n let day = new Date(start);\r\n day.setDate(start.getDate() + i);\r\n\r\n if(day.getDay() >= 1 && day.getDay() <= 5) {\r\n day.setHours(17, 30, 0, 0);\r\n let areaStart2 = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n \r\n data.push({x: areaStart2, y: 0});\r\n data.push({x: areaStart2, y: maxLineValue});\r\n\r\n day.setHours(21, 30, 0, 0);\r\n let areaEnd2 = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n\r\n data.push({x: areaEnd2, y: maxLineValue});\r\n data.push({x: areaEnd2, y: 0});\r\n }\r\n }\r\n return data;\r\n}, [dayCount, start, maxLineValue]);\r\n\r\n\r\n\r\n\r\n\r\nconst generateHoursBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setHours(dt.getHours() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst generateDatesBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n\r\n \r\n};\r\n\r\n\r\n\r\nfunction downloadExcelFile() {\r\n // Combine all data arrays into one\r\n const allData = [...modbusDataDI1, ...modbusDataDI2, ...modbusDataDI3];\r\n \r\n // Generate a worksheet\r\n const ws = XLSX.utils.json_to_sheet(allData);\r\n \r\n // Create a new Workbook\r\n const wb = XLSX.utils.book_new();\r\n \r\n // Append the worksheet to the Workbook\r\n XLSX.utils.book_append_sheet(wb, ws, \"Data\");\r\n \r\n // Write the Workbook to an Excel file\r\n const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });\r\n \r\n // Create a blob from the Excel file\r\n let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});\r\n \r\n // Create a link element\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'data.xlsx';\r\n \r\n // Append the link to the body and simulate a click event to start the download\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n// This is needed to convert the string to array buffer\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i=0; i ({ x: new Date(item.timestamp), y: (item.value * 3 * 50) / 16384 }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching modbus data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\nconst [isIdInvalid, setIsIdInvalid] = useState(false); // Add this line\r\n\r\nconst [isDataInvalid, setIsDataInvalid] = useState(false); // Add this line\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n setProgress(10);\r\n \r\n // Clear the current data\r\n setModbusDataDI1([]);\r\n setModbusDataDI2([]);\r\n setModbusDataDI3([]);\r\n setIsIdInvalid(false);\r\n setIsDataInvalid(false);\r\n\r\n if (selectedID === 'ftteng.ddns.net:502') {\r\n const [DI1Data, DI2Data, DI3Data] = await Promise.all([\r\n mountedarrayformodbus(\"DI1\"),\r\n mountedarrayformodbus(\"DI2\"),\r\n mountedarrayformodbus(\"DI3\")\r\n ]);\r\n\r\n // Combine all data arrays into one\r\n const allData = [...DI1Data, ...DI2Data, ...DI3Data];\r\n\r\n // Find the maximum y-value in the data\r\n let maxValue = allData.reduce((max, item) => Math.max(max, item.y), 0);\r\n // If the maximum value is more than the current maxLineValue, update it\r\n if(maxValue > maxLineValue) {\r\n setMaxLineValue(maxValue);\r\n }\r\n \r\n setModbusDataDI1(DI1Data);\r\n setModbusDataDI2(DI2Data);\r\n setModbusDataDI3(DI3Data);\r\n } else if (selectedID === '847127FFFE1CB050') {\r\n setIsDataInvalid(true);\r\n // Do nothing, no data will be displayed\r\n } else {\r\n // Handle the case where selectedID is neither \"ftteng.ddns.net:502\" nor \"847127FFFE1CB050\"\r\n console.log(`Unexpected selectedID: ${selectedID}`);\r\n setIsIdInvalid(true);\r\n }\r\n\r\n // Add delay\r\n await new Promise(resolve => setTimeout(resolve, 2000));\r\n setProgress(60);\r\n\r\n setTimeout(() => {\r\n setProgress(99);\r\n }, 1000);\r\n\r\n // Simulate rendering completion\r\n setTimeout(() => {\r\n setProgress(100);\r\n }, 2000);\r\n }\r\n\r\n fetchData();\r\n}, [startDate, endDate, selectedID]); // Add selectedID to the dependencies\r\n\r\n\r\n\r\nconsole.log(\"Progress:\", progress);\r\n\r\n\r\nconst yTickValues = useMemo(() => {\r\n const ticks = [];\r\n for (let i = 0; i <= maxLineValue; i += 5) {\r\n ticks.push(parseFloat(i.toFixed(2)));\r\n }\r\n return ticks;\r\n }, [maxLineValue]);\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\nif (progress === 100) {\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n setStartDate(new Date(date.getFullYear(), date.getMonth(), date.getDate()))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n setEndDate(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n }\r\n content={() => componentRef.current}\r\n \r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n{isIdInvalid &&
Selecione um medidor para renderizar o Gráfico
}\r\n{isDataInvalid &&
Sem dados para esse Medidor
}\r\n \r\n
\r\n {(\r\n modbusDataDI1.length > 0 ||\r\n modbusDataDI2.length > 0 ||\r\n modbusDataDI3.length > 0) ? (\r\n
{/* Add a wrapper div for the chart */}\r\n
\r\n }\r\n width={chartWidth}\r\n height={chartHeight}\r\n domain={{ y: 0 }}\r\n padding={chartPadding}\r\n>\r\n \r\n\r\n \r\n {\r\n // Create a new date object from the tick, and add 3 hours to it\r\n let newDate = new Date(tick.getTime() + (3 * 60 * 60 * 1000));\r\n\r\n // Then you can format the newDate object as you wish:\r\n if (startDate.getDate() === endDate.getDate() &&\r\n startDate.getMonth() === endDate.getMonth() &&\r\n startDate.getFullYear() === endDate.getFullYear())\r\n {\r\n return `${('0' + newDate.getHours()).slice(-2)}:00`; // This will format the tick values as hours\r\n }\r\n else \r\n {\r\n return `${newDate.getDate()}-${('0'+(newDate.getMonth()+1)).slice(-2)}-${('0'+newDate.getFullYear()).slice(-2)}`; // This will format the tick values as YYYY-MM-DD\r\n }\r\n }\r\n}\r\n/>\r\n\r\n\r\n\r\n\r\n `${t} `} // Add the unit \"V\" to each tick value\r\n/>\r\n \r\n \r\n \r\n \r\n `DI1: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: \"#CD5C5C\" },\r\n }}\r\n data={modbusDataDI1}\r\n />\r\n `DI2: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: '#0E85CA' }\r\n }}\r\n data={modbusDataDI2}\r\n />\r\n `DI3: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: 'black' }\r\n }}\r\n data={modbusDataDI3}\r\n />\r\n\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n} else {\r\n return (\r\n
\r\n

\r\n {progress < 40\r\n ? 'Carregando Dados'\r\n : progress < 60\r\n ? 'Gerando Gráfico'\r\n : progress < 80\r\n ? 'Quase pronto!'\r\n :\"99%\"}\r\n

\r\n \r\n
\r\n );\r\n}}","import { useEffect } from \"react\";\r\nimport React, { useState, useMemo, useRef } from \"react\";\r\nimport styles from \"./styles.module.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { LinearProgress } from '@mui/material';\r\nimport * as XLSX from 'xlsx';\r\nimport ReactToPrint from 'react-to-print';\r\n\r\nimport {\r\n VictoryChart,\r\n VictoryAxis,\r\n VictoryLine,\r\n VictoryArea,\r\n VictoryBar,\r\n VictoryLegend,\r\n} from \"victory\";\r\nimport { getReportModbusDataAPI, getReportKhompDataAPI } from \"../../../services/restApiReport\";\r\n\r\nexport default function EnergiaChart({ selectedID, setSelectedID }) {\r\n\r\nconst [progress, setProgress] = useState(0);\r\n\r\nconst [chartWidth, setChartWidth] = useState(1200);\r\nconst [chartHeight, setChartHeight] = useState(500);\r\nconst [chartPadding, setChartPadding] = useState({ bottom: 120, left: 60, right: 50, top: 70 });\r\nconst [legendCoordinates, setLegendCoordinates] = useState({ x: 40, y: 540 });\r\n\r\n\r\n\r\n// Function to adjust chart properties based on screen size\r\nfunction adjustChartProperties() {\r\n // Check if the window width is less than or equal to 768px\r\n const isSmallScreen = window.matchMedia(\"(max-width: 00px)\").matches;\r\n\r\n if (isSmallScreen) {\r\n // Update chart properties for small screens\r\n setChartWidth(500);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 80, left: 40, right: 30, top: 0 });\r\n setLegendCoordinates({ x: 20, y: 650 });\r\n } else {\r\n // Update chart properties for large screens\r\n setChartWidth(1200);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 120, left: 60, right: 50, top: 70 });\r\n setLegendCoordinates({ x: 40, y: 660 });\r\n }\r\n}\r\n\r\n// Call the function when the page loads\r\nuseEffect(() => {\r\n adjustChartProperties();\r\n}, []);\r\n\r\n// Add an event listener to call the function when the window is resized\r\nuseEffect(() => {\r\n window.addEventListener(\"resize\", adjustChartProperties);\r\n // Remove the event listener when the component is unmounted\r\n return () => window.removeEventListener(\"resize\", adjustChartProperties);\r\n}, []);\r\n\r\n\r\n\r\n\r\n\r\nlet today = new Date();\r\nlet startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\nlet endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59);\r\n\r\nconst [startDate, setStartDate] = useState(startOfDay);\r\nconst [endDate, setEndDate] = useState(endOfDay);\r\n\r\n\r\n\r\n\r\n\r\nconst componentRef = useRef();\r\n\r\n\r\n\r\n\r\n//AREA DATA\r\n\r\n\r\n\r\n// Get the number of days in the date range\r\n\r\n\r\nlet start = new Date(startDate);\r\n let end = new Date(endDate);\r\n let dayCount = Math.round((end - start) / (1000 * 60 * 60 * 24));\r\n\r\nconst [maxLineValue, setMaxLineValue] = useState(0);\r\nconst [minLineValue, setMinLineValue] = useState(Infinity);\r\n\r\n\r\n\r\n\r\n\r\nconst generateHoursBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setHours(dt.getHours() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst generateDatesBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nfunction downloadExcelFile() {\r\n // Combine all data arrays into one\r\n const allData = [...modbusDataECkW, ...khompDataEPR, ...khompDataEPS, ...khompDataEPT];\r\n \r\n // Generate a worksheet\r\n const ws = XLSX.utils.json_to_sheet(allData);\r\n \r\n // Create a new Workbook\r\n const wb = XLSX.utils.book_new();\r\n \r\n // Append the worksheet to the Workbook\r\n XLSX.utils.book_append_sheet(wb, ws, \"Data\");\r\n \r\n // Write the Workbook to an Excel file\r\n const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });\r\n \r\n // Create a blob from the Excel file\r\n let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});\r\n \r\n // Create a link element\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'data.xlsx';\r\n \r\n // Append the link to the body and simulate a click event to start the download\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n// This is needed to convert the string to array buffer\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i=0; i {\r\n const itemDate = new Date(item.timestamp);\r\n if (itemDate >= serverStartDate && itemDate <= serverEndDate) {\r\n const yValue = item.value;\r\n if (yValue <= 64100) {\r\n return { x: item.timestamp, y: (yValue) };\r\n }\r\n }\r\n return null;\r\n })\r\n .filter(item => item !== null);\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching modbus data:\", error);\r\n return []; // Return an empty array in case of an error\r\n }\r\n}\r\n\r\nasync function mountedArrayForKhomp(variableName) {\r\n try {\r\n // Get the date in the server's timezone\r\n const serverStartDate = new Date(startDate.getTime() - (3 * 60 * 60 * 1000));\r\n const serverEndDate = new Date(endDate.getTime() - (3 * 60 * 60 * 1000));\r\n\r\n const khompDataGet = await getReportKhompDataAPI(\r\n \"847127FFFE1CB050\",\r\n serverStartDate.toISOString(),\r\n serverEndDate.toISOString(),\r\n variableName\r\n );\r\n\r\n const chartData = khompDataGet.data.values\r\n .map((item) => ({ x: new Date(item.timestamp), y: (item.value / 3600000 ) }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching Khomp data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\n\r\n const [isIdInvalid, setIsIdInvalid] = useState(false); // Add this line\r\n \r\nuseEffect(() => {\r\n async function fetchData() {\r\n setProgress(10);\r\n setModbusDataECkW([]);\r\n setKhompDataEPR([]);\r\n setKhompDataEPS([]);\r\n setKhompDataEPT([]);\r\n\r\n if (selectedID === \"ftteng.ddns.net:502\") {\r\n const ECkWData = await mountedarrayformodbus(\"ECkW\");\r\n setProgress(40);\r\n\r\n let maxValue = ECkWData.reduce((max, item) => Math.max(max, item.y), 0);\r\n let minValue = ECkWData.reduce((min, item) => Math.min(min, item.y), Infinity);\r\n\r\n if(maxValue > maxLineValue) {\r\n setMaxLineValue(maxValue);\r\n }\r\n if(minValue < minLineValue) {\r\n setMinLineValue(minValue);\r\n }\r\n\r\n setModbusDataECkW(ECkWData);\r\n setIsIdInvalid(false); // Add this line\r\n } else if (selectedID === \"847127FFFE1CB050\") {\r\n const EPRData = await mountedArrayForKhomp(\"EPR\");\r\n const EPSData = await mountedArrayForKhomp(\"EPS\");\r\n const EPTData = await mountedArrayForKhomp(\"EPT\");\r\n\r\n // create a new data array for sum of EPR, EPS and EPT\r\n const totalData = EPRData.map((epr, index) => {\r\n const epsY = EPSData[index] ? EPSData[index].y : 0;\r\n const eptY = EPTData[index] ? EPTData[index].y : 0;\r\n return { x: epr.x, y: epr.y + epsY + eptY };\r\n});\r\n console.log(\"EPRData\",EPRData);\r\n console.log(\"EPSData\",EPSData);\r\n console.log(\"EPTData\",EPTData);\r\n console.log(\"totalData\",totalData);\r\n\r\n setProgress(40);\r\n\r\n let maxValue = totalData.reduce((max, item) => Math.max(max, item.y), 0);\r\n let minValue = totalData.reduce((min, item) => Math.min(min, item.y), Infinity);\r\n\r\n if(maxValue > maxLineValue) {\r\n setMaxLineValue(maxValue);\r\n }\r\n if(minValue < minLineValue) {\r\n setMinLineValue(minValue);\r\n }\r\n\r\n // set the totalData array to state\r\n setKhompDataEPR(totalData);\r\n console.log(khompDataEPR);\r\n setIsIdInvalid(false); // Add this line\r\n }\r\n else {// Handle the case where selectedID is neither \"ftteng.ddns.net:502\" nor \"847127FFFE1CB050\"\r\n console.log(`Unexpected selectedID: ${selectedID}`);\r\n setIsIdInvalid(true); // Add this line\r\n \r\n }\r\n\r\n await new Promise(resolve => setTimeout(resolve, 2000));\r\n setProgress(60);\r\n\r\n setTimeout(() => {\r\n setProgress(99);\r\n }, 1000);\r\n\r\n setTimeout(() => {\r\n setProgress(100);\r\n }, 2000);\r\n }\r\n\r\n fetchData();\r\n}, [startDate, endDate, selectedID]); \r\n\r\n\r\n// Function to handle ID selection change\r\n const handleIDChange = (event) => {\r\n setSelectedID(event.target.value);\r\n }\r\n\r\n\r\n\r\n\r\n \r\n if (progress === 100) {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n setStartDate(new Date(date.getFullYear(), date.getMonth(), date.getDate()))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n setEndDate(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n }\r\n content={() => componentRef.current}\r\n \r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n{isIdInvalid &&
Selecione um medidor para renderizar o Gráfico
}\r\n
\r\n {(modbusDataECkW.length > 0 ||\r\n khompDataEPR.length > 0 ||\r\n khompDataEPS.length > 0 ||\r\n khompDataEPT.length > 0) ? (\r\n
\r\n {/* Add a wrapper div for the chart */}\r\n
\r\n \r\n \r\n\r\n\r\n \r\n {\r\n // Create a new date object from the tick, and add 3 hours to it\r\n let newDate = new Date(tick.getTime() + (3 * 60 * 60 * 1000));\r\n\r\n // Then you can format the newDate object as you wish:\r\n if (startDate.getDate() === endDate.getDate() &&\r\n startDate.getMonth() === endDate.getMonth() &&\r\n startDate.getFullYear() === endDate.getFullYear())\r\n {\r\n return `${('0' + newDate.getHours()).slice(-2)}:00`; // This will format the tick values as hours\r\n }\r\n else \r\n {\r\n return `${newDate.getDate()}-${('0'+(newDate.getMonth()+1)).slice(-2)}-${('0'+newDate.getFullYear()).slice(-2)}`; // This will format the tick values as YYYY-MM-DD\r\n }\r\n }\r\n}\r\n/>\r\n `${t} `} // Add the unit \"V\" to each tick value\r\n/>\r\n \r\n `I3: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: 'red' }\r\n }}\r\n data={khompDataEPR}\r\n />\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n} else {\r\n return (\r\n
\r\n

\r\n {progress < 40\r\n ? 'Carregando Dados'\r\n : progress < 60\r\n ? 'Gerando Gráfico'\r\n : progress < 80\r\n ? 'Quase pronto!'\r\n : '99%'}\r\n

\r\n \r\n
\r\n );\r\n}}","import { useEffect } from \"react\";\r\nimport React, { useState, useMemo,useRef } from \"react\";\r\nimport styles from \"./styles.module.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport * as XLSX from 'xlsx';\r\nimport ReactToPrint from 'react-to-print';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\n\r\n\r\nimport {\r\n VictoryChart,\r\n VictoryAxis,\r\n VictoryLine,\r\n VictoryArea,\r\n VictoryBar,\r\n VictoryLegend,\r\n} from \"victory\";\r\nimport { getReportModbusDataAPI } from \"../../../services/restApiReport\";\r\n\r\nexport default function PotenciaChart({ selectedID, setSelectedID }) {\r\n\r\n\r\n const [chartWidth, setChartWidth] = useState(1200);\r\nconst [chartHeight, setChartHeight] = useState(500);\r\nconst [chartPadding, setChartPadding] = useState({ bottom: 120, left: 60, right: 50, top: 70 });\r\nconst [legendCoordinates, setLegendCoordinates] = useState({ x: 40, y: 540 });\r\n\r\n\r\n\r\n// Function to adjust chart properties based on screen size\r\nfunction adjustChartProperties() {\r\n // Check if the window width is less than or equal to 768px\r\n const isSmallScreen = window.matchMedia(\"(max-width: 00px)\").matches;\r\n\r\n if (isSmallScreen) {\r\n // Update chart properties for small screens\r\n setChartWidth(500);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 80, left: 40, right: 30, top: 0 });\r\n setLegendCoordinates({ x: 20, y: 650 });\r\n } else {\r\n // Update chart properties for large screens\r\n setChartWidth(1200);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 120, left: 60, right: 50, top: 70 });\r\n setLegendCoordinates({ x: 40, y: 660 });\r\n }\r\n}\r\n\r\n// Call the function when the page loads\r\nuseEffect(() => {\r\n adjustChartProperties();\r\n}, []);\r\n\r\n// Add an event listener to call the function when the window is resized\r\nuseEffect(() => {\r\n window.addEventListener(\"resize\", adjustChartProperties);\r\n // Remove the event listener when the component is unmounted\r\n return () => window.removeEventListener(\"resize\", adjustChartProperties);\r\n}, []);\r\n\r\n\r\nlet today = new Date();\r\nlet startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\nlet endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59);\r\n\r\nconst [startDate, setStartDate] = useState(startOfDay);\r\nconst [endDate, setEndDate] = useState(endOfDay);\r\n\r\n\r\n// Get the number of days in the date range\r\nlet start = new Date(startDate);\r\nlet end = new Date(endDate);\r\nlet dayCount = Math.round((end - start) / (1000 * 60 * 60 * 24));\r\n\r\n\r\nconst [maxLineValue, setMaxLineValue] = useState(0);\r\n\r\nconst areaData = useMemo(() => {\r\n const data = [];\r\n for(let i=0; i < dayCount; i++) {\r\n let day = new Date(start);\r\n day.setDate(start.getDate() + i);\r\n\r\n if(day.getDay() >= 1 && day.getDay() <= 5) {\r\n day.setHours(18, 30, 0, 0);\r\n let areaStart = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n \r\n data.push({x: areaStart, y: 0});\r\n data.push({x: areaStart, y: maxLineValue});\r\n\r\n day.setHours(20, 30, 0, 0);\r\n let areaEnd = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n\r\n data.push({x: areaEnd, y: maxLineValue});\r\n data.push({x: areaEnd, y: 0});\r\n }\r\n }\r\n return data;\r\n}, [dayCount, start, maxLineValue]);\r\n\r\nconst areaData2 = useMemo(() => {\r\n const data = [];\r\n for(let i=0; i < dayCount; i++) {\r\n let day = new Date(start);\r\n day.setDate(start.getDate() + i);\r\n\r\n if(day.getDay() >= 1 && day.getDay() <= 5) {\r\n day.setHours(17, 30, 0, 0);\r\n let areaStart2 = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n \r\n data.push({x: areaStart2, y: 0});\r\n data.push({x: areaStart2, y: maxLineValue});\r\n\r\n day.setHours(21, 30, 0, 0);\r\n let areaEnd2 = new Date(day.getTime() - (3 * 60 * 60 * 1000)); // Subtract 3 hours\r\n\r\n data.push({x: areaEnd2, y: maxLineValue});\r\n data.push({x: areaEnd2, y: 0});\r\n }\r\n }\r\n return data;\r\n}, [dayCount, start, maxLineValue]);\r\n\r\n\r\nconst generateHoursBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setHours(dt.getHours() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst generateDatesBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\n \r\n \r\n\r\n\r\nfunction downloadExcelFile() {\r\n // Combine all data arrays into one\r\n const allData = [...modbusDataPRT, ...modbusDataPAT, ...modbusDataPRT2];\r\n \r\n // Generate a worksheet\r\n const ws = XLSX.utils.json_to_sheet(allData);\r\n \r\n // Create a new Workbook\r\n const wb = XLSX.utils.book_new();\r\n \r\n // Append the worksheet to the Workbook\r\n XLSX.utils.book_append_sheet(wb, ws, \"Data\");\r\n \r\n // Write the Workbook to an Excel file\r\n const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });\r\n \r\n // Create a blob from the Excel file\r\n let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});\r\n \r\n // Create a link element\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'data.xlsx';\r\n \r\n // Append the link to the body and simulate a click event to start the download\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n// This is needed to convert the string to array buffer\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i=0; i {\r\n const itemDate = new Date(item.timestamp);\r\n if (itemDate >= serverStartDate && itemDate <= serverEndDate) {\r\n const yValue = item.value;\r\n if (yValue <= 64100) {\r\n return { x: item.timestamp, y: (yValue * 3 * 50 * 220) / 16384 };\r\n }\r\n }\r\n return null;\r\n })\r\n .filter(item => item !== null);\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching modbus data:\", error);\r\n return [];\r\n }\r\n}\r\n\r\nconst [isIdInvalid, setIsIdInvalid] = useState(false); // Add this line\r\n\r\nconst [isDataInvalid, setIsDataInvalid] = useState(false); // Add this line\r\n\r\n\r\nuseEffect(() => {\r\n async function fetchData() {\r\n // Initialize progress to 10\r\n setProgress(10);\r\n\r\n // Clear the current data\r\n setModbusDataPAT([]);\r\n setModbusDataPRT([]);\r\n setModbusDataPRT2([]);\r\n setIsIdInvalid(false);\r\n setIsDataInvalid(false);\r\n\r\n if (selectedID === 'ftteng.ddns.net:502') {\r\n const [PATData, PRTData] = await Promise.all([\r\n mountedarrayformodbus(\"PAT\"),\r\n mountedarrayformodbus(\"PRT\")\r\n ]);\r\n\r\n console.log('PATData:', PATData);\r\n console.log('PRTData:', PRTData);\r\n\r\n // Set progress to 40 after fetching data\r\n setProgress(40);\r\n\r\n let maxValuePAT = PATData.reduce((max, item) => Math.max(max, item.y), 0);\r\n let maxValuePRT = PRTData.reduce((max, item) => Math.max(max, item.y), 0);\r\n let maxValue = Math.max(maxValuePAT, maxValuePRT);\r\n if(maxValue > maxLineValue) {\r\n setMaxLineValue(maxValue);\r\n }\r\n\r\n setModbusDataPAT(PATData);\r\n setModbusDataPRT(PRTData);\r\n\r\n const sumData = PATData.map((data, i) => {\r\n return { x: data.x, y: (data.y + (PRTData[i] ? PRTData[i].y : 0)) };\r\n });\r\n\r\n console.log('sumData:', sumData);\r\n\r\n setModbusDataPRT2(sumData);\r\n } else if (selectedID === '847127FFFE1CB050') {\r\n // Do nothing, no data will be displayed\r\n setIsDataInvalid(true);\r\n } else {\r\n // Handle the case where selectedID is neither \"ftteng.ddns.net:502\" nor \"847127FFFE1CB050\"\r\n console.log(`Unexpected selectedID: ${selectedID}`);\r\n setIsIdInvalid(true);\r\n }\r\n\r\n // Add delay\r\n await new Promise(resolve => setTimeout(resolve, 2000));\r\n setProgress(60);\r\n\r\n // Simulate rendering progress\r\n setTimeout(() => {\r\n setProgress(99);\r\n }, 1000);\r\n\r\n // Simulate rendering completion\r\n setTimeout(() => {\r\n setProgress(100);\r\n }, 2000);\r\n }\r\n\r\n fetchData();\r\n}, [startDate, endDate, selectedID]); // Add selectedID to the dependencies\r\n\r\n\r\nconst yTickValues = useMemo(() => {\r\n const ticks = [];\r\n for (let i = 0; i <= maxLineValue; i += 100) {\r\n ticks.push(parseFloat(i.toFixed(2)));\r\n }\r\n return ticks;\r\n}, [maxLineValue]);\r\n\r\n\r\n\r\n\r\n if (progress === 100) {\r\n return (\r\n \r\n
\r\n
\r\n \r\n setStartDate(new Date(date.getFullYear(), date.getMonth(), date.getDate()))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n setEndDate(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n }\r\n content={() => componentRef.current}\r\n \r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n {isIdInvalid &&
Selecione um medidor para renderizar o Gráfico
}\r\n{isDataInvalid &&
Sem dados para esse Medidor
}\r\n
\r\n {(modbusDataPRT.length > 0 && modbusDataPAT.length > 0) ? (\r\n
{/* Add a wrapper div for the chart */}\r\n
\r\n \r\n \r\n \r\n {\r\n // Create a new date object from the tick, and add 3 hours to it\r\n let newDate = new Date(tick.getTime() + (3 * 60 * 60 * 1000));\r\n\r\n // Then you can format the newDate object as you wish:\r\n if (startDate.getDate() === endDate.getDate() &&\r\n startDate.getMonth() === endDate.getMonth() &&\r\n startDate.getFullYear() === endDate.getFullYear())\r\n {\r\n return `${('0' + newDate.getHours()).slice(-2)}:00`; // This will format the tick values as hours\r\n }\r\n else \r\n {\r\n return `${newDate.getDate()}-${('0'+(newDate.getMonth()+1)).slice(-2)}-${('0'+newDate.getFullYear()).slice(-2)}`; // This will format the tick values as YYYY-MM-DD\r\n }\r\n }\r\n}\r\n/>\r\n `${t} `} // Add the unit \"V\" to each tick value\r\n/>\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n} else {\r\n return (\r\n
\r\n

\r\n {progress < 40\r\n ? 'Carregando Dados'\r\n : progress < 60\r\n ? 'Gerando Gráfico'\r\n : progress < 80\r\n ? 'Quase pronto!'\r\n :\"99%\"}\r\n

\r\n \r\n
\r\n );\r\n}}","import { useEffect } from \"react\";\r\nimport React, { useState, useMemo, useRef } from \"react\";\r\nimport styles from \"./styles.module.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { LinearProgress } from '@mui/material';\r\nimport * as XLSX from 'xlsx';\r\nimport ReactToPrint from 'react-to-print';\r\n\r\nimport {\r\n VictoryChart,\r\n VictoryAxis,\r\n VictoryLine,\r\n VictoryArea,\r\n VictoryBar,\r\n VictoryLegend,\r\n} from \"victory\";\r\nimport { getReportKhompDataAPI } from \"../../../services/restApiReport\";\r\n\r\nexport default function FatorPotenciaChart({ selectedID, setSelectedID }) {\r\n\r\n \r\n \r\n const [progress, setProgress] = useState(0);\r\n \r\n const [chartWidth, setChartWidth] = useState(1200);\r\nconst [chartHeight, setChartHeight] = useState(500);\r\nconst [chartPadding, setChartPadding] = useState({ bottom: 120, left: 60, right: 50, top: 70 });\r\nconst [legendCoordinates, setLegendCoordinates] = useState({ x: 60, y: 540 });\r\n\r\n\r\n\r\n// Function to adjust chart properties based on screen size\r\nfunction adjustChartProperties() {\r\n // Check if the window width is less than or equal to 768px\r\n const isSmallScreen = window.matchMedia(\"(max-width: 900px)\").matches;\r\n\r\n if (isSmallScreen) {\r\n // Update chart properties for small screens\r\n setChartWidth(500);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 80, left: 40, right: 30, top: 90 });\r\n setLegendCoordinates({ x: 20, y: 650 });\r\n } else {\r\n // Update chart properties for large screens\r\n setChartWidth(1200);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 120, left: 60, right: 50, top: 70 });\r\n setLegendCoordinates({ x: 40, y: 660 });\r\n }\r\n}\r\n\r\n// Call the function when the page loads\r\nuseEffect(() => {\r\n adjustChartProperties();\r\n}, []);\r\n\r\n// Add an event listener to call the function when the window is resized\r\nuseEffect(() => {\r\n window.addEventListener(\"resize\", adjustChartProperties);\r\n // Remove the event listener when the component is unmounted\r\n return () => window.removeEventListener(\"resize\", adjustChartProperties);\r\n}, []);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nlet today = new Date();\r\nlet startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\nlet endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59);\r\n\r\nconst [startDate, setStartDate] = useState(startOfDay);\r\nconst [endDate, setEndDate] = useState(endOfDay);\r\n\r\nconst [maxLineValue, setMaxLineValue] = useState(0);\r\nconst [minLineValue, setMinLineValue] = useState(Infinity);\r\n// Get the number of days in the date range\r\n\r\n\r\n const generateHoursBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setHours(dt.getHours() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst generateDatesBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst componentRef = useRef();\r\n\r\n const [khompDataFPR, setkhompDataFPR] = useState([]);\r\n const [khompDataFPS, setkhompDataFPS] = useState([]);\r\n const [khompDataFPT, setkhompDataFPT] = useState([]);\r\n\r\nfunction downloadExcelFile() {\r\n // Combine all data arrays into one\r\n const allData = [...khompDataFPR, ...khompDataFPS, ...khompDataFPT];\r\n \r\n // Generate a worksheet\r\n const ws = XLSX.utils.json_to_sheet(allData);\r\n \r\n // Create a new Workbook\r\n const wb = XLSX.utils.book_new();\r\n \r\n // Append the worksheet to the Workbook\r\n XLSX.utils.book_append_sheet(wb, ws, \"Data\");\r\n \r\n // Write the Workbook to an Excel file\r\n const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });\r\n \r\n // Create a blob from the Excel file\r\n let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});\r\n \r\n // Create a link element\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'data.xlsx';\r\n \r\n // Append the link to the body and simulate a click event to start the download\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n// This is needed to convert the string to array buffer\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i=0; i {\r\n const itemDate = new Date(item.timestamp);\r\n if (itemDate >= serverStartDate && itemDate <= serverEndDate) {\r\n let transformedValue = 0;\r\n\r\n if (item.value >= 0) {\r\n transformedValue = 1 - item.value;\r\n } else {\r\n transformedValue = - (item.value + 1);\r\n }\r\n \r\n return { x: itemDate, y: transformedValue };\r\n }\r\n return null;\r\n })\r\n .filter(item => item !== null);\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching Khomp data:\", error);\r\n return [];\r\n }\r\n}\r\n\r\nconst [isIdInvalid, setIsIdInvalid] = useState(false); // Add this line\r\n\r\nconst [isDataInvalid, setIsDataInvalid] = useState(false); // Add this line\r\n\r\n\r\n\r\n\r\nuseEffect(() => {\r\n async function fetchData() {\r\n // Initialize progress to 10\r\n setProgress(10);\r\n\r\n // Clear the current data\r\n setkhompDataFPR([]);\r\n setkhompDataFPS([]);\r\n setkhompDataFPT([]);\r\n setIsIdInvalid(false);\r\n setIsDataInvalid(false);\r\n\r\n\r\n if (selectedID === '847127FFFE1CB050') {\r\n // Fetch the FPR data and update the progress\r\n const FPRData = await mountedArrayForKhomp(\"FPR\");\r\n setProgress(20);\r\n\r\n // Fetch the FPS data and update the progress\r\n const FPSData = await mountedArrayForKhomp(\"FPS\");\r\n setProgress(40);\r\n\r\n // Fetch the FPT data and update the progress\r\n const FPTData = await mountedArrayForKhomp(\"FPT\");\r\n setProgress(60);\r\n\r\n // Find the maximum and minimum y-value in the data for FPR, FPS and FPT\r\n let maxValue = Math.max(\r\n FPRData.reduce((max, item) => Math.max(max, item.y), 0),\r\n FPSData.reduce((max, item) => Math.max(max, item.y), 0),\r\n FPTData.reduce((max, item) => Math.max(max, item.y), 0)\r\n );\r\n\r\n let minValue = Math.min(\r\n FPRData.reduce((min, item) => Math.min(min, item.y), Infinity),\r\n FPSData.reduce((min, item) => Math.min(min, item.y), Infinity),\r\n FPTData.reduce((min, item) => Math.min(min, item.y), Infinity)\r\n );\r\n\r\n // If the maximum value is more than the current maxLineValue, update it\r\n if(maxValue > maxLineValue) {\r\n setMaxLineValue(maxValue);\r\n }\r\n\r\n // If the minimum value is less than the current minLineValue, update it\r\n if(minValue < minLineValue) {\r\n setMinLineValue(minValue);\r\n }\r\n\r\n // Set the data in state\r\n setkhompDataFPR(FPRData);\r\n setkhompDataFPS(FPSData);\r\n setkhompDataFPT(FPTData);\r\n } else if (selectedID === 'ftteng.ddns.net:502') {\r\n // Do nothing, no data will be displayed\r\n setIsDataInvalid(true);\r\n } else {\r\n // Handle the case where selectedID is neither \"ftteng.ddns.net:502\" nor \"847127FFFE1CB050\"\r\n console.log(`Unexpected selectedID: ${selectedID}`);\r\n setIsIdInvalid(true);\r\n }\r\n\r\n // Add delay\r\n await new Promise(resolve => setTimeout(resolve, 2000));\r\n setProgress(80);\r\n\r\n // Simulate rendering progress\r\n setTimeout(() => {\r\n setProgress(90);\r\n }, 1000);\r\n\r\n // Simulate rendering completion\r\n setTimeout(() => {\r\n setProgress(100);\r\n }, 2000);\r\n }\r\n\r\n fetchData();\r\n}, [startDate, endDate, selectedID]); // Add selectedID to the dependencies\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n if (progress === 100) {\r\n return (\r\n
\r\n
\r\n \r\n setStartDate(new Date(date.getFullYear(), date.getMonth(), date.getDate()))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n setEndDate(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n }\r\n content={() => componentRef.current}\r\n \r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n{isIdInvalid &&
Selecione um medidor para renderizar o Gráfico
}\r\n{isDataInvalid &&
Sem dados para esse Medidor
}\r\n
\r\n {khompDataFPR.length > 0 ||\r\n khompDataFPS.length > 0 ||\r\n khompDataFPT.length > 0 ? (\r\n
\r\n {/* Add a wrapper div for the chart */}\r\n
\r\n \r\n \r\n\r\n\r\n \r\n {\r\n // Create a new date object from the tick, and add 3 hours to it\r\n let newDate = new Date(tick.getTime() + (3 * 60 * 60 * 1000));\r\n\r\n // Then you can format the newDate object as you wish:\r\n if (startDate.getDate() === endDate.getDate() &&\r\n startDate.getMonth() === endDate.getMonth() &&\r\n startDate.getFullYear() === endDate.getFullYear())\r\n {\r\n return `${('0' + newDate.getHours()).slice(-2)}:00`; // This will format the tick values as hours\r\n }\r\n else \r\n {\r\n return `${newDate.getDate()}-${('0'+(newDate.getMonth()+1)).slice(-2)}-${('0'+newDate.getFullYear()).slice(-2)}`; // This will format the tick values as YYYY-MM-DD\r\n }\r\n }\r\n}\r\n/>\r\n {\r\n let transformedTick = 0;\r\n if (t >= 0) {\r\n transformedTick = 1 - t;\r\n } else {\r\n transformedTick = -(1 - Math.abs(t));\r\n }\r\n return `${transformedTick.toFixed(1)} `;\r\n}}\r\n/>\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {/*\r\n\r\n */}\r\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n} else {\r\n return (\r\n
\r\n

\r\n {progress < 40\r\n ? 'Carregando Dados'\r\n : progress < 60\r\n ? 'Gerando Gráfico'\r\n : progress < 80\r\n ? 'Quase pronto!'\r\n : '99%'}\r\n

\r\n \r\n
\r\n );\r\n}}","import { useEffect } from \"react\";\r\nimport React, { useState, useMemo, useRef } from \"react\";\r\nimport styles from \"./styles.module.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport * as XLSX from 'xlsx';\r\nimport ReactToPrint from 'react-to-print';\r\n\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport {\r\n VictoryChart,\r\n VictoryAxis,\r\n VictoryLine,\r\n VictoryArea,\r\n VictoryLegend,\r\n} from \"victory\";\r\nimport { getReportModbusDataAPI, getReportKhompDataAPI } from \"../../../services/restApiReport\";\r\n\r\nexport default function TemperaturaChart({ selectedID, setSelectedID }) {\r\n\r\nconst [progress, setProgress] = useState(0);\r\n\r\nconst [chartWidth, setChartWidth] = useState(1200);\r\nconst [chartHeight, setChartHeight] = useState(500);\r\nconst [chartPadding, setChartPadding] = useState({ bottom: 120, left: 60, right: 50, top: 70 });\r\nconst [legendCoordinates, setLegendCoordinates] = useState({ x: 40, y: 540 });\r\n\r\n\r\n\r\n// Function to adjust chart properties based on screen size\r\nfunction adjustChartProperties() {\r\n // Check if the window width is less than or equal to 768px\r\n const isSmallScreen = window.matchMedia(\"(max-width: 00px)\").matches;\r\n\r\n if (isSmallScreen) {\r\n // Update chart properties for small screens\r\n setChartWidth(500);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 80, left: 40, right: 30, top: 0 });\r\n setLegendCoordinates({ x: 20, y: 650 });\r\n } else {\r\n // Update chart properties for large screens\r\n setChartWidth(1200);\r\n setChartHeight(700);\r\n setChartPadding({ bottom: 120, left: 60, right: 50, top: 70 });\r\n setLegendCoordinates({ x: 40, y: 660 });\r\n }\r\n}\r\n\r\n// Call the function when the page loads\r\nuseEffect(() => {\r\n adjustChartProperties();\r\n}, []);\r\n\r\n// Add an event listener to call the function when the window is resized\r\nuseEffect(() => {\r\n window.addEventListener(\"resize\", adjustChartProperties);\r\n // Remove the event listener when the component is unmounted\r\n return () => window.removeEventListener(\"resize\", adjustChartProperties);\r\n}, []);\r\n\r\n\r\n\r\n\r\n\r\nlet today = new Date();\r\nlet startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\nlet endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59);\r\n\r\nconst [startDate, setStartDate] = useState(startOfDay);\r\nconst [endDate, setEndDate] = useState(endOfDay);\r\n\r\n\r\n\r\n\r\n\r\nconst generateHoursBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setHours(dt.getHours() + 1);\r\n }\r\n return arr;\r\n};\r\n\r\n\r\nconst generateDatesBetween = (start, end) => {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n\r\n \r\n};\r\n\r\n\r\n const componentRef = useRef();\r\n\r\n // Modbus data\r\nconst [modbusDataI1, setModbusDataI1] = useState([]);\r\nconst [modbusDataI2, setModbusDataI2] = useState([]);\r\nconst [modbusDataI3, setModbusDataI3] = useState([]);\r\n \r\n const [khompDataTemp, setKhompDataTemp] = useState([]);\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\nfunction downloadExcelFile() {\r\n // Combine all data arrays into one\r\n const allData = [...khompDataTemp, ];\r\n \r\n // Generate a worksheet\r\n const ws = XLSX.utils.json_to_sheet(allData);\r\n \r\n // Create a new Workbook\r\n const wb = XLSX.utils.book_new();\r\n \r\n // Append the worksheet to the Workbook\r\n XLSX.utils.book_append_sheet(wb, ws, \"Data\");\r\n \r\n // Write the Workbook to an Excel file\r\n const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });\r\n \r\n // Create a blob from the Excel file\r\n let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});\r\n \r\n // Create a link element\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'data.xlsx';\r\n \r\n // Append the link to the body and simulate a click event to start the download\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n// This is needed to convert the string to array buffer\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i=0; i ({ x: new Date(item.timestamp), y: (item.value * 50) / 16384 }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching modbus data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\n async function mountedArrayForKhomp(variableName) {\r\n try {\r\n // Get the date in the server's timezone\r\n const serverStartDate = new Date(startDate.getTime() - (3 * 60 * 60 * 1000));\r\n const serverEndDate = new Date(endDate.getTime() - (3 * 60 * 60 * 1000));\r\n\r\n const khompDataGet = await getReportKhompDataAPI(\r\n \"847127FFFE1CB050\",\r\n serverStartDate.toISOString(),\r\n serverEndDate.toISOString(),\r\n variableName\r\n );\r\n\r\n const chartData = khompDataGet.data.values\r\n .map((item) => ({ x: new Date(item.timestamp), y: (item.value ) }));\r\n\r\n return chartData;\r\n } catch (error) {\r\n console.error(\"Error fetching Khomp data:\", error);\r\n return [];\r\n }\r\n }\r\n\r\n const [isIdInvalid, setIsIdInvalid] = useState(false); // Add this line\r\n\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n // Initialize progress to 10\r\n setProgress(10);\r\n\r\n if (selectedID === \"ftteng.ddns.net:502\") {\r\n // Fetch the data and update the progress for Modbus\r\n const I1Data = await mountedarrayformodbus(\"I1\");\r\n setProgress(30);\r\n const I2Data = await mountedarrayformodbus(\"I2\");\r\n setProgress(50);\r\n const I3Data = await mountedarrayformodbus(\"I3\");\r\n setProgress(70);\r\n\r\n // Set the data in state\r\n setModbusDataI1(I1Data);\r\n setModbusDataI2(I2Data);\r\n setModbusDataI3(I3Data);\r\n\r\n // Reset Khomp data\r\n setKhompDataTemp([]);\r\n \r\n \r\n setIsIdInvalid(true); // Add this line\r\n } else if (selectedID === \"847127FFFE1CB050\") {\r\n // Fetch the data and update the progress for Khomp\r\n const TempData = await mountedArrayForKhomp(\"Temp\");\r\n setProgress(50);\r\n \r\n\r\n // Set the data in state\r\n setKhompDataTemp(TempData);\r\n \r\n\r\n // Reset Modbus data\r\n setModbusDataI1([]);\r\n setModbusDataI2([]);\r\n setModbusDataI3([]);\r\n setIsIdInvalid(false); // Add this line\r\n }\r\n \r\n else {// Handle the case where selectedID is neither \"ftteng.ddns.net:502\" nor \"847127FFFE1CB050\"\r\n console.log(`Unexpected selectedID: ${selectedID}`);\r\n setIsIdInvalid(true); // Add this line\r\n \r\n }\r\n\r\n // Simulate rendering completion\r\n setTimeout(() => {\r\n setProgress(100);\r\n }, 1000);\r\n }\r\n\r\n fetchData();\r\n}, [startDate, endDate, selectedID]);\r\n\r\n\r\n\r\n// Function to handle ID selection change\r\n const handleIDChange = (event) => {\r\n setSelectedID(event.target.value);\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\nif (progress === 100) {\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n setStartDate(new Date(date.getFullYear(), date.getMonth(), date.getDate()))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n setEndDate(new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59))}\r\n className={styles.datePicker}\r\n />\r\n\r\n \r\n }\r\n content={() => componentRef.current}\r\n \r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n{isIdInvalid &&
Selecione um medidor para renderizar o Gráfico
}\r\n \r\n
\r\n {(khompDataTemp.length > 0) ? (\r\n
{/* Add a wrapper div for the chart */}\r\n
\r\n }\r\n width={chartWidth}\r\n height={chartHeight}\r\n domain={{ y: 0 }}\r\n padding={chartPadding}\r\n>\r\n \r\n\r\n \r\n {\r\n // Create a new date object from the tick, and add 3 hours to it\r\n let newDate = new Date(tick.getTime() + (3 * 60 * 60 * 1000));\r\n\r\n // Then you can format the newDate object as you wish:\r\n if (startDate.getDate() === endDate.getDate() &&\r\n startDate.getMonth() === endDate.getMonth() &&\r\n startDate.getFullYear() === endDate.getFullYear())\r\n {\r\n return `${('0' + newDate.getHours()).slice(-2)}:00`; // This will format the tick values as hours\r\n }\r\n else \r\n {\r\n return `${newDate.getDate()}-${('0'+(newDate.getMonth()+1)).slice(-2)}-${('0'+newDate.getFullYear()).slice(-2)}`; // This will format the tick values as YYYY-MM-DD\r\n }\r\n }\r\n}\r\n/>\r\n\r\n\r\n\r\n\r\n `${t} `} // Add the unit \"V\" to each tick value\r\n/>\r\n \r\n {/* `I1: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: \"#CD5C5C\" },\r\n }}\r\n data={modbusDataI1}\r\n />\r\n `I2: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: '#0E85CA' }\r\n }}\r\n data={modbusDataI2}\r\n />\r\n `I3: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: 'black' }\r\n }}\r\n data={modbusDataI3}\r\n/>*/}\r\n\r\n\r\n `I1: ${datum.y}`}\r\n //labelComponent={}\r\n style={{\r\n data: { stroke: \"#CD5C5C\" },\r\n }}\r\n data={khompDataTemp}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n} else {\r\n return (\r\n
\r\n

\r\n {progress < 40\r\n ? 'Carregando Dados'\r\n : progress < 60\r\n ? 'Gerando Gráfico'\r\n : progress < 80\r\n ? 'Quase pronto!'\r\n :\"99%\"}\r\n

\r\n \r\n
\r\n );\r\n}}","import { forwardRef, useEffect, useState } from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport DateRangeIcon from '@mui/icons-material/DateRange';\r\nimport styles from \"./styles.module.scss\";\r\nimport useFormatDate from \"../../../util/hooks/useFormartDate\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\n\r\nconst DatePickerCalendarIcon = ({ typeChart, handleDateChange }) => {\r\n const today = new Date(new Date().getTime()- (new Date().getTimezoneOffset() * 60000))\r\n const [startDate, setStartDate] = useState(today);\r\n const { setDateToCallApiForChartArea, setDateToCallApiForChartBar, setDateToCallApiForChartPie,} = useStateContext()\r\n const formatDate = useFormatDate();\r\n\r\n useEffect(() => {\r\n switch (typeChart) {\r\n case 'pie':\r\n setDateToCallApiForChartPie(formatDate.formatTomorrow(startDate.toISOString()));\r\n return\r\n case 'area':\r\n setDateToCallApiForChartArea(formatDate.formatTomorrow(startDate.toISOString()));\r\n return\r\n \r\n case 'bar':\r\n setDateToCallApiForChartBar(formatDate.formatTomorrow(startDate.toISOString()));\r\n return\r\n default:\r\n return null\r\n }\r\n }, [startDate]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleClick = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n const ExampleCustomInput = forwardRef(({ value, onClick }, ref) => (\r\n \r\n ));\r\n\r\n return (\r\n
\r\n {\r\n setStartDate(date);\r\n handleDateChange(date);\r\n }}\r\n customInput={}\r\n \r\n />\r\n
\r\n );\r\n};\r\n\r\nconst getLastWeek = () => {\r\n const now = new Date()\r\n const lastWeek = {\r\n start: new Date(now.getTime() - (7 * 24 * 60 * 60 * 1000)),\r\n end: now\r\n }\r\n return lastWeek\r\n}\r\n\r\nconst subDays = (days) => {\r\n const now = new Date()\r\n const lastWeek = new Date(now.getTime() - (days * 24 * 60 * 60 * 1000))\r\n return lastWeek\r\n}\r\n\r\nconst DatePickerCalendarIcon1 = () => {\r\n const today1 = new Date(new Date().getTime()- (new Date().getTimezoneOffset() * 60000))\r\n const yesterday1 = new Date(new Date().getTime() - (24 * 60 * 60 * 1000))\r\n const [startDate1, setStartDate1] = useState(today1);\r\n const formatDate = useFormatDate();\r\n const { setDateToCallApiForChartArea1 } = useStateContext() \r\n useEffect(() => {\r\n setDateToCallApiForChartArea1(formatDate.formatTomorrow(startDate1.toISOString()));\r\n }, [startDate1]);\r\n \r\n const handleClick = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n const ExampleCustomInput = forwardRef(({ value, onClick }, ref) => (\r\n \r\n ));\r\n\r\n return (\r\n
\r\n setStartDate1(date1)}\r\n customInput={}\r\n />\r\n
\r\n );\r\n};\r\n\r\nconst DatePickerCalendarIcon2 = () => {\r\n const today2 = new Date(new Date().getTime()- (new Date().getTimezoneOffset() * 60000))\r\n const yesterday2 = new Date(new Date().getTime() - (24 * 60 * 60 * 1000))\r\n const [startDate2, setStartDate2] = useState(yesterday2);\r\n const formatDate = useFormatDate();\r\n const { setDateToCallApiForChartArea2 } = useStateContext() \r\n useEffect(() => {\r\n setDateToCallApiForChartArea2(formatDate.formatTomorrow(startDate2.toISOString()));\r\n }, [startDate2]);\r\n \r\n const handleClick = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n const ExampleCustomInput = forwardRef(({ value, onClick }, ref) => (\r\n \r\n ));\r\n\r\n return (\r\n
\r\n setStartDate2(date2)}\r\n customInput={}\r\n />\r\n
\r\n );\r\n};\r\n\r\n\r\n\r\nconst DatePickerCalendarRange = ({ typeChart }) => {\r\n const yesterday = new Date(new Date().getTime() - (24 * 60 * 60 * 1000))\r\n\r\n const [startDate, setStartDate] = useState(yesterday);\r\n const [endDate, setEndDate] = useState(null);\r\n const [mountedDate, setMountedDate] = useState()\r\n const { setDateToCallApiForChartAreaRange, setDateToCallApiForChartBarRange, setDateToCallApiForChartPieRange } = useStateContext()\r\n const formatDate = useFormatDate();\r\n\r\n useEffect(() => {\r\n setStartDate(new Date(getLastWeek().start))\r\n setEndDate(new Date(getLastWeek().end))\r\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (startDate && endDate) {\r\n setMountedDate({\r\n start: formatDate.formatSimpleDate(startDate.toISOString()),\r\n end: formatDate.formatSimpleDate(endDate.toISOString())\r\n })\r\n }\r\n }, [startDate, endDate]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (mountedDate) {\r\n switch (typeChart) {\r\n case 'pie':\r\n setDateToCallApiForChartPieRange(mountedDate);\r\n return\r\n case 'area':\r\n setDateToCallApiForChartAreaRange(mountedDate);\r\n return\r\n \r\n case 'bar':\r\n setDateToCallApiForChartBarRange(mountedDate);\r\n return\r\n default:\r\n return null\r\n }\r\n }\r\n }, [mountedDate]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const onChange = (dates) => {\r\n const [start, end] = dates;\r\n setStartDate(start);\r\n setEndDate(end);\r\n };\r\n\r\n const handleClick = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n const ExampleCustomInput = forwardRef(({ value, onClick }, ref) => (\r\n \r\n ));\r\n\r\n return (\r\n
\r\n }\r\n />\r\n
\r\n );\r\n};\r\n\r\n\r\n\r\nexport {\r\n DatePickerCalendarIcon,\r\n DatePickerCalendarIcon1,\r\n DatePickerCalendarIcon2,\r\n DatePickerCalendarRange\r\n}","import React, { createContext, ReactNode, useContext, useState } from \"react\"\r\n\r\ntype PropsModalContext = {\r\n modalUserADM: boolean,\r\n modalEditClient: boolean,\r\n modalEditSubCategory: boolean,\r\n modalEditModel: boolean,\r\n modalEditMeter: boolean,\r\n modalEditConsumerUnit: boolean,\r\n modalEditBusinessType: boolean,\r\n modalEditEquipment: boolean,\r\n modalManagerEquipEdit: boolean,\r\n modalMeterRegistration: boolean,\r\n modalModelRegistration: boolean,\r\n modalEquipmentRegistration: boolean,\r\n modalSubCategoryRegistration: boolean,\r\n modalConsumerUnitRegistration: boolean,\r\n modalBusinessTypeRegistration: boolean,\r\n exitModal: boolean,\r\n connectSmartMeter: boolean,\r\n connectIntrusiveSmartMeter: boolean,\r\n modalDelete: boolean,\r\n modalDesassociated: boolean,\r\n modalChartFullscreenPie: boolean,\r\n modalChartFullscreenArea: boolean,\r\n modalChartFullscreenBar: boolean,\r\n setModalUserADM: React.Dispatch>,\r\n setModalEditClient: React.Dispatch>,\r\n setModalEditSubCategory: React.Dispatch>,\r\n setModalEditModel: React.Dispatch>,\r\n setModalEditMeter: React.Dispatch>,\r\n setModalEditConsumerUnit: React.Dispatch>,\r\n setEditModalBusinessType: React.Dispatch>,\r\n setModalEditEquipment: React.Dispatch>,\r\n setModalManagerEquipEdit: React.Dispatch>,\r\n setModalMeterRegistration: React.Dispatch>,\r\n setModalModelRegistration: React.Dispatch>,\r\n setModalEquipmentRegistration: React.Dispatch>,\r\n setModalSubCategoryRegistration: React.Dispatch>\r\n setModalConsumerUnitRegistration: React.Dispatch>\r\n setModalBusinessTypeRegistration: React.Dispatch>\r\n setExitModal: React.Dispatch>\r\n setConnectSmartMeter: React.Dispatch>\r\n setConnectIntrusiveSmartMeter: React.Dispatch>\r\n setModalDelete: React.Dispatch>\r\n setModalDesassociated: React.Dispatch>\r\n setModalChartFullscreenPie: React.Dispatch>\r\n setModalChartFullscreenArea: React.Dispatch>\r\n setModalChartFullscreenBar: React.Dispatch>\r\n}\r\n\r\ntype ModalContextTypes = {\r\n children: ReactNode\r\n}\r\n\r\nexport const ModalContext = createContext({} as PropsModalContext)\r\n\r\nfunction ModalProvider({ children }: ModalContextTypes) {\r\n const [modalUserADM, setModalUserADM] = useState(false)\r\n const [modalEditClient, setModalEditClient] = useState(false)\r\n const [modalEditSubCategory, setModalEditSubCategory] = useState(false)\r\n const [modalEditModel, setModalEditModel] = useState(false)\r\n const [modalEditMeter, setModalEditMeter] = useState(false)\r\n const [modalManagerEquipEdit, setModalManagerEquipEdit] = useState(false)\r\n const [modalEditEquipment, setModalEditEquipment] = useState(false)\r\n const [modalEditBusinessType, setEditModalBusinessType] = useState(false)\r\n const [modalMeterRegistration, setModalMeterRegistration] = useState(false)\r\n const [modalModelRegistration, setModalModelRegistration] = useState(false)\r\n const [modalEquipmentRegistration, setModalEquipmentRegistration] = useState(false)\r\n const [modalSubCategoryRegistration, setModalSubCategoryRegistration] = useState(false)\r\n const [modalConsumerUnitRegistration, setModalConsumerUnitRegistration] = useState(false)\r\n const [modalBusinessTypeRegistration, setModalBusinessTypeRegistration] = useState(false)\r\n const [modalEditConsumerUnit, setModalEditConsumerUnit] = useState(false)\r\n const [exitModal, setExitModal] = useState(false)\r\n const [modalDelete, setModalDelete] = useState(false)\r\n const [modalDesassociated, setModalDesassociated] = useState(false)\r\n const [connectSmartMeter, setConnectSmartMeter] = useState(false)\r\n const [connectIntrusiveSmartMeter, setConnectIntrusiveSmartMeter] = useState(false)\r\n const [modalChartFullscreenPie, setModalChartFullscreenPie] = useState(false)\r\n const [modalChartFullscreenArea, setModalChartFullscreenArea] = useState(false)\r\n const [modalChartFullscreenBar, setModalChartFullscreenBar] = useState(false)\r\n\r\n const objProvider = {\r\n modalUserADM,\r\n modalEditClient,\r\n modalEditSubCategory,\r\n modalEditModel,\r\n modalEditMeter,\r\n modalEditEquipment,\r\n modalEditConsumerUnit,\r\n setEditModalBusinessType,\r\n modalManagerEquipEdit,\r\n modalMeterRegistration,\r\n modalModelRegistration,\r\n modalEquipmentRegistration,\r\n modalSubCategoryRegistration,\r\n modalConsumerUnitRegistration,\r\n modalBusinessTypeRegistration,\r\n exitModal,\r\n modalDelete,\r\n modalDesassociated,\r\n connectSmartMeter,\r\n connectIntrusiveSmartMeter,\r\n modalChartFullscreenPie,\r\n modalChartFullscreenArea,\r\n modalChartFullscreenBar,\r\n setModalUserADM,\r\n setModalEditClient,\r\n setModalEditSubCategory,\r\n setModalEditModel,\r\n setModalEditMeter,\r\n setModalEditEquipment,\r\n setModalEditConsumerUnit,\r\n modalEditBusinessType,\r\n setModalManagerEquipEdit,\r\n setModalMeterRegistration,\r\n setModalModelRegistration,\r\n setModalSubCategoryRegistration,\r\n setModalEquipmentRegistration,\r\n setModalConsumerUnitRegistration,\r\n setModalBusinessTypeRegistration,\r\n setExitModal,\r\n setModalDelete,\r\n setModalDesassociated,\r\n setConnectSmartMeter,\r\n setConnectIntrusiveSmartMeter,\r\n setModalChartFullscreenPie,\r\n setModalChartFullscreenArea,\r\n setModalChartFullscreenBar,\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nfunction useModalContext() {\r\n const context = useContext(ModalContext)\r\n return context\r\n}\r\n\r\nexport {\r\n ModalProvider,\r\n useModalContext\r\n}\r\n","import { PlaceData } from \"../util/types\";\r\nimport api from \"./api\";\r\n\r\n//Consumer unit rest\r\nexport function getConsumerUnit() {\r\n return api.get(\"/api/ConsumerUnit\");\r\n}\r\n\r\nexport function getPowerDistributors() {\r\n return api.get(`/api/ConsumerUnit/power-distributors`);\r\n}\r\n\r\nexport function getConsumerUnitById(id: number | string) {\r\n return api.get(`/api/ConsumerUnit/${id}`);\r\n}\r\n\r\nexport function getConsumerUnitByUserId(id: number | string) {\r\n return api.get(`/api/ConsumerUnit/user/${id}`);\r\n}\r\n\r\nexport function postConsumerUnit(consumerUnit: PlaceData) {\r\n return api.post(\"/api/ConsumerUnit\", consumerUnit);\r\n}\r\n\r\nexport function putConsumerUnit(consumerUnit: any, id: string) {\r\n return api.put(`/api/ConsumerUnit/${parseInt(id)}`, consumerUnit);\r\n}\r\n\r\nexport function delConsumerUnit(id: number | string) {\r\n return api.delete(`/api/ConsumerUnit/${id}`);\r\n}\r\n","import React, { createContext, ReactNode, useContext, useState } from \"react\";\r\nimport {\r\n delConsumerUnit,\r\n getConsumerUnit,\r\n getConsumerUnitById,\r\n getConsumerUnitByUserId,\r\n postConsumerUnit,\r\n putConsumerUnit,\r\n getPowerDistributors,\r\n} from \"../services/restApiConsumerUnit\";\r\nimport {\r\n ConsumerUnitType,\r\n PlaceData,\r\n ConsumerUnitResponse,\r\n PowerDistributors,\r\n} from \"../util/types\";\r\nimport { useStateContext } from \"./stateContext\";\r\n\r\ntype PropsConsumerUnitContext = {\r\n consumerUnitData: any;\r\n pickerData: any;\r\n consumerUnitList: Array;\r\n\r\n powerDistributorsList: Array;\r\n setPowerDistributorsList: React.Dispatch<\r\n React.SetStateAction>\r\n >;\r\n getPowerDistributorsList: () => Promise;\r\n\r\n setConsumerUnitData: React.Dispatch>;\r\n setConsumerUnitList: React.Dispatch<\r\n React.SetStateAction>\r\n >;\r\n consumerUnitDataResponse: ConsumerUnitType;\r\n setConsumerUnitDataResponse: React.Dispatch<\r\n React.SetStateAction\r\n >;\r\n getConsumerUnitList: (id: string | number, privilege: boolean) => void;\r\n getConsumerUnitByIdContext: (id: string | number) => void;\r\n getConsumerUnitByUserIdContext: (id: string | number) => void;\r\n consumerUnitPostApi: (consumerUnitData: PlaceData) => Promise;\r\n editConsumerUnit: (consumerUnitData: any, id: any) => Promise;\r\n deleteConsumer: (id: string | number) => Promise;\r\n mountPickerData: (data: any) => void;\r\n};\r\n\r\ntype ConsumerUnitContextTypes = {\r\n children: ReactNode;\r\n};\r\n\r\nexport const ConsumerUnitContext = createContext(\r\n {} as PropsConsumerUnitContext\r\n);\r\n\r\nfunction ConsumerUnitContextProvider(props: ConsumerUnitContextTypes) {\r\n const [consumerUnitData, setConsumerUnitData] = useState(\r\n {} as ConsumerUnitType\r\n );\r\n const [consumerUnitList, setConsumerUnitList] = useState<\r\n Array\r\n >([] as Array);\r\n const [consumerUnitDataResponse, setConsumerUnitDataResponse] =\r\n useState({} as ConsumerUnitType);\r\n const [pickerData, setPickerData] = useState({} as any);\r\n\r\n const [powerDistributorsList, setPowerDistributorsList] = useState<\r\n Array\r\n >([] as Array);\r\n\r\n const { setSnackBarTextResponse, setIsGetFetching } = useStateContext();\r\n\r\n const getConsumerUnitList = async (id: string | number, privilege: boolean) => {\r\n if (privilege) {\r\n setConsumerUnitList([]);\r\n setIsGetFetching(true);\r\n const { data, status } = await getConsumerUnit();\r\n if (status === 200) {\r\n setConsumerUnitList(data);\r\n setIsGetFetching(false);\r\n } else {\r\n setIsGetFetching(false);\r\n setSnackBarTextResponse(`Error ${status}`);\r\n }\r\n } else {\r\n setConsumerUnitList([]);\r\n setIsGetFetching(true);\r\n const { data, status } = await getConsumerUnitByUserId(id);\r\n if (status === 200) {\r\n setConsumerUnitList(data);\r\n setIsGetFetching(false);\r\n } else {\r\n setIsGetFetching(false);\r\n setSnackBarTextResponse(`Error ${status}`);\r\n }\r\n }\r\n };\r\n\r\n const getPowerDistributorsList = async () => {\r\n const { data, status } = await getPowerDistributors();\r\n if (status === 200) {\r\n setPowerDistributorsList(data);\r\n } else {\r\n console.log(\"status erro: \", status);\r\n }\r\n };\r\n\r\n const getConsumerUnitByIdContext = async (id: string | number) => {\r\n setConsumerUnitList([]);\r\n setIsGetFetching(true);\r\n const { data, status } = await getConsumerUnitById(id);\r\n if (status === 200) {\r\n setConsumerUnitList(data);\r\n setIsGetFetching(false);\r\n } else {\r\n setIsGetFetching(false);\r\n setSnackBarTextResponse(`Error ${status}`);\r\n }\r\n };\r\n\r\n const getConsumerUnitByUserIdContext = async (id: string | number) => {\r\n setConsumerUnitList([]);\r\n setIsGetFetching(true);\r\n const { data, status } = await getConsumerUnitByUserId(id);\r\n if (status === 200) {\r\n setConsumerUnitList(data);\r\n setIsGetFetching(false);\r\n } else {\r\n setIsGetFetching(false);\r\n setSnackBarTextResponse(`Error ${status}`);\r\n }\r\n };\r\n\r\n const consumerUnitPostApi = async (consumerUnitData: PlaceData) => {\r\n let hasPostConsumerUnit = false;\r\n const role = localStorage.getItem(\"role\");\r\n const userIdValue = localStorage.getItem(\"userIdValue\");\r\n let privilege = false\r\n privilege = role === \"Admin\" || role === \"tecnico\"\r\n\r\n try {\r\n const { status } = await postConsumerUnit(consumerUnitData);\r\n hasPostConsumerUnit = status === 200;\r\n if (hasPostConsumerUnit && userIdValue) {\r\n getConsumerUnitList(userIdValue, privilege);\r\n setSnackBarTextResponse(\"Unidade consumidora cadastrada com sucesso!\");\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n return hasPostConsumerUnit;\r\n };\r\n\r\n const editConsumerUnit = async (consumerUnitPut: any, id: any) => {\r\n let hasEditConsumerUnit = false;\r\n const role = localStorage.getItem(\"role\");\r\n const userIdValue = localStorage.getItem(\"userIdValue\");\r\n let privilege = false\r\n privilege = role === \"Admin\" || role === \"tecnico\"\r\n\r\n try {\r\n const { status } = await putConsumerUnit(consumerUnitPut, id);\r\n hasEditConsumerUnit = status === 200;\r\n if (hasEditConsumerUnit && userIdValue) {\r\n getConsumerUnitList(userIdValue, privilege);\r\n setSnackBarTextResponse(\"Unidade consumidora editada com sucesso!\");\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n\r\n return hasEditConsumerUnit;\r\n };\r\n\r\n const deleteConsumer = async (id: string | number) => {\r\n let hasDeleted = false;\r\n const role = localStorage.getItem(\"role\");\r\n const userIdValue = localStorage.getItem(\"userIdValue\");\r\n\r\n let privilege = false\r\n privilege = role === \"Admin\" || role === \"tecnico\"\r\n\r\n try {\r\n const { status } = await delConsumerUnit(id);\r\n hasDeleted = status === 200;\r\n if (hasDeleted && userIdValue) {\r\n getConsumerUnitList(userIdValue, privilege);\r\n setSnackBarTextResponse(\"Unidade consumidora deletada com sucesso!\");\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error;\r\n setSnackBarTextResponse(errorMessage);\r\n }\r\n\r\n return hasDeleted;\r\n };\r\n\r\n const mountPickerData = (data: any) => {\r\n setPickerData([{}]);\r\n let auxArray: { value: any; label: any }[] = [];\r\n data.map((item: { placeName: any; id: any }) =>\r\n auxArray.push({\r\n value: item.id,\r\n label: item.placeName,\r\n })\r\n );\r\n setPickerData(auxArray);\r\n };\r\n\r\n const objProvider = {\r\n consumerUnitData,\r\n consumerUnitList,\r\n pickerData,\r\n consumerUnitDataResponse,\r\n powerDistributorsList,\r\n setPowerDistributorsList,\r\n setConsumerUnitList,\r\n setConsumerUnitData,\r\n setConsumerUnitDataResponse,\r\n getConsumerUnitList,\r\n getConsumerUnitByIdContext,\r\n getConsumerUnitByUserIdContext,\r\n getPowerDistributorsList,\r\n consumerUnitPostApi,\r\n editConsumerUnit,\r\n deleteConsumer,\r\n mountPickerData,\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nfunction useConsumerUnitContext() {\r\n const context = useContext(ConsumerUnitContext);\r\n return context;\r\n}\r\n\r\nexport { ConsumerUnitContextProvider, useConsumerUnitContext };\r\n","import {\r\n VictoryArea,\r\n VictoryAxis,\r\n VictoryChart,\r\n VictoryGroup,\r\n VictoryLegend,\r\n VictoryStack,\r\n VictoryTooltip,\r\n VictoryVoronoiContainer,\r\n} from \"victory\";\r\nimport useFormatDate from \"../../../util/hooks/useFormartDate\";\r\nimport styles from \"./styles.module.scss\";\r\nimport { ReactComponent as EquipamentIconOutline } from \"../../../assets/equipamentIconOutline.svg\";\r\nimport { useReportContext } from \"../../../providers/reportContext\";\r\nimport { useEffect, useState } from \"react\";\r\nimport theme from \"../../../styles/victoryTheme\";\r\nimport {\r\n itemsPerRowAreaChartFull,\r\n topSizeAreaChartFull,\r\n widthAreaChartFull,\r\n heightAreaChartFull,\r\n legendAreaChartXFull,\r\n legendAreaChartYFull,\r\n bottomSizeAreaChartFull,\r\n fontSizeLabelsAreaChartFull,\r\n tickFontSizeLabelsAreaChartFull,\r\n tooltipWidthAreaChartFull,\r\n tooltipHeigthAreaChartFull,\r\n tooltipFontSizeAreaChartFull,\r\n\r\n} from \"../../../util/ResponsiveCharts/responsive\";\r\nimport { CircularProgress } from \"@mui/material\";\r\n\r\nexport default function AreaChartComp({ width, height, data, chartSizeType }) {\r\n const formartDate = useFormatDate();\r\n const { loadingChart } = useReportContext();\r\n const [areaChartData, setAreaChartData] = useState();\r\n const { equipmentConsumptions, totalConsumption } = data; \r\n const [tickFontSize, setTickFontSize] = useState(0);\r\n const [fontLabelsAreaChart, setFontLabelsAreaChart] = useState(0);\r\n const [topSize, setTopSize] = useState(0);\r\n const [bottomSize, setBottomSize] = useState(0);\r\n const [widthAreaChartX, setAreaChartX] = useState(0);\r\n const [heightAreaChartY, setAreaChartY] = useState(0);\r\n const [legendAreaCharttX, setLegendAreaChartX] = useState(0);\r\n const [legendAreaCharttY, setLegendAreaChartY] = useState(0);\r\n const [itemsPerRow, setItemsPerRow] = useState(0);\r\n const [tooltipWidth, setTooltipWidth] = useState(0);\r\n const [tooltipHeigth, setTooltipHeigth] = useState(0);\r\n const [tooltipFontSize, setTooltipFontSize] = useState(0);\r\n\r\n \r\n\r\n\r\n useEffect(() => {\r\n switch(chartSizeType){ \r\n case 'fullscreen':\r\n setTickFontSize(tickFontSizeLabelsAreaChartFull); \r\n setFontLabelsAreaChart(fontSizeLabelsAreaChartFull);\r\n setTopSize(topSizeAreaChartFull);\r\n setBottomSize(bottomSizeAreaChartFull);\r\n setLegendAreaChartX(legendAreaChartXFull);\r\n setLegendAreaChartY(legendAreaChartYFull);\r\n setAreaChartX(widthAreaChartFull);\r\n setAreaChartY(heightAreaChartFull);\r\n setItemsPerRow(itemsPerRowAreaChartFull);\r\n setTooltipWidth(tooltipWidthAreaChartFull);\r\n setTooltipHeigth(tooltipHeigthAreaChartFull);\r\n setTooltipFontSize(tooltipFontSizeAreaChartFull); \r\n break; \r\n } \r\n }, []);\r\n\r\n useEffect(() => {\r\n mountedArrayForAreaChart();\r\n }, [data]); // eslint-disable-line react-hooks/exhaustive-deps \r\n\r\n function mountedArrayForAreaChart() {\r\n let areaData = [];\r\n if (data) {\r\n if (equipmentConsumptions && equipmentConsumptions.length > 0) {\r\n equipmentConsumptions\r\n .filter((fil) => fil.consumption !== 0)\r\n .forEach((item) => {\r\n areaData.push({ name: item.name, values: item.values });\r\n }); \r\n }\r\n }\r\n setAreaChartData(areaData);\r\n } \r\n\r\n if (loadingChart) {\r\n return (\r\n
\r\n \r\n

Buscando informações

\r\n \r\n
\r\n \r\n );\r\n } else {\r\n if (Object.keys(data).length > 0 && totalConsumption === 0) {\r\n return (\r\n
\r\n

Não encontramos dados de consumo de desagregação

\r\n \r\n
\r\n );\r\n }\r\n if (areaChartData && areaChartData.length > 0) {\r\n return (\r\n
\r\n `${datum.consumption.toFixed(2)} kWh`}\r\n labelComponent={\r\n \r\n }\r\n />\r\n }\r\n >\r\n `${tick} kWh`}\r\n style={{\r\n axis: { stroke: \"#C8CBCC\" },\r\n grid: {\r\n stroke: ({ tick }) => (tick > 0.5 ? \"#C8CBCC\" : \"#C8CBCC\"),\r\n },\r\n ticks: { stroke: \"#C8CBCC\", size: 15 },\r\n tickLabels: { fontSize: tickFontSize, padding: 10, fontWeight: \"700\" },\r\n }}\r\n />\r\n (tick > 0.5 ? \"#C8CBCC\" : \"#C8CBCC\"),\r\n },\r\n ticks: { stroke: \"#C8CBCC\", size: 15, padding: 10 },\r\n tickLabels: {\r\n fontSize: tickFontSize,\r\n padding: 10,\r\n fontWeight: \"700\",\r\n angle: 45,\r\n },\r\n }}\r\n />\r\n \r\n {areaChartData.map((item, index) => {\r\n return (\r\n \r\n formartDate.formatUTC24(d.timestamp)}\r\n y=\"consumption\"\r\n data={item.values}\r\n />\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n }\r\n return (\r\n
\r\n

Não encontramos dados de consumo de desagregação nesta data.

\r\n \r\n
\r\n );\r\n}\r\n","\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog from \"@mui/material/Dialog\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\r\nimport styles from \"./styles.module.scss\";\r\n\r\nimport lampada from \"../../../assets/image/lampada.jpg\";\r\n\r\nimport {\r\n FormControl,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport { DateTime } from \"luxon\";\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { \r\n DatePickerCalendarIcon1,\r\n DatePickerCalendarIcon2,\r\n DatePickerCalendarRange,\r\n} from \"../../Form/DatePicker\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport PieChart from \"../../Charts/PieChart\";\r\nimport { useConsumerUnitContext } from \"../../../providers/consumerUnitContext\";\r\nimport AreaChart from \"../../Charts/AreaChart\";\r\nimport BarChart from \"../../Charts/BarChart\";\r\nimport LineAreaChart from \"../../Charts/TensaoChart\";\r\nimport LineAreaChart2 from \"../../Charts/DemandaChart\";\r\nimport LineAreaChart3 from \"../../Charts/CorrenteChart\";\r\nimport LineAreaChart4 from \"../../Charts/Energia\";\r\nimport LineAreaChart5 from \"../../Charts/PotenciaChart\";\r\nimport { useReportContext } from \"../../../providers/reportContext\";\r\nimport CustomButton from \"../../Form/button\";\r\nimport { getReportConsumerUnitForHoursAPI } from \"../../../services/restApiReport\";\r\nimport AreaChartComp from \"../../Charts/AreaChartComp\";\r\n\r\n\r\ntype props = {\r\n dataChart: any;\r\n typeChart: string;\r\n};\r\n\r\nexport default function ChartFullScreen({ dataChart, typeChart }: props) {\r\n if (typeChart === \"pie\") {\r\n return ;\r\n }\r\n if (typeChart === \"bar\") {\r\n return ;\r\n }\r\n if (typeChart === \"area\") {\r\n return ;\r\n }\r\n \r\n \r\n return null;\r\n}\r\n\r\nfunction CardPie({ data, typeChart }: any) { \r\n const {\r\n modalChartFullscreenPie,\r\n setModalChartFullscreenPie,\r\n setModalChartFullscreenArea,\r\n setModalChartFullscreenBar,\r\n } = useModalContext();\r\n const { loadingChartPie } = useReportContext();\r\n const { consumerUnitList } = useConsumerUnitContext();\r\n const [currentConsumerUnit, setCurrentConsumerUnit] = useState({} as any);\r\n const { dateToCallApiForChartPieRange, dateToCallApiForChartPie } = useStateContext();\r\n const [dateStart, setDateStart] = useState(\"\");\r\n const [dateEnd, setDateEnd] = useState(\"\");\r\n const { getReportConsumerUnitForHours, reportConsumerUnitForHoursPie } = useReportContext()\r\n const [pieChartData, setPieChartData] = useState([] as any);\r\n\r\n \r\n \r\n\r\n const [chartWidth, setChartWidth] = useState(window.innerWidth * 0.3);\r\nconst [chartHeight, setChartHeight] = useState(window.innerHeight * 0.3);\r\n\r\nuseEffect(() => {\r\n const handleResize = () => {\r\n setChartWidth(window.innerWidth * 0.3);\r\n setChartHeight(window.innerHeight * 0.3);\r\n}\r\n\r\n window.addEventListener('resize', handleResize)\r\n\r\n // Clean up function\r\n return () => {\r\n window.removeEventListener('resize', handleResize)\r\n }\r\n}, []) // Empty array ensures this runs on mount and unmount\r\n \r\n \r\n useEffect(() => {\r\n setModalChartFullscreenArea(false);\r\n setModalChartFullscreenBar(false); \r\n }, [modalChartFullscreenPie]); // eslint-disable-line\r\n\r\n useEffect(() => {\r\n let current = getInfoConsumerUnitFilter();\r\n setCurrentConsumerUnit(current);\r\n }, [data]); // eslint-disable-line\r\n\r\n function getInfoConsumerUnitFilter() {\r\n let consumerUnitFilter = consumerUnitList.filter(\r\n (item) => item.id === data.consumerUnitId\r\n );\r\n return consumerUnitFilter[0];\r\n }\r\n useEffect(() => {\r\n if (Object.keys(dateToCallApiForChartPieRange).length > 0) {\r\n let datePieStart = dateToCallApiForChartPieRange.start;\r\n let datePieEnd = dateToCallApiForChartPieRange.end;\r\n let formatPieDateStart = DateTime.fromJSDate(new Date(datePieStart))\r\n .setLocale(\"GTM\")\r\n .toLocaleString({ month: \"long\", day: \"numeric\" });\r\n let formatPieDateEnd = DateTime.fromJSDate(new Date(datePieEnd))\r\n .setLocale(\"GTM\")\r\n .toLocaleString({ month: \"long\", day: \"numeric\" });\r\n setDateStart(formatPieDateStart);\r\n setDateEnd(formatPieDateEnd);\r\n let fStart = DateTime.fromJSDate(\r\n new Date(datePieStart)\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\");\r\n let fEnd = DateTime.fromJSDate(\r\n new Date(datePieEnd)\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\"); \r\n getReportConsumerUnitForHours(currentConsumerUnit.id, fStart, fEnd, 'pie')\r\n \r\n }\r\n }, [dateToCallApiForChartPieRange]);\r\n\r\n useEffect(() => {\r\n setPieChartData(reportConsumerUnitForHoursPie) \r\n }, [reportConsumerUnitForHoursPie]) \r\n \r\n return (\r\n <>\r\n ( getReportConsumerUnitForHours(currentConsumerUnit.id, dateToCallApiForChartPie.start, dateToCallApiForChartPie.end, 'pie'), setModalChartFullscreenPie(false))}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n fullWidth={true}\r\n maxWidth=\"md\"\r\n >\r\n \r\n \r\n \r\n \r\n Calculadora de Consumo\r\n {dateStart} - {dateEnd}\r\n \r\n \r\n \r\n ( getReportConsumerUnitForHours(currentConsumerUnit.id, dateToCallApiForChartPie.start, dateToCallApiForChartPie.end, 'pie'),setModalChartFullscreenPie(false))}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!loadingChartPie && pieChartData && pieChartData.totalConsumption > 0 && (\r\n <>\r\n \r\n Consumo Total: {(pieChartData.totalSmartMeterConsumption) > pieChartData.totalConsumption ? \r\n (pieChartData.totalSmartMeterConsumption).toFixed(2):pieChartData.totalConsumption.toFixed(2)} kWh\r\n \r\n \r\n Valor Consumo Total:\r\n {((pieChartData.totalEquipmentConsumptionPrice/pieChartData.totalConsumption)*(pieChartData.totalSmartMeterConsumption)) > \r\n pieChartData.totalEquipmentConsumptionPrice ? \r\n ` R$ ${((pieChartData.totalEquipmentConsumptionPrice/pieChartData.totalConsumption)*(pieChartData.totalSmartMeterConsumption)).toFixed(2)}`\r\n :` R$ ${pieChartData.totalEquipmentConsumptionPrice.toFixed(2)}`}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {currentConsumerUnit &&\r\n Object.keys(currentConsumerUnit).length > 0 ? (\r\n <>\r\n {/*\r\n \r\n Detalhes de Unidade Consumidora\r\n \r\n \r\n Nome: {currentConsumerUnit.placeName}\r\n \r\n \r\n E-mail: {currentConsumerUnit.placeEmail}\r\n \r\n \r\n Telefone: {currentConsumerUnit.phone}\r\n \r\n \r\n Distribuidora de Energia:\r\n {currentConsumerUnit.powerDistributor.distribuidora} -\r\n {currentConsumerUnit.powerDistributor.uf}\r\n \r\n \r\n \r\n Detalhes de Medidor\r\n \r\n Nome: {currentConsumerUnit.mac?.name}\r\n \r\n \r\n Identificador: {currentConsumerUnit.mac?.id}\r\n \r\n \r\n \r\n \r\n Detalhes de Equipamentos\r\n \r\n \r\n Equipamentos cadastrados:{\" \"}\r\n {currentConsumerUnit.equipments.length}\r\n \r\n */}\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\nfunction CardArea({ data, typeChart }: any) { \r\n const {\r\n modalChartFullscreenArea,\r\n setModalChartFullscreenArea,\r\n setModalChartFullscreenBar,\r\n setModalChartFullscreenPie,\r\n } = useModalContext(); \r\n const [currentConsumerUnit, setCurrentConsumerUnit] = useState({} as any); \r\n const [areaData, setAreaData] = useState([] as any); \r\n const [lineData, setLineData] = useState([] as any); \r\n const [areaData1, setAreaData1] = useState([] as any); \r\n const [areaData2, setAreaData2] = useState([] as any); \r\n const { consumerUnitList } = useConsumerUnitContext(); \r\n const [comparasion, setComparasion] = useState(false);\r\n const { dateToCallApiForChartArea1 } = useStateContext();\r\n const { dateToCallApiForChartArea2 } = useStateContext();\r\n let dateAreaStart1 = new Date(dateToCallApiForChartArea1.start);\r\n let dateAreaEnd1 = new Date(dateToCallApiForChartArea1.end);\r\n let dtAreaStart = DateTime.fromMillis(dateAreaStart1.getTime());\r\n let dtAreaEnd = DateTime.fromMillis(dateAreaEnd1.getTime());\r\n\r\n let formatAreaDate = {\r\n end: dtAreaEnd.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" }),\r\n start: dtAreaStart.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" })\r\n }\r\n\r\n\r\n let dateAreaStart2 = new Date(dateToCallApiForChartArea2.start);\r\n let dateAreaEnd2 = new Date(dateToCallApiForChartArea2.end); //new Date(areaDate2.getTime() + (24 * 60 * 60 * 1000));\r\n let dtAreaStart2 = DateTime.fromMillis(dateAreaStart2.getTime());\r\n let dtAreaEnd2 = DateTime.fromMillis(dateAreaEnd2.getTime()); \r\n let formatAreaDate2 = {\r\n end: dtAreaEnd2.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" }),\r\n start: dtAreaStart2.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" })\r\n }\r\n\r\n function getInfoConsumerUnitFilter() {\r\n let consumerUnitFilter = consumerUnitList.filter(\r\n (item) => item.id === data.consumerUnitId\r\n );\r\n return consumerUnitFilter[0];\r\n }\r\n \r\n const getDataforAreaChart = async (id: string | number, startDate: string, endDate: string) => {\r\n const { data, status } = await getReportConsumerUnitForHoursAPI(id, startDate, endDate).then();\r\n if (status === 200){ \r\n setAreaData(data);\r\n }else{ \r\n setAreaData(data);\r\n } \r\n }\r\n\r\n const getDataforAreaChart1 = async (id: string | number, startDate: string, endDate: string) => {\r\n const { data, status } = await getReportConsumerUnitForHoursAPI(id, startDate, endDate).then();\r\n if (status === 200){ \r\n setAreaData1(data);\r\n }else{ \r\n setAreaData1(data);\r\n } \r\n }\r\n\r\n useEffect(() => {\r\n let current = getInfoConsumerUnitFilter();\r\n setCurrentConsumerUnit(current);\r\n }, [data]); // eslint-\r\n\r\n useEffect(() => {\r\n setModalChartFullscreenBar(false);\r\n setModalChartFullscreenPie(false);\r\n setComparasion(false);\r\n }, [modalChartFullscreenArea]); // eslint-disable-line\r\n\r\n useEffect(() => {\r\n let fStart1 = DateTime.fromJSDate(\r\n new Date(dateAreaStart1.getTime() + (24 * 60 * 60 * 1000))\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\");\r\n let fEnd1 = DateTime.fromJSDate(\r\n new Date(dateAreaEnd1.getTime() + (24 * 60 * 60 * 1000))\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\"); \r\n getDataforAreaChart1(data.consumerUnitId, fStart1, fEnd1); \r\n }, [dateToCallApiForChartArea1]);\r\n\r\n useEffect(() => {\r\n let fStart = DateTime.fromJSDate(\r\n new Date(dateAreaStart2.getTime() + (24 * 60 * 60 * 1000))\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\");\r\n let fEnd = DateTime.fromJSDate(\r\n new Date(dateAreaEnd2.getTime() + (24 * 60 * 60 * 1000))\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\"); \r\n getDataforAreaChart(data.consumerUnitId, fStart, fEnd); \r\n }, [dateToCallApiForChartArea2]);\r\n\r\n useEffect(() => {\r\n setAreaData2(areaData) \r\n }, [areaData]);\r\n \r\n const handdleClickComparasion = () => { \r\n setComparasion(true); \r\n };\r\n\r\n const handdleClickComparasionClose = () => { \r\n setComparasion(false);\r\n }\r\n \r\n if (comparasion){\r\n return (\r\n setModalChartFullscreenArea(false)}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n maxWidth=\"xl\"\r\n fullWidth={true}\r\n fullScreen={true}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {formatAreaDate.start}\r\n \r\n \r\n \r\n handdleClickComparasionClose()}/>\r\n \r\n \r\n setModalChartFullscreenArea(false)} \r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formatAreaDate2.start}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }else{\r\n return (\r\n setModalChartFullscreenArea(false)}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n maxWidth=\"xl\"\r\n fullWidth={true}\r\n fullScreen={true}\r\n >\r\n \r\n \r\n \r\n \r\n {formatAreaDate.start}\r\n \r\n \r\n \r\n handdleClickComparasion()} type=\"button\" title=\"Comparar Dias\" className=\"smaller\"/>\r\n \r\n \r\n setModalChartFullscreenArea(false)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\nfunction CardBar({ data, typeChart }: any) {\r\n const {\r\n modalChartFullscreenBar,\r\n setModalChartFullscreenBar,\r\n setModalChartFullscreenArea,\r\n setModalChartFullscreenPie,\r\n } = useModalContext();\r\n const { dateToCallApiForChartBarRange } = useStateContext();\r\n const { reportEquipmentForDaysList, getReportEquipmentForDays } =\r\n useReportContext();\r\n\r\n const [dateStart, setDateStart] = useState(\"\");\r\n const [dateEnd, setDateEnd] = useState(\"\");\r\n const [dataChartEquipmentList, setDataChartEquipmentList] = useState([]);\r\n const [dataChartEquipmentSelect, setDataChartEquipmentSelect] = useState(\"\");\r\n const [dataChartEquipmentSelected, setDataChartEquipmentSelected] = useState();\r\n\r\n useEffect(() => {\r\n if (Object.keys(dateToCallApiForChartBarRange).length > 0) {\r\n let dateAreaStart = dateToCallApiForChartBarRange.start;\r\n let dateAreaEnd = dateToCallApiForChartBarRange.end;\r\n let formatAreaDateStart = DateTime.fromJSDate(new Date(dateAreaStart))\r\n .setLocale(\"GTM\")\r\n .toLocaleString({ month: \"long\", day: \"numeric\" });\r\n let formatAreaDateEnd = DateTime.fromJSDate(new Date(dateAreaEnd))\r\n .setLocale(\"GTM\")\r\n .toLocaleString({ month: \"long\", day: \"numeric\" });\r\n setDateStart(formatAreaDateStart);\r\n setDateEnd(formatAreaDateEnd);\r\n }\r\n }, [dateToCallApiForChartBarRange]);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setDataChartEquipmentList(data.equipmentConsumptions);\r\n if (data.equipmentConsumptions.length > 0) {\r\n setDataChartEquipmentSelect(data.equipmentConsumptions[0].id);\r\n }\r\n }\r\n }, [data]); // eslint-disable-line\r\n\r\n useEffect(() => {\r\n dataChartEquipmentList.forEach((item: any) => {\r\n if (item.id === dataChartEquipmentSelect) {\r\n setDataChartEquipmentSelected(item);\r\n }\r\n });\r\n }, [dataChartEquipmentSelect]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setModalChartFullscreenPie(false);\r\n setModalChartFullscreenArea(false);\r\n }, [modalChartFullscreenBar]); // eslint-disable-line\r\n\r\n useEffect(() => {\r\n let formatStart = DateTime.fromJSDate(\r\n new Date(dateToCallApiForChartBarRange.start)\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\");\r\n let formatEnd = DateTime.fromJSDate(\r\n new Date(dateToCallApiForChartBarRange.end)\r\n )\r\n .setLocale(\"GTM\")\r\n .toFormat(\"yyyy-MM-dd\");\r\n\r\n if (dataChartEquipmentSelect) {\r\n getReportEquipmentForDays(\r\n dataChartEquipmentSelect,\r\n formatStart,\r\n formatEnd\r\n );\r\n }\r\n }, [dateToCallApiForChartBarRange, dataChartEquipmentSelect]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setDataChartEquipmentSelected(undefined);\r\n if (reportEquipmentForDaysList) {\r\n setDataChartEquipmentSelected(reportEquipmentForDaysList);\r\n }\r\n }, [reportEquipmentForDaysList]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleChange = (event: any) => {\r\n setDataChartEquipmentSelect(event.target.value);\r\n };\r\n\r\n return (\r\n setModalChartFullscreenBar(false)}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n maxWidth=\"xl\"\r\n fullWidth={true}\r\n fullScreen={true}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {dateStart} - {dateEnd}\r\n \r\n \r\n \r\n \r\n \r\n Escolher equipamento\r\n \r\n \r\n {dataChartEquipmentList.map((equipment: any, index: number) => (\r\n \r\n {equipment.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n setModalChartFullscreenBar(false)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\r\nimport AreaChart from \"../../Charts/AreaChart\";\r\nimport BarChart from \"../../Charts/BarChart\";\r\nimport PieChart from \"../../Charts/PieChart\";\r\n\r\nimport Slider from '@mui/material/Slider';\r\nimport { DateTime } from 'luxon';\r\n\r\n\r\nimport TensaoChart from \"../../Charts/TensaoChart\";\r\nimport CorrenteChart from \"../../Charts/CorrenteChart\"\r\nimport DemandaChart from \"../../Charts/DemandaChart\";\r\nimport EnergiaChart from \"../../Charts/Energia\";\r\nimport PotenciaChart from \"../../Charts/PotenciaChart\";\r\nimport FatorPotenciaChart from \"../../Charts/FatorPotenciaChart\";\r\nimport TemperaturaChart from \"../../Charts/Temperatura\";\r\nimport styles from \"./styles.module.scss\";\r\nimport Box from \"@mui/material/Box\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Select from \"@mui/material/Select\";\r\n\r\nimport BoltIcon from '@mui/icons-material/Bolt';\r\n\r\nimport { DatePickerCalendarIcon, DatePickerCalendarIcon2 } from \"../../Form/DatePicker\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport { useReportContext } from \"../../../providers/reportContext\";\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport ChartFullScreen from \"../../Modal/ChartFullScreen\";\r\nimport useFormatDate from \"../../../util/hooks/useFormartDate\";\r\n\r\nexport default function ChartsCard({ charts, title, stylesCard, dataChart, setSelectedID, selectedID }) {\r\n const [dataChartEquipmentSelected, setDataChartEquipmentSelected] = useState([]);\r\n const [typeChartModel, setTypeChartModel] = useState(\"\");\r\n const {\r\n setModalChartFullscreenArea,\r\n setModalChartFullscreenLine,\r\n setModalChartFullscreenBar,\r\n setModalChartFullscreenPie,\r\n } = useModalContext();\r\n const [dataChartEquipmentList, setDataChartEquipmentList] = useState([]);\r\n const [dataChartEquipmentSelect, setDataChartEquipmentSelect] = useState(\"\");\r\n const {\r\n dateToCallApiForChartBar,\r\n dateToCallApiForChartArea,\r\n dateToCallApiForChartPie,\r\n } = useStateContext();\r\n const {\r\n reportEquipmentForHoursList,\r\n getReportEquipmentForHours,\r\n loadingChartPie,\r\n } = useReportContext();\r\n const { totalConsumption, totalEquipmentConsumptionPrice, totalSmartMeterConsumption } = dataChart; \r\n const formatDate = useFormatDate()\r\n\r\n\r\n\r\n\r\nconst generateColors = (equipmentId, equipmentList) => {\r\n const colorsSet = ['#e74c3c', '#5faae7', '#e67f22','#31cb6f', '#f2c600', '#edab27'];\r\n\r\n // Find the index of the equipment in the equipmentList\r\n const equipmentIndex = equipmentList.findIndex(item => item.id === equipmentId);\r\n\r\n // If the equipment is not found in the list, use the first color\r\n if (equipmentIndex === -1) {\r\n return Array(dataChartEquipmentSelected.length).fill(colorsSet[0]);\r\n }\r\n\r\n // Use the equipment index to pick a color from the colorsSet\r\n const color = colorsSet[equipmentIndex % colorsSet.length];\r\n\r\n // Return an array filled with the selected color\r\n return Array(dataChartEquipmentSelected.length).fill(color);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nconst [sliderValues, setSliderValues] = useState([0, 24]);\r\n\r\n const now = DateTime.now();\r\n const initialStartTime = now.startOf('day').toJSDate();\r\n const initialEndTime = now.endOf('day').toJSDate();\r\n\r\n const [startTime, setStartTime] = useState(initialStartTime);\r\n const [endTime, setEndTime] = useState(initialEndTime);\r\n\r\n const handleSliderChange = (event, newValues) => {\r\n const originalDate = DateTime.fromJSDate(startTime).startOf('day');\r\n\r\n const newStartHour = newValues[0];\r\n const newEndHour = newValues[1] >= 24 ? 23 : newValues[1];\r\n\r\n const newStartTime = originalDate\r\n .set({\r\n hour: newStartHour,\r\n minute: 0,\r\n second: 0,\r\n })\r\n .toJSDate();\r\n\r\n const newEndTime = originalDate\r\n .set({\r\n hour: newEndHour,\r\n minute: newEndHour === 23 ? 59 : 0,\r\n second: newEndHour === 23 ? 59 : 0,\r\n })\r\n .toJSDate();\r\n\r\n console.log(\"Slider values changed: \", newValues);\r\n console.log(\"New start time and end time: \", newStartTime, newEndTime);\r\n\r\n setStartTime(newStartTime);\r\n setEndTime(newEndTime);\r\n setSliderValues(newValues);\r\n};\r\n\r\n\r\n const handleDateChange = (date) => {\r\n const originalDate = DateTime.fromJSDate(date).startOf('day');\r\n \r\n const newStartHour = sliderValues[0];\r\n const newEndHour = sliderValues[1] >= 24 ? 23 : sliderValues[1];\r\n \r\n const newStartTime = originalDate.set({ \r\n hour: newStartHour, // Add 3 hours for Brazilian time\r\n minute: 0, \r\n second: 0 \r\n }).toJSDate();\r\n \r\n const newEndTime = originalDate.set({ \r\n hour: newEndHour, // Add 3 hours for Brazilian time\r\n minute: newEndHour === 23 ? 59 : 0, \r\n second: newEndHour === 23 ? 59 : 0 \r\n }).toJSDate();\r\n\r\n console.log(\"Date changed: \", date);\r\n console.log(\"New start time and end time: \", newStartTime, newEndTime);\r\n\r\n setStartTime(newStartTime);\r\n setEndTime(newEndTime);\r\n};\r\n\r\n\r\n useEffect(() => {\r\n if (dataChartEquipmentSelect) {\r\n getReportEquipmentForHours(dataChartEquipmentSelect, startTime, endTime);\r\n }\r\n }, [dataChartEquipmentSelect, startTime, endTime]);\r\n\r\n\r\nconst handleChange = (event) => {\r\n setDataChartEquipmentSelect(event.target.value);\r\n \r\n if(charts === \"pie\") {\r\n getReportEquipmentForHours(event.target.value, startTime, endTime);\r\n } else {\r\n const originalDate = DateTime.fromJSDate(startTime).startOf('day');\r\n \r\n const newStartTime = originalDate.set({ \r\n hour: 0, \r\n minute: 0, \r\n second: 0 \r\n }).toJSDate();\r\n \r\n const newEndTime = originalDate.set({ \r\n hour: 23, \r\n minute: 59, \r\n second: 59 \r\n }).toJSDate();\r\n \r\n console.log(\"Data chart equipment selection changed: \", event.target.value);\r\n\r\n getReportEquipmentForHours(event.target.value, newStartTime, newEndTime);\r\n }\r\n};\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (charts === \"bar\" && dataChart) {\r\n console.log(\"Data chart has changed, new equipment list: \", dataChart.equipmentConsumptions);\r\n setDataChartEquipmentList(dataChart.equipmentConsumptions);\r\n if (dataChart.equipmentConsumptions.length > 0) {\r\n setDataChartEquipmentSelect(dataChart.equipmentConsumptions[0].id);\r\n }\r\n }\r\n }, [dataChart]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n dataChartEquipmentList.forEach((item) => {\r\n console.log(\"Data chart equipment selection changed: \", dataChartEquipmentSelect);\r\n if (item.id === dataChartEquipmentSelect) {\r\n setDataChartEquipmentSelected(item);\r\n }\r\n });\r\n }, [dataChartEquipmentSelect]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (dataChartEquipmentSelect) {\r\n console.log(\"dateToCallApiForChartBar or dataChartEquipmentSelect has changed: \", dateToCallApiForChartBar, dataChartEquipmentSelect);\r\n getReportEquipmentForHours(\r\n dataChartEquipmentSelect,\r\n dateToCallApiForChartBar.start,\r\n dateToCallApiForChartBar.end\r\n \r\n );\r\n }\r\n }, [dateToCallApiForChartBar, dataChartEquipmentSelect]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n console.log(\"reportEquipmentForHoursList has changed: \", reportEquipmentForHoursList);\r\n setDataChartEquipmentSelected(undefined);\r\n if (reportEquipmentForHoursList) {\r\n setDataChartEquipmentSelected(reportEquipmentForHoursList);\r\n }\r\n }, [reportEquipmentForHoursList]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n function checkStyleCard(stylesCard) {\r\n switch (stylesCard) {\r\n case \"small\":\r\n return styles.smallCard;\r\n case \"middle\":\r\n return styles.middleCard;\r\n case \"large\":\r\n return styles.largeCard;\r\n case \"largeTecnico\":\r\n return styles.largeCardTecnico;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n\r\n function checkCharts(charts) {\r\n if (dataChart) {\r\n switch (charts) {\r\n case \"pie\":\r\n return ;\r\n case \"area\": \r\n return ;\r\ncase \"line\": \r\n return ;\r\ncase \"line2\": \r\n return ;\r\ncase \"line3\": \r\n return ;\r\ncase \"line4\": \r\n return ;\r\ncase \"line5\": \r\n return ;\r\ncase \"line6\": \r\n return ;\r\n case \"line7\": \r\n return ;\r\n\r\n \r\n\r\n\r\n case \"bar\":\r\n return (\r\n dataChartEquipmentSelected && (\r\n \r\n )\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n function DateForChart(charts) {\r\n switch (charts) {\r\n case \"pie\":\r\n let dateStart = new Date(dateToCallApiForChartPie.start);\r\n let dateEnd = new Date(dateToCallApiForChartPie.end);\r\n let dtStart = DateTime.fromMillis(dateStart.getTime());\r\n let dtEnd = DateTime.fromMillis(dateEnd.getTime());\r\n let formatPieDate =\r\n {\r\n end: dtEnd.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" }),\r\n start: dtStart.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" })\r\n }\r\n return

{`${formatPieDate.start}`}

;\r\n case \"area\":\r\n let dateAreaStar = new Date(dateToCallApiForChartArea.start);\r\n let dateAreaEnd = new Date(dateToCallApiForChartArea.end);\r\n let dtAreaStart = DateTime.fromMillis(dateAreaStar.getTime());\r\n let dtAreaEnd = DateTime.fromMillis(dateAreaEnd.getTime());\r\n\r\n let formatAreaDate = {\r\n end: dtAreaEnd.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" }),\r\n start: dtAreaStart.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" })\r\n }\r\n \r\n \r\n return

{`${formatAreaDate.start}`}

;\r\n\r\n case \"bar\":\r\n let dateBarStart = new Date(dateToCallApiForChartBar.start);\r\n let dateBarEnd = new Date(dateToCallApiForChartBar.end);\r\n let dtBarStart = DateTime.fromMillis(dateBarStart.getTime());\r\n let dtBarEnd = DateTime.fromMillis(dateBarEnd.getTime());\r\n\r\n let formatBarDate = {\r\n end: dtBarEnd.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" }),\r\n start: dtBarStart.toUTC().toLocaleString({ month: \"long\", day: \"numeric\" })\r\n }\r\n\r\n return

{`${formatBarDate.start}`}

;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n function openModalChartFullscreen(charts) {\r\n switch (charts) {\r\n case \"pie\":\r\n setTypeChartModel(\"pie\");\r\n setModalChartFullscreenPie(true);\r\n break;\r\n case \"area\":\r\n setTypeChartModel(\"area\");\r\n setModalChartFullscreenArea(true);\r\n break;\r\n case \"bar\":\r\n setTypeChartModel(\"bar\");\r\n setModalChartFullscreenBar(true);\r\n break;\r\n \r\n\r\n \r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

{title}

\r\n
{DateForChart(charts)}
\r\n
\r\n {charts === \"bar\" && dataChartEquipmentList.length > 0 ? (\r\n \r\n \r\n \r\n Escolher equipamento\r\n \r\n \r\n {dataChartEquipmentList.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n ) : (\r\n
\r\n )}\r\n
\r\n {(charts === \"line\" || charts === \"line2\" || charts === \"line3\" || charts === \"line4\" || charts === \"line5\") ? (\r\n
\r\n ) : (\r\n <>\r\n \r\n openModalChartFullscreen(charts)}\r\n className={styles.fullscreenIcon}\r\n style={{\r\n color: \"#0f85ca\",\r\n width: \"30px\",\r\n height: \"30px\",\r\n cursor: \"pointer\",\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n {charts === \"pie\" && (\r\n
\r\n

Selecionar Horário:

\r\n \r\n
\r\n )}\r\n \r\n \r\n\r\n \r\n
\r\n {(charts === \"pie\" || charts === \"bar\") && !loadingChartPie && totalConsumption > 0 ? (\r\n
\r\n \r\n Consumo Total:\r\n {totalSmartMeterConsumption > totalConsumption ? ` ${(totalSmartMeterConsumption).toFixed(2)}` : ` ${totalConsumption.toFixed(2)}`}\r\n kWh\r\n \r\n \r\n Valor Estimado:\r\n {(totalEquipmentConsumptionPrice/totalConsumption)*(totalSmartMeterConsumption) > totalEquipmentConsumptionPrice?\r\n ` R$ ${((totalEquipmentConsumptionPrice/totalConsumption)*(totalSmartMeterConsumption)).toFixed(2)}`: ` R$ ${totalEquipmentConsumptionPrice.toFixed(2)}`}\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n
{checkCharts(charts)}
\r\n \r\n
\r\n );\r\n}\r\n\r\n\r\n","export default __webpack_public_path__ + \"static/media/deepMonitorLogo.9c07ea46.png\";","import { useEffect, useState } from \"react\";\r\nimport { useNavigate } from \"react-router\";\r\nimport ChartsCard from \"../../components/Cards/ChartsCard\"\r\nimport { useConsumerUnitContext } from \"../../providers/consumerUnitContext\";\r\nimport { useReportContext } from \"../../providers/reportContext\";\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport { getLast24Hours } from \"../../util/getLast24hours\";\r\nimport styles from './styles.module.scss';\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport { equip } from '../../util/types'; // Replace './path/to/equipmentFile' with the correct path to the file\r\n\r\n\r\n\r\n\r\nimport deepLogo from \"../../assets/image/deepMonitorLogo.png\";\r\n// import Testechart from \"../../components/Charts/Testechart\";\r\n\r\n\r\nexport default function Breakdown() {\r\n\r\n const navigate = useNavigate();\r\n const role = localStorage.getItem(\"role\") || 'Unknown';\r\n\r\n const { selectConsumerUnitId, isGetFetching, dateToCallApiForChartPie, dateToCallApiForChartArea } = useStateContext();\r\n const { consumerUnitList } = useConsumerUnitContext();\r\n const { getReportConsumerUnitForHours, reportConsumerUnitForHoursList, reportConsumerUnitForHoursArea, reportConsumerUnitForHoursPie } = useReportContext();\r\n const [selectedConsumerUnit, setSelectedConsumerUnit] = useState({} as any);\r\n const [areaChartData, setAreaChartData] = useState([] as any);\r\n const [pieChartData, setPieChartData] = useState([] as any);\r\n\r\n \r\n\r\nconst [selectedChart, setSelectedChart] = useState(\"line\");\r\n\r\n //CHANGE: Added new state for selected ID\r\n const [selectedID, setSelectedID] = useState(\"\"); \r\n\r\n //CHANGE: handler for changing the selected ID\r\n const handleIDChange = (event: React.ChangeEvent) => {\r\n setSelectedID(event.target.value);\r\n }\r\n\r\n\r\n\r\n\r\ntype ChartTypeToComponentType = {\r\n [key: string]: string;\r\n};\r\n\r\nconst chartTypeToComponent: ChartTypeToComponentType = {\r\n \"Tensão\": \"line\",\r\n \"Corrente\": \"line2\",\r\n \"Demanda de Potência\": \"line3\",\r\n \"Energia\": \"line4\",\r\n \"Potência\": \"line5\",\r\n \"Fator Potência\": \"line6\",\r\n \"Temperatura\": \"line7\"\r\n};\r\n\r\n\r\ntype ChartOptionsType = {\r\n [key: string]: string[];\r\n};\r\n\r\nconst generateChartOptions = (equipments: { mac: { id: string } }[]) => {\r\n const chartOptions: ChartOptionsType = {};\r\n equipments.forEach(equipment => {\r\n if (equipment.mac && equipment.mac.id) {\r\n chartOptions[equipment.mac.id] = [\"Tensão\", \"Corrente\", \"Demanda de Potência\", \"Energia\", \"Potência\", \"Fator Potência\", \"Temperatura\"];\r\n // Adjust the array above as per each equipment's specifics\r\n }\r\n });\r\n return chartOptions;\r\n};\r\n\r\n\r\n\r\nconst [chartOptions, setChartOptions] = useState({});\r\n\r\nuseEffect(() => {\r\n setChartOptions(generateChartOptions(selectedConsumerUnit?.equipments || []));\r\n}, [selectedConsumerUnit.equipments]);\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst handleChartChange = (event: React.ChangeEvent) => {\r\n setSelectedChart(chartTypeToComponent[event.target.value]);\r\n}\r\n\r\n // debugger;\r\n const handleConsumerUnit = () => {\r\n navigate('/dashboard/consumerUnit')\r\n }\r\n\r\n const handleEquipmentRegister = () => {\r\n navigate('/dashboard/equipmentManagement')\r\n }\r\n\r\n useEffect(() => {\r\n let hours24 = getLast24Hours()\r\n getReportConsumerUnitForHours(selectConsumerUnitId, hours24.start, hours24.end, 'all')\r\n }, [selectConsumerUnitId]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (Object.keys(dateToCallApiForChartArea).length > 0) {\r\n getReportConsumerUnitForHours(selectConsumerUnitId, dateToCallApiForChartArea.start, dateToCallApiForChartArea.end, 'area')\r\n }\r\n }, [dateToCallApiForChartArea]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n useEffect(() => {\r\n if (Object.keys(dateToCallApiForChartArea).length > 0) {\r\n getReportConsumerUnitForHours(selectConsumerUnitId, dateToCallApiForChartPie.start, dateToCallApiForChartPie.end, 'pie')\r\n }\r\n }, [dateToCallApiForChartPie]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setPieChartData(reportConsumerUnitForHoursPie)\r\n }, [reportConsumerUnitForHoursPie]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setAreaChartData(reportConsumerUnitForHoursArea)\r\n }, [reportConsumerUnitForHoursArea]) // eslint-disable-line react-hooks/exhaustive-deps\r\n \r\n \r\n\r\n useEffect(() => {\r\n handleConsumerUnitChange()\r\n }, [consumerUnitList, selectConsumerUnitId]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleConsumerUnitChange = () => {\r\n consumerUnitList.forEach(consumerUnit => {\r\n if (consumerUnit.id === selectConsumerUnitId) {\r\n setSelectedConsumerUnit(consumerUnit)\r\n }\r\n })\r\n }\r\n\r\n if (isGetFetching) {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n\r\n\r\n } else if (role==='Tecnico'){ {/*(role==='Tecnico' || 'Admin')*/}\r\n\r\n if (selectedConsumerUnit.equipments\r\n && selectedConsumerUnit.equipments.length > 0\r\n && Object.keys(reportConsumerUnitForHoursList).length > 0) {\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {selectedChart && (\r\n
\r\n chartTypeToComponent[key] === selectedChart)}\r\n stylesCard=\"largeTecnico\"\r\n dataChart\r\n //CHANGE: passing selectedID and setSelectedID to ChartsCard\r\n selectedID={selectedID}\r\n setSelectedID={setSelectedID}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n else if (selectedConsumerUnit.equipments && selectedConsumerUnit.equipments.length === 0) {\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n Não foi encontrado nenhum equipamento cadastrado, deseja cadastrar um novo?\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n else if (consumerUnitList.length === 0) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n Não foi encontrada nenhuma unidade consumidora cadastrada, deseja cadastrar uma nova?\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n \r\n \r\n\r\n } \r\nif (role === 'Cliente' || role==='Admin') {\r\n \r\n\r\n\r\n if (selectedConsumerUnit.equipments\r\n && selectedConsumerUnit.equipments.length > 0\r\n && Object.keys(reportConsumerUnitForHoursList).length > 0) {\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
\"Deep\r\n
\r\n
\r\n \r\n \r\n 0 ? pieChartData : reportConsumerUnitForHoursList */} setSelectedID selectedID />\r\n \r\n \r\n 0 ? areaChartData : reportConsumerUnitForHoursList */} setSelectedID selectedID />\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n else if (selectedConsumerUnit.equipments && selectedConsumerUnit.equipments.length === 0) {\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n Não foi encontrado nenhum equipamento cadastrado, deseja cadastrar um novo?\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n else if (consumerUnitList.length === 0) {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n Não foi encontrada nenhuma unidade consumidora cadastrada, deseja cadastrar uma nova?\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n \r\n\r\n\r\n }\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}","import { useEffect, useState } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport CustomInput from \"../../../components/CustomInput\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Select from \"@mui/material/Select\";\r\nimport { InputLabel, Typography } from \"@mui/material\";\r\n\r\nimport styles from './styles.module.scss';\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as yup from \"yup\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\nimport CustomButton from \"../../Form/button\";\r\nimport { useAuth } from \"../../../providers/authContext\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport InputMask from 'react-input-mask';\r\nimport maskConfig from \"../../../util/maks\";\r\nimport { CustomSnackBar } from \"../../Snackbar\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\nimport onlyNumber from \"../../../util/onlyNumber\";\r\n\r\ntype propsModal = {\r\n userEdit: any;\r\n list: boolean;\r\n};\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ModalEditClient({ userEdit, list }: propsModal) {\r\n const { modalEditClient, setModalEditClient } = useModalContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } = useStateContext()\r\n const { EditUser } = useAuth();\r\n const [maxWidth] = useState(\"xl\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n const { deleteUser, userList, getUserList, logout, dataUser } = useAuth()\r\n\r\n const { isCnpj, fullName, userName, phone, document, email, userRole } = userEdit;\r\n\r\n useEffect(() => {\r\n formik.setFieldValue(\"fullName\", fullName, false);\r\n formik.setFieldValue(\"userName\", userName, false);\r\n formik.setFieldValue(\"phone\", phone, false);\r\n formik.setFieldValue(\"document\", document, false);\r\n formik.setFieldValue(\"email\", email, false);\r\n formik.setFieldValue(\"role\", userRole.name, false);\r\n }, [userEdit]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n const validationSchema = yup.object({\r\n fullName: yup.string().required(\"O nome é obrigatório!\"),\r\n userName: yup.string(),\r\n phone: yup.string().min(10, \"No mínimo 10 caracteres\").required(\"O telefone é obrigatório!\"),\r\n document: yup.string(),\r\n email: yup.string().email(\"Entrar com email valido\").required(\"O email é obrigatório!\"),\r\n role: yup.string().required(\"O papel é obrigatório!\"),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n fullName: fullName,\r\n userName: userName,\r\n email: email,\r\n phone: onlyNumber(phone),\r\n document: onlyNumber(document),\r\n role: userRole.name,\r\n },\r\n\r\n validationSchema: validationSchema,\r\n\r\n onSubmit: async (values) => {\r\n const mountedEditUser = {\r\n fullName: values.fullName,\r\n userName: values.userName,\r\n email: values.email,\r\n phone: onlyNumber(values.phone),\r\n document: onlyNumber(values.document),\r\n role: values.role,\r\n }\r\n\r\n setIsLoading(true)\r\n const hasEdit = await EditUser(mountedEditUser, userEdit.id, list);\r\n\r\n if (hasEdit) {\r\n setOpenSnackBar(true)\r\n setStatusErrorOpenSnackBar(false);\r\n setIsLoading(false)\r\n setModalEditClient(false);\r\n } else {\r\n setOpenSnackBar(true)\r\n setIsLoading(false)\r\n setStatusErrorOpenSnackBar(true);\r\n }\r\n setIsLoading(false)\r\n },\r\n });\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidth] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setModalEditClient(false);\r\n setStateExitModal(false);\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleClose()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Editar Usuário\r\n \r\n \r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Dados Pessoais\r\n \r\n \r\n \r\n \r\n {/* \r\n {(inputProps: any) => \r\n }\r\n */}\r\n \r\n {/* \r\n {(inputProps: any) => \r\n }\r\n */}\r\n \r\n \r\n \r\n\r\n {userRole?.name && dataUser.userRole.name === \"Admin\" ? (\r\n \r\n \r\n Papel\r\n \r\n \r\n \r\n Selecione um papel\r\n \r\n Cliente\r\n Técnico\r\n Admin\r\n \r\n {/* {formik.touched.tariffType && formik.errors.tariffType} */}\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n}\r\n","import api from './api'\r\n\r\nexport async function getContract(id: string){\r\n return api.get(`/api/Contract/${id}`)\r\n }\r\n \r\nexport async function postContract(id: string){\r\n return api.post(`/api/Contract/${id}`)\r\n }\r\n\r\nexport async function putSign(id:string) {\r\n return api.put(`/api/Contract/Sign/${id}`)\r\n}","import { useState, useEffect} from \"react\";\r\nimport { styled } from '@mui/material/styles';\r\nimport Card from '@mui/material/Card';\r\nimport CardHeader from '@mui/material/CardHeader';\r\nimport CardContent from '@mui/material/CardContent';\r\nimport CardActions from '@mui/material/CardActions';\r\nimport Avatar from '@mui/material/Avatar';\r\nimport Typography from '@mui/material/Typography'\r\nimport PersonIcon from '@mui/icons-material/Person';\r\nimport Divider from '@mui/material/Divider';\r\nimport styles from './styles.module.scss'\r\nimport Box from '@mui/material/Box';\r\nimport Collapse from '@mui/material/Collapse';\r\nimport CustomButton from \"../../components/Form/button\";\r\nimport IconButton, { IconButtonProps } from '@mui/material/IconButton';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport { useAuth } from \"../../providers/authContext\";\r\nimport { useModalContext } from \"../../providers/modalContext\";\r\nimport { ModalEditClient } from '../../components/Modal/EditClient'\r\nimport { getContract } from '../../services/restApiContract'\r\n\r\ninterface ExpandMoreProps extends IconButtonProps {\r\n expand: boolean;\r\n}\r\n\r\nconst ExpandMore = styled((props: ExpandMoreProps) => {\r\n const { expand, ...other } = props;\r\n return ;\r\n})(({ theme, expand }) => ({\r\n transform: !expand ? 'rotate(0deg)' : 'rotate(180deg)',\r\n marginLeft: 'auto',\r\n transition: theme.transitions.create('transform', {\r\n duration: theme.transitions.duration.shortest,\r\n }),\r\n}));\r\n\r\nexport default function MyProfile() {\r\n const { setModalEditClient } = useModalContext()\r\n const [expanded, setExpanded] = useState(false);\r\n const [mountedUserClientEdit, setMountedUserClientEdit] = useState()\r\n const [userContract, setUserContract] = useState({id:0, userId:\"\", contract:\"\"});\r\n const { dataUser } = useAuth()\r\n \r\n useEffect(() => { \r\n handleContract();\r\n }, []); \r\n\r\n const handleExpandClick = () => {\r\n setExpanded(!expanded);\r\n };\r\n\r\n const handleOpenModalEditClient = (user: any) => {\r\n setMountedUserClientEdit(user)\r\n setModalEditClient(true)\r\n }\r\n\r\n const handleContract = async ()=>{ \r\n let recoveredUserId = localStorage.getItem(\"userIdValue\");\r\n if (recoveredUserId){ \r\n const contractdata = await getContract(recoveredUserId); \r\n setUserContract(contractdata.data); \r\n }\r\n };\r\n \r\n const handlePrint = (userContract:any) => { \r\n const openscreen = window.open(\"about:blank\");\r\n if(openscreen){ \r\n openscreen?.document.write(userContract.contract);\r\n openscreen?.window.print();\r\n openscreen?.window.close();\r\n } \r\n }; \r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Meu Perfil

\r\n
\r\n \r\n \r\n \r\n \r\n }\r\n title={dataUser.fullName}\r\n subheader={dataUser.userName}\r\n sx={{ paddingBottom: '1.25rem !important', padding: '0' }}\r\n />\r\n {\r\n dataUser &&\r\n \r\n \r\n \r\n E-mail: \r\n {dataUser.email}\r\n \r\n \r\n Telefone: \r\n {dataUser.phone}\r\n \r\n \r\n Documento: \r\n {dataUser.document}\r\n \r\n \r\n Unidades Consumidoras: \r\n {dataUser.consumerUnits?.length}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n dataUser.consumerUnits?.map((units) => {\r\n return (\r\n
\r\n \r\n {units.placeName}\r\n \r\n \r\n
\r\n )\r\n })\r\n }\r\n
\r\n
\r\n \r\n \r\n handleOpenModalEditClient(dataUser)} />\r\n handlePrint(userContract)}/> \r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n {\r\n mountedUserClientEdit ?\r\n \r\n :
\r\n }\r\n
\r\n )\r\n}\r\n","import { useState, useEffect } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Select from \"@mui/material/Select\";\r\nimport Autocomplete from \"@mui/material/Autocomplete\";\r\nimport { InputLabel, Typography } from \"@mui/material\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\n\r\nimport * as Yup from \"yup\";\r\nimport { useFormik } from \"formik\";\r\n\r\nimport { PlaceData } from \"../../../util/types\";\r\n\r\nimport CustomButton from \"../../Form/button\";\r\nimport CustomInput from \"../../CustomInput\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport { useConsumerUnitContext } from \"../../../providers/consumerUnitContext\";\r\nimport InputMask, { Props } from \"react-input-mask\";\r\nimport maskConfig from \"../../../util/maks\";\r\nimport onlyNumber from \"../../../util/onlyNumber\";\r\nimport { CustomSnackBar } from \"../../Snackbar\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\n\r\nimport styles from './styles.module.scss';\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ModalConsumerUnitRegistration() {\r\n const { modalConsumerUnitRegistration, setModalConsumerUnitRegistration } =\r\n useModalContext();\r\n const {\r\n consumerUnitPostApi,\r\n powerDistributorsList,\r\n getPowerDistributorsList,\r\n } = useConsumerUnitContext();\r\n const { setIsLoading, setStatusErrorOpenSnackBar, setOpenSnackBar } =\r\n useStateContext();\r\n const [maxWidth] = useState(\"xl\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n\r\n useEffect(() => {\r\n getPowerDistributorsList();\r\n }, []); // eslint-disable-line\r\n\r\n const validationSchema = Yup.object({\r\n placeName: Yup.string().min(3).required(\"esqueceu o Nome\"),\r\n Phone: Yup.string().required(\"esqueceu o seu telefone\"),\r\n placeEmail: Yup.string().email().required(\"esqueceu o seu e-mail\"),\r\n zipCode: Yup.string().required(\"esqueceu o seu CEP\"),\r\n state: Yup.string().required(\"esqueceu o seu Estado\"),\r\n city: Yup.string().required(\"esqueceu o sua Cidade\"),\r\n district: Yup.string().required(\"esqueceu o seu Bairro\"),\r\n street: Yup.string().required(\"esqueceu o seu Bairro\"),\r\n number: Yup.number().required(\"esqueceu o Numero\"),\r\n complement: Yup.string(),\r\n distribuctors: Yup.string().required(\"esqueceu a empresa de Energia\"),\r\n tariffType: Yup.string().required(\"esqueceu o tipo de tarifa\"),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n placeName: \"\",\r\n Phone: \"\",\r\n placeEmail: \"\",\r\n zipCode: \"\",\r\n state: \"\",\r\n city: \"\",\r\n district: \"\",\r\n street: \"\",\r\n number: \"\",\r\n complement: \"\",\r\n distribuctors: \"\",\r\n tariffType: \"\",\r\n },\r\n\r\n validationSchema: validationSchema,\r\n\r\n onSubmit: async (values) => {\r\n let MountedConsumerUnitPost = {} as PlaceData;\r\n const userId = await localStorage.getItem(\"userIdValue\");\r\n if (userId) {\r\n MountedConsumerUnitPost = {\r\n placeName: values.placeName,\r\n placeEmail: values.placeEmail,\r\n Phone: onlyNumber(values.Phone),\r\n zipCode: onlyNumber(values.zipCode),\r\n city: values.city,\r\n state: values.state,\r\n district: values.district,\r\n street: values.street,\r\n number: values.number,\r\n complement: values.complement || null,\r\n userId: userId,\r\n powerDistributorId: values.distribuctors,\r\n tariffType: parseInt(values.tariffType),\r\n };\r\n }\r\n\r\n setIsLoading(true);\r\n\r\n const hasPostConsumerUnit = await consumerUnitPostApi(\r\n MountedConsumerUnitPost\r\n );\r\n if (hasPostConsumerUnit) {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(false);\r\n setOpenSnackBar(true);\r\n setModalConsumerUnitRegistration(false);\r\n formik.resetForm();\r\n } else {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(true);\r\n setOpenSnackBar(true);\r\n }\r\n },\r\n });\r\n\r\n const options = powerDistributorsList.map((option) => {\r\n const firstLetter = option.distribuidora[0].toUpperCase();\r\n return {\r\n firstLetter: /[0-9]/.test(firstLetter) ? '0-9' : firstLetter,\r\n ...option,\r\n };\r\n });\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidthExit] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setModalConsumerUnitRegistration(false);\r\n setStateExitModal(false);\r\n };\r\n\r\n const handleCloseExit = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleCloseExit()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cadastrar
Unidade Consumidora\r\n \r\n
\r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n -b.firstLetter.localeCompare(a.firstLetter))}\r\n groupBy={(option) => option.firstLetter}\r\n getOptionLabel={(option) =>\r\n `${option.distribuidora} - ${option.uf}`\r\n }\r\n sx={{\r\n width: 100\r\n }}\r\n isOptionEqualToValue={(option, value) =>\r\n option.id === value.id\r\n }\r\n onChange={(event, value) => {\r\n formik.setFieldValue(\"distribuctors\", value?.id);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n \r\n \r\n Tarifa\r\n \r\n \r\n \r\n Selecione um tipo de tarifa\r\n \r\n Tarifa Convencional\r\n Tarifa Branca Ponta\r\n Tarifa Branca Intermediária \r\n Tarifa Branca Fora Ponta \r\n \r\n {formik.touched.tariffType && formik.errors.tariffType}\r\n \r\n\r\n {/* \r\n {(inputProps: Props) => {\r\n return (\r\n \r\n )\r\n }}\r\n */}\r\n \r\n \r\n {/* \r\n {(inputProps: Props) => (\r\n \r\n )}\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Select from \"@mui/material/Select\";\r\nimport { InputLabel, Typography } from \"@mui/material\";\r\nimport Autocomplete from \"@mui/material/Autocomplete\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\n\r\n\r\nimport styles from './styles.module.scss';\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as yup from \"yup\";\r\nimport CustomButton from \"../../Form/button\";\r\nimport CustomInput from \"../../CustomInput\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport InputMask from \"react-input-mask\";\r\nimport maskConfig from \"../../../util/maks\";\r\nimport onlyNumber from \"../../../util/onlyNumber\";\r\nimport { useConsumerUnitContext } from \"../../../providers/consumerUnitContext\";\r\nimport { CustomSnackBar } from \"../../Snackbar\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\n\r\n\r\n\r\ntype propsModal = {\r\n consumerUnitEdit: any;\r\n};\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ModalEditConsumerUnit(consumerUnitEdit: propsModal) {\r\n const { modalEditConsumerUnit, setModalEditConsumerUnit } = useModalContext();\r\n const { editConsumerUnit, powerDistributorsList, getPowerDistributorsList } =\r\n useConsumerUnitContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } =\r\n useStateContext();\r\n const [maxWidth] = useState(\"xl\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n\r\n const {\r\n id,\r\n placeName,\r\n phone,\r\n placeEmail,\r\n zipCode,\r\n state,\r\n city,\r\n street,\r\n district,\r\n number,\r\n complement,\r\n powerDistributorId,\r\n powerDistributor,\r\n tariffType\r\n } = consumerUnitEdit.consumerUnitEdit;\r\n\r\n useEffect(() => {\r\n getPowerDistributorsList();\r\n }, []); // eslint-disable-line\r\n\r\n useEffect(() => {\r\n formik.setFieldValue(\"placeName\", placeName || \"\", false);\r\n formik.setFieldValue(\"phone\", phone, false);\r\n formik.setFieldValue(\"email\", placeEmail, false);\r\n formik.setFieldValue(\"zipCode\", zipCode, false);\r\n formik.setFieldValue(\"state\", state, false);\r\n formik.setFieldValue(\"city\", city, false);\r\n formik.setFieldValue(\"street\", street, false);\r\n formik.setFieldValue(\"district\", district, false);\r\n formik.setFieldValue(\"number\", number, false);\r\n formik.setFieldValue(\r\n \"complement\",\r\n complement === null ? \"\" : complement,\r\n false\r\n );\r\n formik.setFieldValue(\"distribuctors\", powerDistributorId, false);\r\n formik.setFieldValue(\"tariffType\", tariffType, false);\r\n }, [consumerUnitEdit]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const validationSchema = yup.object({\r\n placeName: yup.string().required(\"Campo obrigatório\"),\r\n phone: yup.string().required(\"Campo obrigatório\"),\r\n email: yup.string().email().required(\"Campo obrigatório\"),\r\n zipCode: yup.string().required(\"Campo obrigatório\"),\r\n state: yup.string().required(\"Campo obrigatório\"),\r\n city: yup.string().required(\"Campo obrigatório\"),\r\n street: yup.string().required(\"Campo obrigatório\"),\r\n district: yup.string().required(\"Campo obrigatório\"),\r\n number: yup.number().required(\"Campo obrigatório\"),\r\n complement: yup.string(),\r\n distribuctors: yup.string().required(\"Campo obrigatório\"),\r\n tariffType: yup.string().required(\"Campo obrigatório\"),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n placeName: placeName,\r\n phone: onlyNumber(phone),\r\n placeEmail: placeEmail,\r\n zipCode: onlyNumber(zipCode),\r\n state: state,\r\n city: city,\r\n street: street,\r\n district: district,\r\n number: number,\r\n complement: complement === null ? \"\" : complement,\r\n distribuctors: powerDistributor.id,\r\n tariffType: tariffType,\r\n },\r\n validationSchema: validationSchema,\r\n onSubmit: async (values) => {\r\n const userId = localStorage.getItem(\"userIdValue\") || \"\";\r\n\r\n const mountedConsumerUnitPut = {\r\n placeName: values.placeName,\r\n phone: values.phone,\r\n placeEmail: values.placeEmail,\r\n zipCode: values.zipCode,\r\n state: values.state,\r\n city: values.city,\r\n street: values.street,\r\n district: values.district,\r\n number: values.number,\r\n complement: values.complement === \"\" ? null : values.complement,\r\n userId: userId,\r\n powerDistributorId: values.distribuctors,\r\n tariffType: parseInt(values.tariffType)\r\n };\r\n\r\n\r\n setIsLoading(true);\r\n const hasPutConsumerUnit = await editConsumerUnit(\r\n mountedConsumerUnitPut,\r\n id\r\n );\r\n\r\n if (hasPutConsumerUnit) {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(false);\r\n handleOpenSnackBar();\r\n setModalEditConsumerUnit(false);\r\n } else {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(true);\r\n handleOpenSnackBar();\r\n }\r\n },\r\n });\r\n\r\n const options = powerDistributorsList.map((option) => {\r\n const firstLetter = option.distribuidora[0].toUpperCase();\r\n return {\r\n firstLetter: /[0-9]/.test(firstLetter) ? '0-9' : firstLetter,\r\n ...option,\r\n };\r\n });\r\n\r\n const handleOpenSnackBar = () => {\r\n setOpenSnackBar(true);\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidthExit] = useState(\"xl\");\r\n\r\n const CloseAllModal = () => {\r\n setModalEditConsumerUnit(false);\r\n setStateExitModal(false);\r\n };\r\n\r\n const handleCloseExit = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleCloseExit()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Editar
Unidade Consumidora\r\n \r\n
\r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n -b.firstLetter.localeCompare(a.firstLetter))}\r\n groupBy={(option) => option.firstLetter}\r\n getOptionLabel={(option) =>\r\n `${option.distribuidora} - ${option.uf}`\r\n }\r\n /* sx={{ width: 300, height: 150, backgroundColor: \"gray\" }} */\r\n isOptionEqualToValue={(option, value) =>\r\n option.distribuidora === value.distribuidora\r\n }\r\n onChange={(event, value) => {\r\n formik.setFieldValue(\"distribuctors\", value?.id);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n \r\n \r\n Tarifa\r\n \r\n \r\n \r\n Selecione um tipo de tarifa\r\n \r\n Tarifa Convencional\r\n Tarifa Branca Ponta\r\n Tarifa Branca Intermediária \r\n Tarifa Branca Fora Ponta \r\n \r\n {formik.touched.tariffType && formik.errors.tariffType}\r\n \r\n\r\n {/* \r\n {(inputProps: any) => (\r\n \r\n )}\r\n */}\r\n \r\n \r\n {/* \r\n {(inputProps: any) => (\r\n \r\n )}\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import api from './api';\r\n\r\nexport function getMeterAllAPI (){\r\n return api.get(`/api/Mac`);\r\n}\r\n\r\nexport function getMeterByIdAPI (macId: number | string){\r\n return api.get(`/api/Mac/${macId}`);\r\n}\r\n\r\nexport function postMeterAPI (data: any){\r\n return api.post('/api/Mac', data);\r\n}\r\n\r\nexport function putMeterAPI (data: any, macId: number | string){\r\n return api.put(`/api/Mac/${macId}`, data);\r\n}\r\n\r\nexport function deleteMeterAPI (macId: number | string){\r\n return api.delete(`/api/Mac/${macId}`);\r\n}\r\n\r\nexport function associatedSmartMeterAPI (id:number | string ,macId: number | string){\r\n return api.put(`/api/ConsumerUnit/${id}/associate-mac/${macId}`);\r\n}\r\n\r\nexport function associatedIntrusiveMeterAPI (id:number | string, body: any){\r\n return api.put(`/api/Equipment/${id}/associate-mac`, body);\r\n}\r\n\r\nexport function disassociateSmartMeterAPI (id:number | string ){\r\n return api.put(`/api/ConsumerUnit/${id}/disassociate-mac`);\r\n}\r\n\r\nexport function disassociateIntrusiveMeterAPI (id: number | string){\r\n return api.put(`/api/Equipment/${id}/disassociate-mac`);\r\n}","import api from './api'\r\n\r\nexport function getAllEquipment() {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get('/api/Equipment', config)\r\n}\r\n\r\nexport function getEquipmentById(id: string | number) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get(`/api/Equipment/${id}`, config)\r\n}\r\n\r\nexport function getEquipmentByConsumerUnitId(id: number | string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get(`/api/Equipment?consumerUnitId=${id}`, config)\r\n}\r\n\r\nexport function postEquipment(equip: any) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.post('/api/Equipment', equip, config)\r\n}\r\n\r\nexport function putEquipment(equip: any, id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.put(`/api/Equipment/${parseInt(id)}`, equip, config)\r\n}\r\n\r\nexport function delEquipment(id: number | string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.delete(`/api/Equipment/${id}`, config)\r\n}\r\n\r\nexport function connectEquipmentWithSmartMeter(id: any, mac: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.put(`/api/Equipment/${id}/mac/testetest2test`, config)\r\n}\r\n\r\n// smart meter\r\nexport function getAllSmartMeter() {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get('/api/SmartMeter', config)\r\n}\r\n\r\nexport function getSmartMeterById(id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get(`/api/SmartMeter/${id}`, config)\r\n}\r\n\r\nexport function getSmartMeterByConsumerUnitId(id: number) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get(`/api/SmartMeter?consumerUnitId=${id}`, config)\r\n}\r\n\r\nexport function postSmartMeter(model: any) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.post('/api/SmartMeter', model, config)\r\n}\r\n\r\nexport function putSmartMeter(model: any, id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.put(`/api/SmartMeter/${parseInt(id)}`, model, config)\r\n}\r\n\r\nexport function delSmartMeter(id: number | string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.delete(`/api/SmartMeter/${id}`, config)\r\n}","import React, { createContext, ReactNode, useContext, useState } from \"react\"\r\nimport { delEquipment, delSmartMeter, getAllEquipment, getEquipmentByConsumerUnitId, getEquipmentById, postEquipment, putEquipment } from \"../services/restApiEquipment\"\r\nimport { Equipments, EquipmentResponse, ConsumerUnitType } from \"../util/types\"\r\nimport { useStateContext } from \"./stateContext\"\r\n\r\ntype PropsEquipmentContext = {\r\n stateEquipments: Equipments,\r\n setStateEquipments: React.Dispatch>,\r\n\r\n stateEquipmentsResponse: EquipmentResponse,\r\n setStateEquipmentsResponse: React.Dispatch>,\r\n stateSmartMeterResponse: ConsumerUnitType,\r\n setStateSmartMeterResponse: React.Dispatch>,\r\n\r\n stateEquipmentsList: Array,\r\n setStateEquipmentsList: React.Dispatch>>,\r\n getEquipmentList: () => Promise,\r\n getEquipmentByIdContext: (id: string | number) => Promise,\r\n getEquipmentByIdConsumerUnit: (id: string | number) => Promise,\r\n equipmentPostApi: (equipment: any) => Promise,\r\n equipmentPutApi: (equipment: any, id: any, list: boolean) => Promise,\r\n deleteEquipment: (id: number | string) => Promise,\r\n deleteSmartMeter: (id: number | string) => Promise,\r\n}\r\n\r\ntype EquipmentContextTypes = {\r\n children: ReactNode\r\n}\r\n\r\nexport const EquipmentContext = createContext({} as PropsEquipmentContext)\r\n\r\n\r\nfunction EquipmentContextProvider(props: EquipmentContextTypes) {\r\n const [stateEquipments, setStateEquipments] = useState({} as Equipments)\r\n\r\n const [stateEquipmentsResponse, setStateEquipmentsResponse] = useState({} as EquipmentResponse)\r\n const [stateSmartMeterResponse, setStateSmartMeterResponse] = useState({} as ConsumerUnitType)\r\n\r\n const [stateEquipmentsList, setStateEquipmentsList] = useState>([{}] as Array)\r\n const { setSnackBarTextResponse, selectConsumerUnitId, setIsGetFetching } = useStateContext()\r\n\r\n const getEquipmentList = async () => {\r\n setStateEquipmentsList([])\r\n setIsGetFetching(true)\r\n const { data, status } = await getAllEquipment()\r\n\r\n if (status === 200) {\r\n setStateEquipmentsList(data)\r\n setIsGetFetching(false)\r\n } else {\r\n setIsGetFetching(false)\r\n }\r\n }\r\n\r\n const getEquipmentByIdContext = async (id: number | string) => {\r\n console.log(\"getEquipmentByIdContext\", id)\r\n setStateEquipmentsList([])\r\n setIsGetFetching(true)\r\n const { data, status } = await getEquipmentById(id)\r\n if (status === 200) {\r\n setStateEquipmentsList(data)\r\n setIsGetFetching(false)\r\n } else {\r\n setIsGetFetching(false)\r\n }\r\n }\r\n\r\n const getEquipmentByIdConsumerUnit = async (id: number | string) => {\r\n setStateEquipmentsList([])\r\n setIsGetFetching(true)\r\n const { data, status } = await getEquipmentByConsumerUnitId(id)\r\n if (status === 200) {\r\n setStateEquipmentsList(data)\r\n setIsGetFetching(false)\r\n } else {\r\n setIsGetFetching(false)\r\n }\r\n }\r\n\r\n const equipmentPostApi = async (equipment: any) => {\r\n let hasEquipment = false\r\n try {\r\n const { status } = await postEquipment(equipment)\r\n hasEquipment = status === 200\r\n if (hasEquipment) {\r\n getEquipmentByIdConsumerUnit(selectConsumerUnitId)\r\n setSnackBarTextResponse('Equipamento cadastrado com sucesso!')\r\n }\r\n\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasEquipment\r\n }\r\n\r\n const equipmentPutApi = async (equipment: any, id: any, list: boolean) => {\r\n let hasEquipment = false\r\n\r\n try {\r\n const { status } = await putEquipment(equipment, id)\r\n hasEquipment = status === 200\r\n if (hasEquipment) {\r\n getEquipmentByIdConsumerUnit(selectConsumerUnitId)\r\n setSnackBarTextResponse('Equipamento editado com sucesso!')\r\n }\r\n\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasEquipment\r\n }\r\n\r\n\r\n const deleteEquipment = async (id: number | string) => {\r\n let hasDelete = false\r\n try {\r\n const { status } = await delEquipment(id)\r\n hasDelete = status === 200\r\n if (hasDelete) {\r\n getEquipmentByIdConsumerUnit(selectConsumerUnitId)\r\n setSnackBarTextResponse('Equipamento deletado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasDelete\r\n }\r\n\r\n const deleteSmartMeter = async (id: number | string) => {\r\n let hasDelete = false\r\n try {\r\n const { status } = await delSmartMeter(id)\r\n hasDelete = status === 200\r\n if (hasDelete) {\r\n setSnackBarTextResponse('Medidor deletado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasDelete\r\n }\r\n\r\n const objProvider = {\r\n stateEquipments,\r\n setStateEquipments,\r\n stateEquipmentsResponse,\r\n setStateEquipmentsResponse,\r\n stateEquipmentsList,\r\n setStateEquipmentsList,\r\n stateSmartMeterResponse,\r\n setStateSmartMeterResponse,\r\n getEquipmentList,\r\n getEquipmentByIdContext,\r\n getEquipmentByIdConsumerUnit,\r\n equipmentPostApi,\r\n equipmentPutApi,\r\n deleteEquipment,\r\n deleteSmartMeter,\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nfunction useEquipmentContext() {\r\n const context = useContext(EquipmentContext)\r\n return context\r\n}\r\n\r\nexport {\r\n EquipmentContextProvider,\r\n useEquipmentContext\r\n}\r\n","import React, { createContext, ReactNode, useContext, useState } from \"react\"\r\nimport { getMeterAllAPI, postMeterAPI, deleteMeterAPI, putMeterAPI, associatedSmartMeterAPI, disassociateSmartMeterAPI, associatedIntrusiveMeterAPI, disassociateIntrusiveMeterAPI } from \"../services/restApiMeter\"\r\nimport { meter } from \"../util/types\"\r\nimport { useConsumerUnitContext } from \"./consumerUnitContext\"\r\nimport { useEquipmentContext } from \"./equipmentContext\"\r\nimport { useStateContext } from \"./stateContext\"\r\n\r\ntype PropsMeterContext = {\r\n meterList: meter,\r\n setMeterList: React.Dispatch>\r\n\r\n getMeterList: () => Promise,\r\n getMeterById: (id: string | number) => Promise,\r\n postMeter: (smartMeter: any) => Promise,\r\n putMeter: (smartMeter: any, id: any) => Promise,\r\n deleteMeter: (id: number | string) => Promise,\r\n\r\n associatedSmartMeter: (id: number | string, macId: number | string) => Promise,\r\n desassociateSmartMeter: (id: number | string) => Promise,\r\n\r\n associatedIntrusiveMeter: (id: number | string, macId: number | string, channels: any) => Promise,\r\n desassociateIntrusiveMeter: (id: number | string) => Promise,\r\n}\r\n\r\ntype MeterContextTypes = {\r\n children: ReactNode\r\n}\r\n\r\nexport const MeterContext = createContext({} as PropsMeterContext)\r\n\r\nfunction MeterContextProvider(props: MeterContextTypes) {\r\n const [meterList, setMeterList] = useState({} as meter)\r\n\r\n const { setIsGetFetching, setSnackBarTextResponse, selectConsumerUnitId } = useStateContext()\r\n const { getConsumerUnitList } = useConsumerUnitContext()\r\n const { getEquipmentByIdConsumerUnit } = useEquipmentContext()\r\n\r\n const getMeterList = async () => {\r\n setIsGetFetching(true)\r\n const { data, status } = await getMeterAllAPI()\r\n if (status === 200) {\r\n setMeterList(data)\r\n setIsGetFetching(false)\r\n } else {\r\n setIsGetFetching(false)\r\n }\r\n }\r\n\r\n const getMeterById = async (id: string | number) => { }\r\n\r\n const postMeter = async (smartMeter: any) => {\r\n let hasFetching = false\r\n try {\r\n const { status } = await postMeterAPI(smartMeter)\r\n hasFetching = status === 200\r\n\r\n if (hasFetching) {\r\n getMeterList()\r\n }\r\n setSnackBarTextResponse('Medidor cadastrado com sucesso!')\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetching\r\n }\r\n\r\n const putMeter = async (smartMeter: any, id: any) => {\r\n let hasFetching = false\r\n try {\r\n const { status } = await putMeterAPI(smartMeter, id)\r\n hasFetching = status === 200\r\n\r\n if (hasFetching) {\r\n getMeterList()\r\n }\r\n setSnackBarTextResponse('Medidor atualizado com sucesso!')\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetching\r\n }\r\n\r\n const deleteMeter = async (id: number | string) => {\r\n let hasFetching = false\r\n try {\r\n const { status } = await deleteMeterAPI(id)\r\n hasFetching = status === 200\r\n\r\n if (hasFetching) {\r\n getMeterList()\r\n }\r\n setSnackBarTextResponse('Medidor deletado com sucesso!')\r\n }\r\n catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetching\r\n }\r\n\r\n const associatedSmartMeter = async (id: number | string, macId: number | string) => {\r\n let hasFetching = false\r\n const role = localStorage.getItem(\"role\");\r\n const userIdValue = localStorage.getItem(\"userIdValue\");\r\n let privilege = false\r\n privilege = role === \"Admin\" || role === \"tecnico\"\r\n\r\n try {\r\n const { status } = await associatedSmartMeterAPI(id, macId)\r\n hasFetching = status === 200\r\n if (hasFetching && userIdValue) {\r\n getConsumerUnitList(userIdValue, privilege)\r\n setSnackBarTextResponse('Medidor associado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasFetching\r\n }\r\n\r\n const desassociateSmartMeter = async (id: number | string) => {\r\n let hasFetching = false\r\n const role = localStorage.getItem(\"role\");\r\n const userIdValue = localStorage.getItem(\"userIdValue\");\r\n let privilege = false\r\n privilege = role === \"Admin\" || role === \"tecnico\"\r\n\r\n try {\r\n const { status } = await disassociateSmartMeterAPI(id)\r\n hasFetching = status === 200\r\n if (hasFetching && userIdValue) {\r\n getConsumerUnitList(userIdValue, privilege)\r\n getMeterList()\r\n setSnackBarTextResponse('Medidor desassociado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasFetching\r\n }\r\n\r\n const associatedIntrusiveMeter = async (id: number | string, macId: number | string, channels: any) => {\r\n let hasFetching = false\r\n\r\n let bodyRequest = {\r\n macId: macId,\r\n channels: channels\r\n }\r\n\r\n try {\r\n const { status } = await associatedIntrusiveMeterAPI(id, bodyRequest)\r\n hasFetching = status === 200\r\n if (hasFetching) {\r\n getEquipmentByIdConsumerUnit(selectConsumerUnitId)\r\n getMeterList()\r\n setSnackBarTextResponse('Medidor associado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasFetching\r\n }\r\n\r\n const desassociateIntrusiveMeter = async (id: number | string) => {\r\n let hasFetching = false\r\n try {\r\n const { status } = await disassociateIntrusiveMeterAPI(id)\r\n hasFetching = status === 200\r\n if (hasFetching) {\r\n getEquipmentByIdConsumerUnit(selectConsumerUnitId)\r\n getMeterList()\r\n setSnackBarTextResponse('Medidor desassociado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasFetching\r\n }\r\n\r\n const objProvider = {\r\n meterList,\r\n setMeterList,\r\n getMeterList,\r\n getMeterById,\r\n postMeter,\r\n putMeter,\r\n deleteMeter,\r\n associatedSmartMeter,\r\n desassociateSmartMeter,\r\n associatedIntrusiveMeter,\r\n desassociateIntrusiveMeter,\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nfunction useMeterContext() {\r\n const context = useContext(MeterContext)\r\n return context\r\n}\r\n\r\nexport {\r\n MeterContextProvider,\r\n useMeterContext\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { FormControl, InputLabel, MenuItem, Select, Typography } from \"@mui/material\";\r\nimport ErrorIcon from \"@mui/icons-material/Error\";\r\nimport Tooltip from \"@mui/material/Tooltip\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as yup from \"yup\";\r\n\r\nimport styles from './styles.module.scss';\r\n\r\nimport CustomButton from \"../../Form/button\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\nimport { useMeterContext } from \"../../../providers/meterContext\";\r\n\r\ntype propsModal = {\r\n consumerUnitId: any;\r\n};\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ConnectSmartMeter({ consumerUnitId }: propsModal) {\r\n const { connectSmartMeter, setConnectSmartMeter } = useModalContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } = useStateContext()\r\n const { associatedSmartMeter, meterList } = useMeterContext()\r\n const [maxWidth] = useState(\"sm\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n const [selectMeter, setSelectMeter] = useState();\r\n const [selectValue] = useState('');\r\n\r\n useEffect(() => {\r\n let select = handleFilterMeterNotAssociated()\r\n setSelectMeter(select)\r\n }, [meterList]) // eslint-disable-line\r\n\r\n const handleFilterMeterNotAssociated = () => {\r\n let filter\r\n if (meterList.smart) {\r\n filter = meterList.smart.filter((meter: any) => {\r\n return meter.fullAssociated === false\r\n })\r\n }\r\n return filter\r\n }\r\n\r\n const validationSchema = yup.object({\r\n macId: yup.string(),\r\n });\r\n const formik = useFormik({\r\n initialValues: {\r\n macId: \"\",\r\n },\r\n\r\n validationSchema: validationSchema,\r\n\r\n onSubmit: async (values) => {\r\n setIsLoading(true)\r\n\r\n const hasAssociated = await associatedSmartMeter(consumerUnitId, values.macId,);\r\n\r\n if (hasAssociated) {\r\n setIsLoading(false)\r\n setStatusErrorOpenSnackBar(false)\r\n setOpenSnackBar(true)\r\n setConnectSmartMeter(false)\r\n } else {\r\n setIsLoading(false)\r\n setStatusErrorOpenSnackBar(true)\r\n setOpenSnackBar(true)\r\n }\r\n },\r\n });\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidth] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setConnectSmartMeter(false);\r\n setStateExitModal(false);\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleClose()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Associar
QGBT\r\n \r\n
\r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Medidores disponíveis\r\n \r\n \r\n \r\n \r\n \r\n \r\n Selecionar medidor\r\n \r\n \r\n {\r\n selectMeter &&\r\n selectMeter.map((meter: any, index: any) => {\r\n return (\r\n \r\n {meter.name}\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAbCAYAAABm409WAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHUSURBVHgB7VVLTsMwEJ0xbdmBj5DeoCCBxK69AZwAOAGwRCDRCoVt4QSUE8AN2h2iIMERzA0MK+S2HsahCWlIm0RhBy+L2M/2e+PfGKAk5NmzTNbjnICSoNq4v+IPD8K6rY26tjLqhvUKlAWSBItRxAjoMQe5Ddx0OcrbYLAZ7+vOloICyDSgZXMNhM2gXBN9/tUD4/OnbRBWEqEWwtalP9wL+rgPQcnzxyYIoxcayIuHHgtsR2aAg6i8ZLtMeIEkYYOp3bANXbugPYCqEhniu3FOmEknqlhQkA2NecUZL28nm2txYtV/dHsj0zR4Xur9ZHO/klPcDVEpXHOeAUce9Bf5xFmKxEuKiob50DMGi8SnDt4PCvBubnde0sggU9wFK9yJmYXA8RXPQqXIq/BACOk/tLPEp2gk844+3lKIkxZH2/vWhgEa2wovJK76Q4Kc4EDa76cbnbQ2PlF8Ccnjk1aP84WSHSIdyrN7r8iYotmU89LSbXKpYtBlDRwaVBv1kzNBU9lBU20lOxfag1mQ4st0A8b2FmXYhQZpm+qyJg+4TsgMaHrThake6c5atFTlH5yvUJphUvuoUhtie1H6yczCv8FfMCDES/gtcCb9OF1/jVOfMwzRYThuKbAAAAAASUVORK5CYII=\"","import { useState } from \"react\";\r\nimport { Typography } from \"@mui/material\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CustomButton from \"../../Form/button\";\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\n\r\nimport styles from './styles.module.scss';\r\n\r\ntype Props = {\r\n id: number | string;\r\n name?: string;\r\n functionDelete: (id: string | number) => Promise;\r\n}\r\n\r\nexport function DeleteItemModal(Props: Props) {\r\n const { id, name, functionDelete } = Props;\r\n const [maxWidthExit] = useState(\"sm\");\r\n const { setModalDelete, modalDelete } = useModalContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } = useStateContext();\r\n\r\n\r\n async function handleDeleteItem(itemId: string | number) {\r\n setIsLoading(true);\r\n const hasDelete = await functionDelete(itemId)\r\n if (hasDelete) {\r\n setOpenSnackBar(true)\r\n setStatusErrorOpenSnackBar(false)\r\n setIsLoading(false);\r\n setModalDelete(false)\r\n } else {\r\n setOpenSnackBar(true)\r\n setStatusErrorOpenSnackBar(true)\r\n setIsLoading(false);\r\n setModalDelete(false)\r\n }\r\n }\r\n\r\n const handleCloseModalDelete = () => {\r\n setModalDelete(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Deseja excluir {name}?\r\n \r\n \r\n Não é possível reverter essa ação.\r\n \r\n \r\n handleCloseModalDelete()}\r\n />\r\n handleDeleteItem(id)}\r\n />\r\n
\r\n \r\n \r\n );\r\n}","import { useState } from \"react\";\r\nimport { Typography } from \"@mui/material\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CustomButton from \"../../Form/button\";\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\n\r\ntype Props = {\r\n id: number | string;\r\n title?: string;\r\n functionDesassociated: (id: string | number) => Promise;\r\n}\r\n\r\nexport function DesassociatedItemModal(Props: Props) {\r\n const { id, title, functionDesassociated } = Props;\r\n const [maxWidthExit] = useState(\"sm\");\r\n const { setModalDesassociated, modalDesassociated } = useModalContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } = useStateContext();\r\n\r\n\r\n async function handleDesassociatedItem(itemId: string | number) {\r\n setIsLoading(true);\r\n const hasDelete = await functionDesassociated(itemId)\r\n if (hasDelete) {\r\n setOpenSnackBar(true)\r\n setStatusErrorOpenSnackBar(false)\r\n setIsLoading(false);\r\n setModalDesassociated(false)\r\n } else {\r\n setOpenSnackBar(true)\r\n setStatusErrorOpenSnackBar(true)\r\n setIsLoading(false);\r\n setModalDesassociated(false)\r\n }\r\n }\r\n\r\n const handleCloseModalDelete = () => {\r\n setModalDesassociated(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {title}?\r\n \r\n \r\n Não é possível reverter essa ação.\r\n \r\n \r\n handleCloseModalDelete()}\r\n />\r\n handleDesassociatedItem(id)}\r\n />\r\n \r\n \r\n \r\n );\r\n}","import { useState, useEffect } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport DeleteIcon from \"@mui/icons-material/Delete\";\r\nimport EditIcon from \"@mui/icons-material/Edit\";\r\nimport CustomButton from \"../../components/Form/button\";\r\nimport { ModalConsumerUnitRegistration } from \"../../components/Modal/ConsumerUnitRegistration\";\r\nimport { ModalEditConsumerUnit } from \"../../components/Modal/EditConsumerUnit\";\r\nimport { ConnectSmartMeter } from \"../../components/Modal/ConnectSmartMeter\";\r\nimport IconConsumerUnit from \"../../assets/image/icon-consumer-unit.png\";\r\nimport styles from \"./styles.module.scss\";\r\nimport { useModalContext } from \"../../providers/modalContext\";\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport { useConsumerUnitContext } from \"../../providers/consumerUnitContext\";\r\nimport { DeleteItemModal } from \"../../components/Modal/DeleteItem\";\r\nimport { DesassociatedItemModal } from \"../../components/Modal/DisconnectMeter\";\r\nimport { useMeterContext } from \"../../providers/meterContext\";\r\nimport { CircularProgress } from \"@mui/material\";\r\n\r\nexport default function ConsumerUnit() {\r\n const [consumerUnitEdit, setConsumerUnitEdit] = useState();\r\n const [consumerIdPros, setConsumerIdPros] = useState();\r\n const [idConsumerSelect, setIdConsumerSelect] = useState(0);\r\n const [consumerUnitName, setConsumerUnitName] = useState(\"\");\r\n const [consumerFilter, setConsumerFilter] = useState>([] as any);\r\n\r\n const {\r\n setModalConsumerUnitRegistration,\r\n setModalEditConsumerUnit,\r\n setConnectSmartMeter,\r\n setModalDelete,\r\n setModalDesassociated,\r\n } = useModalContext();\r\n\r\n const {\r\n deleteConsumer,\r\n consumerUnitList,\r\n } = useConsumerUnitContext();\r\n\r\n const { desassociateSmartMeter, getMeterList } = useMeterContext();\r\n const { setSearchItem, searchItem, isGetFetching } = useStateContext();\r\n\r\n const role = localStorage.getItem(\"role\");\r\n\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n if (consumerUnitList.length > 0) {\r\n setConsumerFilter(consumerUnitList);\r\n }\r\n }, [consumerUnitList]) // eslint-disable-line\r\n\r\n useEffect(() => {\r\n let role = localStorage.getItem(\"role\");\r\n if (role !== \"Cliente\") {\r\n getMeterList();\r\n }\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setConsumerFilter(searchConsumerUnit())\r\n }, [searchItem]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const searchConsumerUnit = () => {\r\n const lowerCaseSearch = searchItem.toLowerCase();\r\n let fil\r\n fil = consumerUnitList.filter((item) => {\r\n if (item.placeName.toLowerCase().includes(lowerCaseSearch)) {\r\n return item\r\n }\r\n });\r\n return fil\r\n };\r\n\r\n const handleDeleteItem = (id: number, name: string) => {\r\n setIdConsumerSelect(id);\r\n setConsumerUnitName(name);\r\n setModalDelete(true);\r\n };\r\n\r\n const handleConsumerUnitRegistrations = () => {\r\n setModalConsumerUnitRegistration(true);\r\n };\r\n\r\n const handleEditConsumerUnit = (unit: any) => {\r\n setConsumerUnitEdit(unit);\r\n setModalEditConsumerUnit(true);\r\n };\r\n\r\n const handleConnectSmartMeter = (unit: any) => {\r\n setConsumerIdPros(unit.id);\r\n setConnectSmartMeter(true);\r\n };\r\n\r\n const handleDisconnectSmartMeter = (id: number, name: string) => {\r\n setIdConsumerSelect(id);\r\n setConsumerUnitName(name);\r\n setModalDesassociated(true);\r\n };\r\n\r\n const handleSeeMonitoring = (unit: any) => {\r\n navigate({\r\n pathname: \"/dashboard\",\r\n search: `?consumerUnitId=${unit.id}`,\r\n });\r\n };\r\n\r\n const handleSeeEquipmentList = (unit: any) => {\r\n navigate({\r\n pathname: \"/dashboard/equipmentManagement\",\r\n search: `?consumerUnitId=${unit.id}`,\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Unidade Consumidora

\r\n
\r\n
\r\n setSearchItem(e.target.value)}\r\n />\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Lista de Unidades

\r\n
\r\n {isGetFetching ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {consumerFilter.length !== 0 ? (\r\n
\r\n
\r\n
\r\n
Unidade Consumidora
\r\n
\r\n
\r\n
Equipamentos Monitorados
\r\n
\r\n
\r\n
Medidor associado
\r\n
\r\n
\r\n {consumerFilter.map((unit: any) => {\r\n function getAssociatedEquipment(): string {\r\n let name: string;\r\n if (unit.equipments.length === 0) {\r\n name = \"Não há equipamento associado\";\r\n } else if (unit.equipments.length === 1) {\r\n name = \"Equipamento Associado\";\r\n } else {\r\n name = \"Equipamentos Associados\";\r\n }\r\n return name;\r\n }\r\n\r\n const AssocietedEquipment = getAssociatedEquipment();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {unit.placeName} - {unit.state}\r\n
\r\n
\r\n

\r\n {unit.street} / n°: {unit.number}\r\n

\r\n \r\n

Cep: {unit.zipCode}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {unit.equipments.length}\r\n
\r\n
\r\n

{AssocietedEquipment}

\r\n handleSeeEquipmentList(unit)}\r\n >\r\n Ver lista\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {unit.mac ? (\r\n
\r\n

{unit.mac.name}

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

Não associado

\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n handleEditConsumerUnit(unit)}\r\n >\r\n \r\n \r\n \r\n handleDeleteItem(unit.id, unit.placeName)\r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {role !== \"Cliente\" ? (\r\n unit.mac ? (\r\n \r\n handleDisconnectSmartMeter(\r\n unit.id,\r\n unit.placeName\r\n )\r\n }\r\n />\r\n ) : (\r\n handleConnectSmartMeter(unit)}\r\n />\r\n )\r\n ) : (\r\n
\r\n )}\r\n handleSeeMonitoring(unit)}\r\n />\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n ) : (\r\n
\r\n \r\n Não conseguimos encontrar nenhuma unidade consumidora\r\n cadastra, para cadastrar basta clicar no botão acima!\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n deleteConsumer(idConsumerSelect)}\r\n />\r\n desassociateSmartMeter(idConsumerSelect)}\r\n />\r\n \r\n {consumerUnitEdit ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n {consumerIdPros ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Select from \"@mui/material/Select\";\r\nimport { InputLabel, Typography } from \"@mui/material\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\n\r\n\r\nimport styles from './styles.module.scss';\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as yup from \"yup\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\n\r\nimport Button from \"../../Form/button\";\r\n\r\nimport CustomButton from \"../../Form/button\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\nimport { useAuth } from \"../../../providers/authContext\";\r\n\r\ntype propsModal = {\r\n userEdit: any;\r\n list: boolean;\r\n};\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ModalUserADM({ userEdit, list }: propsModal) {\r\n const { modalUserADM, setModalUserADM } = useModalContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } =\r\n useStateContext();\r\n const { EditUser } = useAuth();\r\n const [maxWidth] = useState(\"xl\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n\r\n useEffect(() => {\r\n formik.setFieldValue(\"fullName\", userEdit.fullName, false);\r\n formik.setFieldValue(\"userName\", userEdit.userName, false);\r\n formik.setFieldValue(\"email\", userEdit.email, false);\r\n formik.setFieldValue(\"phone\", userEdit.phone, false);\r\n formik.setFieldValue(\"role\", userEdit.userRole.name, false);\r\n formik.setFieldValue(\"password\", \"\", false);\r\n formik.setFieldValue(\"confirmPassword\", \"\", false);\r\n }, [userEdit]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const validationSchema = yup.object({\r\n fullName: yup.string(),\r\n userName: yup.string(),\r\n email: yup.string().email(\"Entrar com email valido\"),\r\n password: yup.string(),\r\n role: yup.string().required(\"O papel é obrigatório!\"),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n fullName: userEdit.fullName,\r\n userName: userEdit.userName,\r\n email: userEdit.email,\r\n phone: userEdit.phone,\r\n role: userEdit.userRole.name,\r\n password: \"\",\r\n confirmPassword: \"\",\r\n },\r\n validationSchema: validationSchema,\r\n onSubmit: async (values) => {\r\n setIsLoading(false);\r\n const mountedEditUser = {\r\n fullName: values.fullName,\r\n userName: values.userName,\r\n email: values.email,\r\n phone: userEdit.phone,\r\n password: values.password !== \"\" ? values.password : null,\r\n role: values.role,\r\n };\r\n\r\n setIsLoading(true);\r\n const hasEdit = await EditUser(mountedEditUser, userEdit.id, list);\r\n\r\n if (hasEdit) {\r\n setOpenSnackBar(true);\r\n setStatusErrorOpenSnackBar(false);\r\n setIsLoading(false);\r\n setModalUserADM(false);\r\n } else {\r\n setOpenSnackBar(true);\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(true);\r\n }\r\n setIsLoading(false);\r\n },\r\n });\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidth] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setModalUserADM(false);\r\n setStateExitModal(false);\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleClose()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Administrador\r\n \r\n \r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Dados Pessoais\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Papel\r\n \r\n \r\n \r\n Selecione um papel\r\n \r\n Cliente\r\n Técnico\r\n Admin\r\n \r\n {/* {formik.touched.tariffType && formik.errors.tariffType} */}\r\n \r\n \r\n \r\n console.log(\"limpando\")}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Nova senha\r\n \r\n \r\n \r\n \r\n \r\n \r\n formik.resetForm()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { useState } from \"react\";\r\n\r\nexport function usePagination(data, itemsPerPage) {\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const maxPage = Math.ceil(data.length / itemsPerPage);\r\n\r\n function currentData() {\r\n const begin = (currentPage - 1) * itemsPerPage;\r\n const end = begin + itemsPerPage;\r\n return data.slice(begin, end);\r\n }\r\n\r\n function next() {\r\n setCurrentPage(currentPage => Math.min(currentPage + 1, maxPage));\r\n }\r\n\r\n function prev() {\r\n setCurrentPage(currentPage => Math.max(currentPage - 1, 1));\r\n }\r\n\r\n function jump(page) {\r\n const pageNumber = Math.max(1, page);\r\n setCurrentPage(currentPage => Math.min(pageNumber, maxPage));\r\n }\r\n\r\n return { next, prev, jump, currentData, currentPage, maxPage };\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport { useNavigate, useLocation } from 'react-router-dom';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport EditIcon from '@mui/icons-material/Edit';\r\nimport PersonIcon from '@mui/icons-material/Person';\r\nimport Box from '@mui/material/Box';\r\nimport { CircularProgress, Divider } from '@mui/material';\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts';\r\nimport { Pagination } from \"@material-ui/lab\";\r\n\r\nimport { useModalContext } from \"../../providers/modalContext\";\r\nimport { ModalUserADM } from \"../../components/Modal/UserADM\";\r\nimport { ModalEditClient } from \"../../components/Modal/EditClient\";\r\n\r\nimport styles from \"./styles.module.scss\";\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport { usePagination } from \"../../util/hooks/pagination\";\r\nimport { DeleteItemModal } from \"../../components/Modal/DeleteItem\";\r\nimport { useAuth } from \"../../providers/authContext\";\r\nimport { CustomSnackBar } from \"../../components/Snackbar\";\r\n\r\nexport default function UserManagement() {\r\n const { setModalUserADM, setModalEditClient, setModalDelete } = useModalContext()\r\n const { isLoading, setIsLoading, setShowSelectAppBar, setSearchItem, searchItem } = useStateContext()\r\n const { deleteUser, userList, getUserList, logout } = useAuth()\r\n const [mountedUserEdit, setMountedUserEdit] = useState()\r\n const [mountedUserClientEdit, setMountedUserClientEdit] = useState()\r\n const [userId, setUserId] = useState('')\r\n const [userName, setUserName] = useState('')\r\n const [userFilter, setUserFilter] = useState>([] as any);\r\n const navigate = useNavigate()\r\n const location = useLocation()\r\n\r\n const PER_PAGE = 100;\r\n\r\n const handleFilterList = (e: any) => {\r\n if (e.target.value === \"All\") {\r\n setUserFilter(userList);\r\n } else {\r\n let FilterUser = userList.filter(\r\n (item: any) => item.userRole.name === e.target.value\r\n );\r\n setUserFilter(FilterUser);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (userList.length > 0) {\r\n setUserFilter(userList);\r\n }\r\n }, [userList]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const count = Math.ceil(userFilter.length / PER_PAGE);\r\n const _DATA = usePagination(userFilter, PER_PAGE);\r\n\r\n useEffect(() => {\r\n getAll();\r\n setShowSelectAppBar(false);\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (searchItem !== \"\") {\r\n if (userFilter!.length > 0) {\r\n const filter = userFilter!.filter(\r\n (item: any) =>\r\n item.fullName\r\n .toLocaleLowerCase()\r\n .includes(searchItem.toLocaleLowerCase()) ||\r\n item.document\r\n .toLocaleLowerCase()\r\n .includes(searchItem.toLocaleLowerCase()) ||\r\n item.email\r\n .toLocaleLowerCase()\r\n .includes(searchItem.toLocaleLowerCase()) ||\r\n item.phone\r\n .toLocaleLowerCase()\r\n .includes(searchItem.toLocaleLowerCase())\r\n );\r\n setUserFilter(filter);\r\n }\r\n } else {\r\n getAll();\r\n setUserFilter(userList);\r\n }\r\n }, [searchItem]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n async function getAll() {\r\n try {\r\n setIsLoading(true)\r\n await getUserList()\r\n setIsLoading(false)\r\n } catch (error) {\r\n setIsLoading(false)\r\n logout()\r\n navigate('/', { state: { from: location }, replace: true })\r\n }\r\n }\r\n\r\n const handleChange = (e: any, p: any) => {\r\n _DATA.jump(p);\r\n };\r\n\r\n const handleDeleteItem = (id: string, name: string) => {\r\n setUserId(id);\r\n setUserName(name);\r\n setModalDelete(true);\r\n };\r\n\r\n const handleOpenModalUserAdm = (user: any) => {\r\n setMountedUserEdit(user);\r\n setModalUserADM(true);\r\n };\r\n\r\n const handleOpenModalEditClient = (user: any) => {\r\n setMountedUserClientEdit(user);\r\n setModalEditClient(true);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Usuários

\r\n
\r\n setSearchItem(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n

Filtrar por:

\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Nome
\r\n
\r\n
\r\n
Documento
\r\n
\r\n
\r\n
Celular
\r\n
\r\n
\r\n
E-mail
\r\n
\r\n
\r\n
\r\n {isLoading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n userFilter &&\r\n _DATA.currentData().map((user: any) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {user.userRole?.name === \"Admin\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n

{user.fullName}

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

{user.document}

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

{user.phone}

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

{user.email}

\r\n
\r\n
\r\n
\r\n
\r\n {\r\n user.userRole.name === \"Admin\"\r\n ? handleOpenModalUserAdm(user)\r\n : handleOpenModalEditClient(user);\r\n }}\r\n >\r\n \r\n \r\n \r\n handleDeleteItem(user.id, user.fullName)\r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n )}\r\n \r\n \r\n {/**/}\r\n \r\n
\r\n
\r\n
\r\n {mountedUserEdit ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n {mountedUserClientEdit ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n deleteUser(userId)}\r\n />\r\n\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { styled } from \"@mui/material/styles\";\r\nimport { Select } from \"@mui/material\";\r\n\r\nconst CustomSelect = styled(Select)({\r\n marginTop: \"0rem\",\r\n \"& input:valid + fieldset\": {\r\n borderColor: \"#C8CBCC\",\r\n borderWidth: 1.5,\r\n fontSize: \"1rem\",\r\n },\r\n \"& input:valid:hover + fieldset\": {\r\n borderColor: \"#C8CBCC\",\r\n borderWidth: 1.5,\r\n },\r\n \"& input:invalid + fieldset\": {\r\n borderColor: \"red\",\r\n borderWidth: 2,\r\n },\r\n \"& input:valid:focus + fieldset\": {\r\n borderWidth: 2,\r\n borderColor: \"#0f85ca\",\r\n padding: \"4px !important\", // override inline-style\r\n },\r\n});\r\n\r\nexport default CustomSelect;\r\n","import {\r\n ModelCategory\r\n} from '../util/types'\r\nimport api from './api'\r\n\r\n//Model rest\r\nexport function getAllModel() {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get('/api/EquipmentModel', config)\r\n}\r\n\r\nexport function getModelById(id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get(`/api/EquipmentModel/${id}`, config)\r\n}\r\n\r\nexport function postModel(model: any) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.post('/api/EquipmentModel', model, config)\r\n}\r\n\r\nexport function putModel(model: any, id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.put(`/api/EquipmentModel/${parseInt(id)}`, model, config)\r\n}\r\n\r\nexport function delModel(id: number | string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.delete(`/api/EquipmentModel/${id}`, config)\r\n}\r\n\r\n\r\n// Category rest\r\nexport function getAllCategory() {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get('/api/EquipmentModelCategory', config)\r\n}\r\n\r\nexport function getCategoryById(id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get(`/api/EquipmentModelCategory/${id}`, config)\r\n}\r\n\r\nexport function postCategory(category: ModelCategory) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.post('/api/EquipmentModelCategory', category, config)\r\n}\r\n\r\nexport function putCategory(category: any, id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.put(`/api/EquipmentModelCategory/${parseInt(id)}`, category, config)\r\n}\r\n\r\nexport function delCategory(id: number | string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.delete(`/api/EquipmentModelCategory/${id}`, config)\r\n}\r\n\r\n// BusinessType rest\r\nexport function getAllBusinessType() {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get('/api/EquipmentModelBusiness', config)\r\n}\r\n\r\nexport function getBusinessTypeById(id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.get(`/api/EquipmentModelBusiness/${id}`, config)\r\n}\r\n\r\nexport function postBusinessType(BusinessType: any) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.post('/api/EquipmentModelBusiness', BusinessType, config)\r\n}\r\n\r\nexport function putBusinessType(BusinessType: any, id: string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n\r\n return api.put(`/api/EquipmentModelBusiness/${parseInt(id)}`, BusinessType, config)\r\n}\r\n\r\nexport function delBusinessType(id: number | string) {\r\n const accessTokenValue = localStorage.getItem('accessToken')\r\n\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${accessTokenValue}`\r\n }\r\n }\r\n return api.delete(`/api/EquipmentModelBusiness/${id}`, config)\r\n}","import React, { createContext, ReactNode, useContext, useState } from \"react\"\r\nimport { delBusinessType, delCategory, delModel, getAllBusinessType, getAllCategory, getAllModel, postBusinessType, postCategory, postModel, putBusinessType, putCategory, putModel } from \"../services/restApiEquipmentModels\"\r\nimport { ModelCategory, ModelBusinessType, EquipmentModel, ModelCategoryResponse, ModelBusinessTypeResponse } from \"../util/types\"\r\nimport { useStateContext } from \"./stateContext\"\r\n\r\ntype PropsModelContext = {\r\n stateModelList: Array,\r\n setStateModelList: React.Dispatch>>,\r\n stateCategoryList: Array,\r\n setStateCategoryList: React.Dispatch>>,\r\n stateBusinessTypeList: Array,\r\n setStateBusinessTypeList: React.Dispatch>>,\r\n\r\n getModelList: () => void,\r\n getCategoryList: () => void,\r\n getBusinessTypeList: () => void,\r\n postModelContext: (model: any) => Promise,\r\n postCategoryContext: (category: ModelCategory) => Promise,\r\n postBusinessTypeContext: (businessType: ModelBusinessType) => Promise,\r\n putModelContext: (model: any, id: string) => Promise,\r\n putCategoryContext: (category: ModelCategory, id: string) => Promise,\r\n putBusinessTypeContext: (businessType: ModelBusinessType, id: string) => Promise,\r\n deleteModel: (id: number | string) => Promise,\r\n deleteBusinessType: (id: number | string) => Promise,\r\n deleteCategory: (id: number | string) => Promise,\r\n}\r\n\r\ntype EquipmentContextTypes = {\r\n children: ReactNode\r\n}\r\n\r\nexport const ModelContext = createContext({} as PropsModelContext)\r\n\r\nfunction ModelContextProvider(props: EquipmentContextTypes) {\r\n const [stateModelList, setStateModelList] = useState>([{}] as Array)\r\n const [stateCategoryList, setStateCategoryList] = useState>([{}] as Array)\r\n const [stateBusinessTypeList, setStateBusinessTypeList] = useState>([{}] as Array)\r\n\r\n const { setSnackBarTextResponse } = useStateContext()\r\n\r\n const getModelList = async () => {\r\n setStateModelList([])\r\n const { data, status } = await getAllModel()\r\n if (status === 200) {\r\n setStateModelList(data)\r\n }\r\n }\r\n\r\n const getCategoryList = async () => {\r\n setStateCategoryList([])\r\n const { data, status } = await getAllCategory()\r\n if (status === 200) {\r\n setStateCategoryList(data)\r\n }\r\n }\r\n\r\n const getBusinessTypeList = async () => {\r\n setStateBusinessTypeList([])\r\n const { data, status } = await getAllBusinessType()\r\n if (status === 200) {\r\n setStateBusinessTypeList(data)\r\n }\r\n }\r\n\r\n const postModelContext = async (model: any) => {\r\n let hasFetch = false\r\n try {\r\n const { status } = await postModel(model)\r\n hasFetch = status === 200\r\n\r\n if (hasFetch) {\r\n getModelList()\r\n setSnackBarTextResponse(\"Modelo cadastrado com sucesso!\")\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetch\r\n }\r\n\r\n const postCategoryContext = async (category: ModelCategory) => {\r\n let hasFetch = false\r\n\r\n try {\r\n const { status } = await postCategory(category)\r\n hasFetch = status === 200\r\n\r\n if (hasFetch) {\r\n getCategoryList()\r\n setSnackBarTextResponse(\"Categoria cadastrada com sucesso!\")\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasFetch\r\n }\r\n\r\n const postBusinessTypeContext = async (businessType: ModelBusinessType) => {\r\n let hasFetch = false\r\n\r\n try {\r\n const { status } = await postBusinessType(businessType)\r\n hasFetch = status === 200\r\n\r\n if (hasFetch) {\r\n getBusinessTypeList()\r\n setSnackBarTextResponse(\"Categoria cadastrada com sucesso!\")\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n\r\n return hasFetch\r\n\r\n }\r\n\r\n const putModelContext = async (model: EquipmentModel, id: string) => {\r\n let hasFetch = false\r\n try {\r\n const { status } = await putModel(model, id)\r\n hasFetch = status === 200\r\n\r\n if (hasFetch) {\r\n getModelList()\r\n setSnackBarTextResponse(\"Modelo editado com sucesso!\")\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetch\r\n }\r\n\r\n const putCategoryContext = async (category: ModelCategory, id: string) => {\r\n let hasFetch = false\r\n try {\r\n const { status } = await putCategory(category, id)\r\n hasFetch = status === 200\r\n\r\n if (hasFetch) {\r\n getCategoryList()\r\n setSnackBarTextResponse(\"Categoria editada com sucesso!\")\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetch\r\n }\r\n\r\n const putBusinessTypeContext = async (businessType: ModelBusinessType, id: string) => {\r\n let hasFetch = false\r\n try {\r\n const { status } = await putBusinessType(businessType, id)\r\n hasFetch = status === 200\r\n\r\n if (hasFetch) {\r\n getBusinessTypeList()\r\n setSnackBarTextResponse(\"Tipo de negócio editada com sucesso!\")\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetch\r\n }\r\n\r\n const deleteModel = async (id: number | string) => {\r\n let hasFetch = false\r\n try {\r\n const { status } = await delModel(id)\r\n hasFetch = status === 200\r\n if (hasFetch) {\r\n getModelList()\r\n setSnackBarTextResponse('Modelo deletado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetch\r\n }\r\n\r\n const deleteBusinessType = async (id: number | string) => {\r\n let hasFetch = false\r\n try {\r\n const { status } = await delBusinessType(id)\r\n hasFetch = status === 200\r\n if (hasFetch) {\r\n getBusinessTypeList()\r\n setSnackBarTextResponse('Tipo de negócio deletado com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetch\r\n }\r\n\r\n const deleteCategory = async (id: number | string) => {\r\n let hasFetch = false\r\n try {\r\n const { status } = await delCategory(id)\r\n hasFetch = status === 200\r\n if (hasFetch) {\r\n getCategoryList()\r\n setSnackBarTextResponse('Categoria deletada com sucesso!')\r\n }\r\n } catch (error: any) {\r\n const errorMessage = JSON.parse(error.request.response)?.error\r\n setSnackBarTextResponse(errorMessage)\r\n }\r\n return hasFetch\r\n }\r\n\r\n const objProvider = {\r\n stateModelList,\r\n setStateModelList,\r\n stateCategoryList,\r\n setStateCategoryList,\r\n stateBusinessTypeList,\r\n setStateBusinessTypeList,\r\n getModelList,\r\n getCategoryList,\r\n getBusinessTypeList,\r\n postModelContext,\r\n postCategoryContext,\r\n postBusinessTypeContext,\r\n putModelContext,\r\n putCategoryContext,\r\n putBusinessTypeContext,\r\n deleteModel,\r\n deleteBusinessType,\r\n deleteCategory\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nfunction useModelContext() {\r\n const context = useContext(ModelContext)\r\n return context\r\n}\r\n\r\nexport {\r\n ModelContextProvider,\r\n useModelContext\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\n\r\nimport CustomInput from \"../../../components/CustomInput\";\r\nimport CustomSelect from \"../../../components/CustomSelect\";\r\n\r\nimport { Typography } from \"@mui/material\";\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as yup from \"yup\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\n\r\nimport CustomButton from \"../../Form/button\";\r\n\r\nimport styles from \"./styles.module.scss\";\r\nimport { useEquipmentContext } from \"../../../providers/equipmentContext\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport { useModelContext } from \"../../../providers/modelContext\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\n\r\ntype propsModel = {\r\n equipmentEdit: any;\r\n list: boolean;\r\n};\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ModalEditEquipment({ equipmentEdit, list }: propsModel) {\r\n const { modalEditEquipment, setModalEditEquipment } = useModalContext();\r\n const { equipmentPutApi } = useEquipmentContext();\r\n const { stateModelList } = useModelContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } =\r\n useStateContext();\r\n const [maxWidth] = useState(\"xl\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n\r\n const { id, description, name, consumerUnitId, equipmentModelId } =\r\n equipmentEdit;\r\n\r\n useEffect(() => {\r\n formik.setFieldValue(\"description\", description || \"\", false);\r\n formik.setFieldValue(\"name\", name, false);\r\n formik.setFieldValue(\"consumerUnitId\", consumerUnitId, false);\r\n formik.setFieldValue(\"equipmentModelId\", equipmentModelId, false);\r\n }, [equipmentEdit]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const validationSchema = yup.object({\r\n description: yup.string(),\r\n name: yup.string().required(\"O nome é obrigatório\"),\r\n consumerUnitId: yup.number(),\r\n equipmentModelId: yup.number().required(\"Campo obrigatório\"),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n description: description || \"\",\r\n name: name,\r\n consumerUnitId: consumerUnitId,\r\n equipmentModelId: equipmentModelId,\r\n },\r\n\r\n validationSchema: validationSchema,\r\n\r\n onSubmit: async (values) => {\r\n setIsLoading(true);\r\n\r\n const mountedValue = {\r\n description: values.description === \"\" ? null : values.description,\r\n name: values.name,\r\n consumerUnitId: values.consumerUnitId,\r\n equipmentModelId: values.equipmentModelId,\r\n };\r\n\r\n const editEquipmentResponse = await equipmentPutApi(\r\n mountedValue,\r\n id,\r\n list\r\n );\r\n if (editEquipmentResponse) {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(false);\r\n setOpenSnackBar(true);\r\n setModalEditEquipment(false);\r\n } else {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(true);\r\n setOpenSnackBar(true);\r\n }\r\n },\r\n });\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidth] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setModalEditEquipment(false);\r\n setStateExitModal(false);\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleClose()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Editar\r\n
\r\n Equipamento\r\n \r\n
\r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Modelo\r\n \r\n \r\n {stateModelList &&\r\n stateModelList.map((model) => {\r\n return (\r\n \r\n {model.name} - {model.brand}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { Checkbox, FormControl, FormControlLabel, FormGroup, InputLabel, MenuItem, Select, Typography } from \"@mui/material\";\r\nimport ErrorIcon from \"@mui/icons-material/Error\";\r\nimport Tooltip from \"@mui/material/Tooltip\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\n\r\nimport { useFormik } from \"formik\";\r\n\r\nimport CustomButton from \"../../Form/button\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\nimport { useMeterContext } from \"../../../providers/meterContext\";\r\n\r\ntype propsSM = {\r\n equipmentId: any;\r\n};\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ConnectIntrusiveSmartMeter({ equipmentId }: propsSM) {\r\n const { connectIntrusiveSmartMeter, setConnectIntrusiveSmartMeter } = useModalContext();\r\n const { setIsLoading, setOpenSnackBar, setStatusErrorOpenSnackBar } = useStateContext()\r\n const { associatedIntrusiveMeter, meterList } = useMeterContext()\r\n const [maxWidth] = useState(\"sm\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n const [selectMeter, setSelectMeter] = useState();\r\n const [selectValue, setSelectValue] = useState('');\r\n\r\n const [equipmentR, setEquipmentR] = useState(true);\r\n const [equipmentS, setEquipmentS] = useState(true);\r\n const [equipmentT, setEquipmentT] = useState(true);\r\n\r\n\r\n\r\n// log the associatedIntrusiveMeter to console whenever it changes\r\nuseEffect(() => {\r\n console.log(\"associatedIntrusiveMeter\",associatedIntrusiveMeter);\r\n}, [associatedIntrusiveMeter]); // dependency array includes associatedIntrusiveMeter\r\n\r\n\r\n useEffect(() => {\r\n let select = handleFilterMeterNotAssociated()\r\n setSelectMeter(select)\r\n }, [meterList]) // eslint-disable-line\r\n\r\n useEffect(() => {\r\n if (meterList) {\r\n checkMeterEquipment()\r\n }\r\n }, [selectValue]) // eslint-disable-line\r\n\r\n const handleFilterMeterNotAssociated = () => {\r\n let filterListMeterAssociated = [] as any;\r\n let diff\r\n\r\n if (meterList.intrusive) {\r\n meterList.intrusive.filter((meter: any) => {\r\n if (meter.equipmentR !== null && meter.equipmentS !== null && meter.equipmentT !== null) {\r\n filterListMeterAssociated.push(meter)\r\n }\r\n })\r\n diff = meterList.intrusive.filter(item => !filterListMeterAssociated.includes(item))\r\n }\r\n return diff\r\n }\r\n\r\n const checkMeterEquipment = () => {\r\n setEquipmentR(true)\r\n setEquipmentS(true)\r\n setEquipmentT(true)\r\n let checkEquipment\r\n if (meterList.intrusive) {\r\n checkEquipment = meterList.intrusive.forEach((meter: any) => {\r\n if (meter.id === selectValue.value) {\r\n if (meter.equipmentR === null) {\r\n setEquipmentR(false)\r\n }\r\n if (meter.equipmentS === null) {\r\n setEquipmentS(false)\r\n }\r\n if (meter.equipmentT === null) {\r\n setEquipmentT(false)\r\n }\r\n }\r\n })\r\n }\r\n return checkEquipment\r\n }\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n macId: \"\",\r\n channels: [],\r\n },\r\n\r\n onSubmit: async (values) => {\r\n setIsLoading(true)\r\n\r\n let hasConnect = await associatedIntrusiveMeter(equipmentId, values.macId, values.channels)\r\n\r\n if (hasConnect) {\r\n setIsLoading(false)\r\n setOpenSnackBar(true)\r\n setStatusErrorOpenSnackBar(false)\r\n setConnectIntrusiveSmartMeter(false)\r\n } else {\r\n setStatusErrorOpenSnackBar(true)\r\n setOpenSnackBar(true)\r\n setIsLoading(false)\r\n }\r\n\r\n },\r\n });\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidth] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setConnectIntrusiveSmartMeter(false);\r\n setStateExitModal(false);\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleClose()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Associar\r\n
\r\n Setor/Aparelho\r\n \r\n \r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Medidores disponíveis\r\n \r\n \r\n \r\n \r\n \r\n \r\n Selecionar medidor\r\n \r\n {\r\n setSelectValue(e.target)\r\n formik.setFieldValue('macId', e.target.value)\r\n }}\r\n error={\r\n formik.touched.macId &&\r\n Boolean(formik.errors.macId)\r\n }\r\n >\r\n {\r\n selectMeter &&\r\n selectMeter.map((meter: any, index: any) => {\r\n return (\r\n \r\n {meter.name}\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n {\r\n formik.values.macId && (\r\n <>\r\n \r\n Canais disponíveis\r\n \r\n\r\n \r\n } label=\"R\" />\r\n } label=\"S\" />\r\n } label=\"T\" />\r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport DeleteIcon from \"@mui/icons-material/Delete\";\r\nimport EditIcon from \"@mui/icons-material/Edit\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { Pagination } from \"@material-ui/lab\";\r\n\r\nimport { ModalEditEquipment } from \"../../../Modal/EditEquipment\";\r\nimport { useModalContext } from \"../../../../providers/modalContext\";\r\nimport styles from \"./styles.module.scss\";\r\nimport CustomButton from \"../../../Form/button\";\r\nimport { ConnectIntrusiveSmartMeter } from \"../../../Modal/ConnectIntrusiveSmartMeter\";\r\nimport { useEquipmentContext } from \"../../../../providers/equipmentContext\";\r\nimport { usePagination } from \"../../../../util/hooks/pagination\";\r\nimport { useStateContext } from \"../../../../providers/stateContext\";\r\nimport { DeleteItemModal } from \"../../../Modal/DeleteItem\";\r\nimport { DesassociatedItemModal } from \"../../../Modal/DisconnectMeter\";\r\nimport { useMeterContext } from \"../../../../providers/meterContext\";\r\n\r\nexport function Equipments() {\r\n const role = localStorage.getItem(\"role\");\r\n const [equipmentEdit, setEquipmentEdit] = useState();\r\n const {\r\n setModalEditEquipment,\r\n setConnectIntrusiveSmartMeter,\r\n setModalDesassociated,\r\n setModalDelete,\r\n } = useModalContext();\r\n const { desassociateIntrusiveMeter } = useMeterContext();\r\n const { deleteEquipment, stateEquipmentsList } = useEquipmentContext();\r\n const { selectConsumerUnitId, searchItem } = useStateContext();\r\n const [equipmentId, setEquipmentId] = useState(0);\r\n const [equipmentName, setEquipmentName] = useState(\"\");\r\n const [equipmentFilter, setEquipmentFilter] = useState>([] as any);\r\n let [page, setPage] = useState(1);\r\n\r\n const PER_PAGE = 8;\r\n\r\n useEffect(() => {\r\n if (equipmentFilter.length <= 0 && stateEquipmentsList.length > 0) {\r\n setEquipmentFilter(stateEquipmentsList);\r\n }\r\n }, [equipmentFilter, stateEquipmentsList]);\r\n\r\n const count = Math.ceil(equipmentFilter.length / PER_PAGE);\r\n const _DATA = usePagination(equipmentFilter, PER_PAGE);\r\n\r\n useEffect(() => {\r\n if (searchItem !== \"\") {\r\n if (equipmentFilter.length > 0) {\r\n const filter = equipmentFilter.filter(\r\n (item: any) =>\r\n item.name\r\n .toLocaleLowerCase()\r\n .includes(searchItem.toLocaleLowerCase()) ||\r\n item.equipmentModel.brand\r\n .toLocaleLowerCase()\r\n .includes(searchItem.toLocaleLowerCase())\r\n );\r\n setEquipmentFilter(filter);\r\n }\r\n } else {\r\n setEquipmentFilter(stateEquipmentsList);\r\n }\r\n }, [searchItem]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleChange = (e: any, p: any) => {\r\n setPage(p);\r\n _DATA.jump(p);\r\n };\r\n\r\n const handleDeleteItem = (id: number, name: string) => {\r\n setEquipmentId(id);\r\n setEquipmentName(name);\r\n setModalDelete(true);\r\n };\r\n\r\n const handleEditEquipment = (equipEdit: any) => {\r\n console.log(equipEdit); // This will log the equipEdit object in your console\r\n setEquipmentEdit(equipEdit);\r\n setModalEditEquipment(true);\r\n};\r\n\r\n const handleAssociateIntrusiveSmartMeter = (id: any) => {\r\n setEquipmentId(id);\r\n setConnectIntrusiveSmartMeter(true);\r\n };\r\n\r\n const handleDesassociateIntrusiveSmartMeter = (id: any, name: string) => {\r\n setEquipmentId(id);\r\n setEquipmentName(name);\r\n setModalDesassociated(true);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {stateEquipmentsList.length > 0 ? (\r\n
\r\n
\r\n
\r\n
\r\n
Nome
\r\n
\r\n
\r\n
Marca
\r\n
\r\n
\r\n
Medidor
\r\n
\r\n
\r\n
Canal
\r\n
\r\n
\r\n
\r\n {_DATA.currentData().map((equip: any, index: any) => {\r\n if (equip.consumerUnitId === selectConsumerUnitId) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{equip.name}

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

{equip.equipmentModel?.brand || \"\"}

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

\r\n {equip.mac !== null\r\n ? equip.mac.name\r\n : \"Não associado\"}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {equip.channelR ? (\r\n \r\n
\r\n {\"R \"}\r\n \r\n ) : null}\r\n {equip.channelS ? (\r\n \r\n
\r\n {\"S \"}\r\n \r\n ) : null}\r\n {equip.channelT ? (\r\n \r\n
\r\n {\"T \"}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n handleDeleteItem(equip.id, equip.name)\r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n role && role !== \"Cliente\" ?\r\n
\r\n {equip.mac ? (\r\n \r\n handleDesassociateIntrusiveSmartMeter(\r\n equip.id,\r\n equip.name\r\n )\r\n }\r\n />\r\n ) : (\r\n \r\n handleAssociateIntrusiveSmartMeter(equip.id)\r\n }\r\n />\r\n )}\r\n
\r\n :
\r\n }\r\n
\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n
\r\n \r\n {/**/}\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n Não foi encontrado nenhuma equipamento cadastrado, você pode\r\n cadastrar um novo no botão acima!\r\n \r\n
\r\n )}\r\n
\r\n {equipmentEdit ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n deleteEquipment(equipmentId)}\r\n />\r\n desassociateIntrusiveMeter(equipmentId)}\r\n />\r\n
\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nimport Box from \"@mui/material/Box\";\r\nimport Dialog, { DialogProps } from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { Typography } from \"@mui/material\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\n\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\n\r\nimport { useModalContext } from \"../../../providers/modalContext\";\r\nimport Logo from \"../../../assets/image/deep-ambiente-logo.svg\";\r\n\r\nimport { useFormik } from \"formik\";\r\nimport * as yup from \"yup\";\r\n\r\nimport CustomButton from \"../../Form/button\";\r\n\r\nimport styles from \"./styles.module.scss\";\r\nimport { useEquipmentContext } from \"../../../providers/equipmentContext\";\r\nimport { useModelContext } from \"../../../providers/modelContext\";\r\nimport { useStateContext } from \"../../../providers/stateContext\";\r\nimport CustomInput from \"../../CustomInput\";\r\nimport CustomSelect from \"../../CustomSelect\";\r\nimport CustomButtonLoading from \"../../Form/buttonLoading\";\r\n\r\ntype props = {\r\n messageTitle: string;\r\n massageContent: string;\r\n};\r\n\r\nexport function ModalEquipmentRegistration() {\r\n const { modalEquipmentRegistration, setModalEquipmentRegistration } =\r\n useModalContext();\r\n const { equipmentPostApi } = useEquipmentContext();\r\n const { stateModelList, getModelList } = useModelContext();\r\n const {\r\n selectConsumerUnitId,\r\n setIsLoading,\r\n setOpenSnackBar,\r\n setStatusErrorOpenSnackBar,\r\n } = useStateContext();\r\n const [maxWidth] = useState(\"xl\");\r\n const [stateExitModal, setStateExitModal] = useState(false);\r\n\r\n useEffect(() => {\r\n getModelList();\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const validationSchema = yup.object({\r\n name: yup.string().required(\"O nome é obrigatório\"),\r\n description: yup.string(),\r\n equipmentModelId: yup.string().required(\"O modelo é obrigatório\"),\r\n consumerUnitId: yup.number(),\r\n });\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n name: \"\",\r\n equipmentModelId: \"\",\r\n description: \"\",\r\n },\r\n\r\n validationSchema: validationSchema,\r\n\r\n onSubmit: async (values) => {\r\n setIsLoading(true);\r\n const MountedEquipmentPost = {\r\n name: values.name,\r\n equipmentModelId:\r\n values.equipmentModelId === \"\" ? null : values.equipmentModelId,\r\n consumerUnitId: selectConsumerUnitId,\r\n description: values.description === \"\" ? null : values.description,\r\n };\r\n\r\n const equipmentPostResponse = await equipmentPostApi(\r\n MountedEquipmentPost\r\n );\r\n\r\n if (equipmentPostResponse) {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(false);\r\n handleOpenSnackBar();\r\n setModalEquipmentRegistration(false);\r\n formik.resetForm();\r\n } else {\r\n setIsLoading(false);\r\n setStatusErrorOpenSnackBar(true);\r\n handleOpenSnackBar();\r\n }\r\n },\r\n });\r\n\r\n const handleOpenSnackBar = () => {\r\n setOpenSnackBar(true);\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(true);\r\n };\r\n\r\n function ExitModal({ messageTitle, massageContent }: props) {\r\n const [maxWidth] = useState(\"sm\");\r\n\r\n const CloseAllModal = () => {\r\n setModalEquipmentRegistration(false);\r\n setStateExitModal(false);\r\n formik.resetForm();\r\n };\r\n\r\n const handleClose = () => {\r\n setStateExitModal(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {messageTitle}\r\n \r\n \r\n {massageContent}\r\n \r\n \r\n handleClose()}\r\n />\r\n CloseAllModal()}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cadastrar\r\n
\r\n Equipamento\r\n \r\n
\r\n \r\n handleClose()}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Modelo\r\n \r\n \r\n {stateModelList &&\r\n stateModelList.map((model) => {\r\n return (\r\n \r\n {model.name} - {model.brand}\r\n \r\n );\r\n })}\r\n \r\n \r\n {formik.touched.equipmentModelId &&\r\n formik.errors.equipmentModelId}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport Typography from \"@mui/material/Typography\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\nimport { Equipments } from \"../../components/Tabs/EquipmentManagementTabs/Equipments\";\r\nimport { ModalEquipmentRegistration } from \"../../components/Modal/EquipmentRegistration\";\r\n\r\nimport { useModalContext } from \"../../providers/modalContext\";\r\nimport styles from \"./styles.module.scss\";\r\nimport { useStateContext } from \"../../providers/stateContext\";\r\nimport { useEquipmentContext } from \"../../providers/equipmentContext\";\r\nimport { useNavigate, useSearchParams } from \"react-router-dom\";\r\nimport { useConsumerUnitContext } from \"../../providers/consumerUnitContext\";\r\nimport { CustomSnackBar } from \"../../components/Snackbar\";\r\nimport { useMeterContext } from \"../../providers/meterContext\";\r\nimport { CircularProgress } from \"@mui/material\";\r\ninterface TabPanelProps {\r\n children?: React.ReactNode;\r\n index: number;\r\n value: number;\r\n}\r\n\r\nfunction TabPanel(props: TabPanelProps) {\r\n const { children, value, index, ...other } = props;\r\n\r\n return (\r\n