diff --git a/3/ecolyo.4fdcb53af560576def95.js b/3/ecolyo.9e542255cb37015c1678.js similarity index 99% rename from 3/ecolyo.4fdcb53af560576def95.js rename to 3/ecolyo.9e542255cb37015c1678.js index cc100d37e92d99cc7e6b69ca20707bd7dd59cc60..a1800068506d63ae203efd92b692c38c6411f1ee 100644 --- a/3/ecolyo.4fdcb53af560576def95.js +++ b/3/ecolyo.9e542255cb37015c1678.js @@ -2150,6 +2150,7 @@ var _react = _interopRequireWildcard(__webpack_require__("ivGQ")); var _consumption = _interopRequireDefault(__webpack_require__("zET3")); var _performanceIndicator = _interopRequireDefault(__webpack_require__("1il/")); var _hooks = __webpack_require__("6FOS"); +var _utils = __webpack_require__("RgLR"); var _Comparison = _interopRequireDefault(__webpack_require__("QpDQ")); var _ElecHalfHourMonthlyAnalysis = _interopRequireDefault(__webpack_require__("//i3")); var _IncompleteDataWarning = _interopRequireDefault(__webpack_require__("eyR8")); @@ -2210,7 +2211,7 @@ var MonthlyAnalysis = function MonthlyAnalysis(_ref) { var subscribed = true; var populateData = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { - var timePeriod, comparisonTimePeriod, resultFluids, fetchedIncompleteDataFluids, fetchedPerformanceIndicators; + var timePeriod, comparisonTimePeriod, _yield$Promise$all, _yield$Promise$all2, resultFluids, fetchedIncompleteDataFluids, fetchedPerformanceIndicators; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { @@ -2233,13 +2234,12 @@ var MonthlyAnalysis = function MonthlyAnalysis(_ref) { }).endOf('month') }; _context.next = 5; - return consumptionService.getFluidsWithDataForTimePeriod([_enums.FluidType.ELECTRICITY, _enums.FluidType.WATER, _enums.FluidType.GAS], timePeriod); + return Promise.all([consumptionService.getFluidsWithDataForTimePeriod(_utils.allFluids, timePeriod), consumptionService.getFluidsWithIncompleteData(_utils.allFluids, timePeriod.startDate)]); case 5: - resultFluids = _context.sent; - _context.next = 8; - return consumptionService.getFluidsWithIncompleteData([_enums.FluidType.ELECTRICITY, _enums.FluidType.WATER, _enums.FluidType.GAS], timePeriod.startDate); - case 8: - fetchedIncompleteDataFluids = _context.sent; + _yield$Promise$all = _context.sent; + _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2); + resultFluids = _yield$Promise$all2[0]; + fetchedIncompleteDataFluids = _yield$Promise$all2[1]; setIncompleteDataFluids(fetchedIncompleteDataFluids); _context.next = 12; return consumptionService.getPerformanceIndicators(timePeriod, _enums.TimeStep.MONTH, resultFluids, comparisonTimePeriod); diff --git a/6/ecolyo.d1ae731e63a56e0cce3f.js b/6/ecolyo.94b4ac94168bc001f899.js similarity index 98% rename from 6/ecolyo.d1ae731e63a56e0cce3f.js rename to 6/ecolyo.94b4ac94168bc001f899.js index 99ae0bc9146781953505b771cbc6341adeda84f5..2d200c48a6a0aa33f5d2e1e73ba15c41234e2d85 100644 --- a/6/ecolyo.d1ae731e63a56e0cce3f.js +++ b/6/ecolyo.94b4ac94168bc001f899.js @@ -440,35 +440,32 @@ var ExportLoadingModal = function ExportLoadingModal(_ref) { }(), [client, t]); var getExportDataSheet = (0, _react2.useCallback)( /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(fluidType) { - var consumptionService, _yield$consumptionSer, _yield$consumptionSer2, firstDataDate, _yield$consumptionSer3, _yield$consumptionSer4, lastDataDate, timePeriod, dataLoad, exportDataSheet, _iterator2, _step2, data, dataRow; + var consumptionService, _yield$Promise$all, _yield$Promise$all2, firstDataDates, lastDataDates, firstDataDate, lastDataDate, timePeriod, dataLoad, exportDataSheet, _iterator2, _step2, data, dataRow; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: consumptionService = new _consumption.default(client); _context2.next = 3; - return consumptionService.fetchAllFirstDateData([fluidType], _enums.TimeStep.MONTH); + return Promise.all([consumptionService.fetchAllFirstDateData([fluidType], _enums.TimeStep.MONTH), consumptionService.fetchAllLastDateData([fluidType], _enums.TimeStep.MONTH)]); case 3: - _yield$consumptionSer = _context2.sent; - _yield$consumptionSer2 = (0, _slicedToArray2.default)(_yield$consumptionSer, 1); - firstDataDate = _yield$consumptionSer2[0]; - _context2.next = 8; - return consumptionService.fetchAllLastDateData([fluidType], _enums.TimeStep.MONTH); - case 8: - _yield$consumptionSer3 = _context2.sent; - _yield$consumptionSer4 = (0, _slicedToArray2.default)(_yield$consumptionSer3, 1); - lastDataDate = _yield$consumptionSer4[0]; + _yield$Promise$all = _context2.sent; + _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2); + firstDataDates = _yield$Promise$all2[0]; + lastDataDates = _yield$Promise$all2[1]; + firstDataDate = firstDataDates[0]; + lastDataDate = lastDataDates[0]; if (!(!firstDataDate || !lastDataDate)) { - _context2.next = 13; + _context2.next = 11; break; } return _context2.abrupt("return", null); - case 13: + case 11: timePeriod = { startDate: firstDataDate, endDate: lastDataDate }; - _context2.next = 16; + _context2.next = 14; return consumptionService.getGraphData({ timePeriod: timePeriod, timeStep: _enums.TimeStep.MONTH, @@ -476,60 +473,60 @@ var ExportLoadingModal = function ExportLoadingModal(_ref) { isHome: false, isExport: true }); - case 16: + case 14: dataLoad = _context2.sent; if (dataLoad !== null && dataLoad !== void 0 && dataLoad.actualData) { - _context2.next = 19; + _context2.next = 17; break; } return _context2.abrupt("return", null); - case 19: + case 17: exportDataSheet = { fluidName: t("FLUID.".concat(_enums.FluidType[fluidType], ".LABEL")), data: [] }; _iterator2 = _createForOfIteratorHelper(dataLoad.actualData); - _context2.prev = 21; + _context2.prev = 19; _iterator2.s(); - case 23: + case 21: if ((_step2 = _iterator2.n()).done) { - _context2.next = 33; + _context2.next = 31; break; } data = _step2.value; if (!(data.value === -1)) { - _context2.next = 27; + _context2.next = 25; break; } - return _context2.abrupt("continue", 31); - case 27: - _context2.next = 29; + return _context2.abrupt("continue", 29); + case 25: + _context2.next = 27; return buildDataRow(data, fluidType); - case 29: + case 27: dataRow = _context2.sent; exportDataSheet.data.push(dataRow); + case 29: + _context2.next = 21; + break; case 31: - _context2.next = 23; + _context2.next = 36; break; case 33: - _context2.next = 38; - break; - case 35: - _context2.prev = 35; - _context2.t0 = _context2["catch"](21); + _context2.prev = 33; + _context2.t0 = _context2["catch"](19); _iterator2.e(_context2.t0); - case 38: - _context2.prev = 38; + case 36: + _context2.prev = 36; _iterator2.f(); - return _context2.finish(38); - case 41: + return _context2.finish(36); + case 39: return _context2.abrupt("return", exportDataSheet); - case 42: + case 40: case "end": return _context2.stop(); } } - }, _callee2, null, [[21, 35, 38, 41]]); + }, _callee2, null, [[19, 33, 36, 39]]); })); return function (_x3) { return _ref3.apply(this, arguments); diff --git a/app/ecolyo.5d6bbc74e14b77482505.js b/app/ecolyo.73efe2e65bdac9f5c334.js similarity index 99% rename from app/ecolyo.5d6bbc74e14b77482505.js rename to app/ecolyo.73efe2e65bdac9f5c334.js index fd2d0eaf113dad1e087299893314b4ab0464b33c..e77fa73f793c739b2113584870e5b09da91a0636 100644 --- a/app/ecolyo.5d6bbc74e14b77482505.js +++ b/app/ecolyo.73efe2e65bdac9f5c334.js @@ -64,7 +64,7 @@ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { -/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"3":"4fdcb53af560576def95","4":"33628861e9b4596e92a2","5":"c8ff0c6c70d106accae3","6":"d1ae731e63a56e0cce3f","7":"1e90cb873be450d05a56","8":"42acbbc92a4cf3e13c3e","9":"f45e19d3c34ba67e355b","10":"fe3625578fa387c11975","11":"346fcb0fa7b2e3565ad3"}[chunkId] + ".js" +/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"3":"9e542255cb37015c1678","4":"33628861e9b4596e92a2","5":"c8ff0c6c70d106accae3","6":"94b4ac94168bc001f899","7":"1e90cb873be450d05a56","8":"42acbbc92a4cf3e13c3e","9":"f45e19d3c34ba67e355b","10":"fe3625578fa387c11975","11":"346fcb0fa7b2e3565ad3"}[chunkId] + ".js" /******/ } /******/ /******/ // The require function @@ -3936,29 +3936,9 @@ var ChallengeCardDone = function ChallengeCardDone(_ref) { currentChallenge = _useAppSelector.currentChallenge; var _useState = (0, _react.useState)(_default2.default), _useState2 = (0, _slicedToArray2.default)(_useState, 2), - winIcon = _useState2[0], - setWinIcon = _useState2[1]; - var _useState3 = (0, _react.useState)(_default2.default), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - lossIcon = _useState4[0], - setLossIcon = _useState4[1]; - var getUserSaving = function getUserSaving(_userChallenge) { - var label; - if (_userChallenge.success === _enums.UserChallengeSuccess.WIN) label = t('challenge.card_done.saving');else label = t('challenge.card_done.depense'); - return label + ' '; - }; - var getResultLabel = function getResultLabel(_userChallenge) { - switch (_userChallenge.success) { - case _enums.UserChallengeSuccess.WIN: - return t('challenge.card_done.win'); - case _enums.UserChallengeSuccess.LOST: - default: - return t('challenge.card_done.lost'); - } - }; - var getIcon = function getIcon(_userChallenge) { - if (_userChallenge.success == _enums.UserChallengeSuccess.WIN) return winIcon;else return lossIcon; - }; + resultIcon = _useState2[0], + setResultIcon = _useState2[1]; + var isSuccess = userChallenge.success === _enums.UserChallengeSuccess.WIN; var goDuel = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { @@ -4007,22 +3987,17 @@ var ChallengeCardDone = function ChallengeCardDone(_ref) { } function _handleEcogestureIcon() { _handleEcogestureIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() { - var icon, icon2; + var icon; return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; - return (0, _utils.importIconById)(userChallenge.id + '-1', 'duelResult'); + return (0, _utils.importIconById)(userChallenge.id + '-' + Number(isSuccess), 'duelResult'); case 2: icon = _context3.sent; - setWinIcon(icon || _default2.default); - _context3.next = 6; - return (0, _utils.importIconById)(userChallenge.id + '-0', 'duelResult'); - case 6: - icon2 = _context3.sent; - setLossIcon(icon2 || _default2.default); - case 8: + setResultIcon(icon || _default2.default); + case 4: case "end": return _context3.stop(); } @@ -4032,7 +4007,7 @@ var ChallengeCardDone = function ChallengeCardDone(_ref) { return _handleEcogestureIcon.apply(this, arguments); } handleEcogestureIcon(); - }, [userChallenge]); + }, [isSuccess, userChallenge]); return /*#__PURE__*/_react.default.createElement("div", { className: "cardContent cardDone" }, /*#__PURE__*/_react.default.createElement("div", { @@ -4041,7 +4016,7 @@ var ChallengeCardDone = function ChallengeCardDone(_ref) { className: "iconResult" }, /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { className: "imgResult", - icon: getIcon(userChallenge), + icon: resultIcon, size: 180 })), /*#__PURE__*/_react.default.createElement("div", { className: "statsResult" @@ -4050,9 +4025,9 @@ var ChallengeCardDone = function ChallengeCardDone(_ref) { win: userChallenge.success === _enums.UserChallengeSuccess.WIN, lost: userChallenge.success === _enums.UserChallengeSuccess.LOST }) - }, getResultLabel(userChallenge)), /*#__PURE__*/_react.default.createElement("span", { + }, isSuccess ? t('challenge.card_done.win') : t('challenge.card_done.lost')), /*#__PURE__*/_react.default.createElement("span", { className: "text-18" - }, getUserSaving(userChallenge), /*#__PURE__*/_react.default.createElement("span", { + }, isSuccess ? t('challenge.card_done.saving') : t('challenge.card_done.depense'), ' ', /*#__PURE__*/_react.default.createElement("span", { className: "text-18-bold" }, (0, _utils.formatNumberValues)(Math.abs(userChallenge.duel.threshold - userChallenge.duel.userConsumption)) + ' ', "\u20AC"), /*#__PURE__*/_react.default.createElement("br", null), t('challenge.card_done.final_defi'))), /*#__PURE__*/_react.default.createElement("div", { className: "buttons" @@ -11905,12 +11880,8 @@ var DuelResultModal = function DuelResultModal(_ref) { t = _useI18n.t; var _useState = (0, _react.useState)(_default2.default), _useState2 = (0, _slicedToArray2.default)(_useState, 2), - winIcon = _useState2[0], - setWinIcon = _useState2[1]; - var _useState3 = (0, _react.useState)(_default2.default), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - lossIcon = _useState4[0], - setLossIcon = _useState4[1]; + resultIcon = _useState2[0], + setResultIcon = _useState2[1]; var result = (0, _utils.formatNumberValues)(Math.abs(userChallenge.duel.threshold - userChallenge.duel.userConsumption)); var statusKey = win ? 'success' : 'lost'; (0, _react.useEffect)(function () { @@ -11919,22 +11890,17 @@ var DuelResultModal = function DuelResultModal(_ref) { } function _handleEcogestureIcon() { _handleEcogestureIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { - var icon, icon2; + var icon; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; - return (0, _utils.importIconById)(userChallenge.id + '-1', 'duelResult'); + return (0, _utils.importIconById)(userChallenge.id + '-' + Number(win), 'duelResult'); case 2: icon = _context.sent; - setWinIcon(icon || _default2.default); - _context.next = 6; - return (0, _utils.importIconById)(userChallenge.id + '-0', 'duelResult'); - case 6: - icon2 = _context.sent; - setLossIcon(icon2 || _default2.default); - case 8: + setResultIcon(icon || _default2.default); + case 4: case "end": return _context.stop(); } @@ -11944,7 +11910,7 @@ var DuelResultModal = function DuelResultModal(_ref) { return _handleEcogestureIcon.apply(this, arguments); } handleEcogestureIcon(); - }, [userChallenge]); + }, [userChallenge, win]); return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -11965,7 +11931,7 @@ var DuelResultModal = function DuelResultModal(_ref) { size: 300 }), /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { className: "imgResult", - icon: win ? winIcon : lossIcon, + icon: resultIcon, size: 180 })), /*#__PURE__*/_react.default.createElement("div", { className: "text-28-normal-uppercase title" diff --git a/index.html b/index.html index 7ea7742143b38378a60f9bc2a6a7e52d06dc9be1..45501e67fd4a3b2fb0b10bc5243dff254557ec04 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.9cebad5ae7ea932ed345.js"></script><script src="app/ecolyo.5d6bbc74e14b77482505.js"></script></div></body></html> \ No newline at end of file +<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.9cebad5ae7ea932ed345.js"></script><script src="app/ecolyo.73efe2e65bdac9f5c334.js"></script></div></body></html> \ No newline at end of file diff --git a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js index 2b40a865a1b558ea5f9f2fb89bea4be302744ce7..a8f2668595f3f4ec8258fde6bbfed5a07af25c93 100644 --- a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js +++ b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js @@ -144613,10 +144613,11 @@ const getEnedisMonthAnalysisData = async (client, month, year) => { const weekEndAverages = weekEndValuesArray.map(halfHourArray => arrAvg(halfHourArray)); // so we calculate the average const weekAverages = weekValuesArray.map(halfHourArray => arrAvg(halfHourArray)); + const [maxPower, offPeakHoursRatio] = await Promise.all([getMonthMaxPower(month, year, client), getOffPeakHoursRatio(month, year, client)]); monthlyAveragesLoads.weekDaysHalfHourAverageValues = weekAverages; monthlyAveragesLoads.weekEndDaysHalfHourAverageValues = weekEndAverages; - monthlyAveragesLoads.maxPower = await getMonthMaxPower(month, year, client); - monthlyAveragesLoads.offPeakHoursRatio = await getOffPeakHoursRatio(month, year, client); + monthlyAveragesLoads.maxPower = maxPower; + monthlyAveragesLoads.offPeakHoursRatio = offPeakHoursRatio; return monthlyAveragesLoads; } };