From 262864a6d54146af19e8fd932c5c361efc2ec8c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Pailharey?= <rpailharey@grandlyon.com> Date: Mon, 30 Oct 2023 11:09:58 +0100 Subject: [PATCH] publish: feat: randomize cron seconds for triggers generated from commit 09cc2019c05e884ac42b6d54cb407e1b8cb44beb --- ...3794.js => ecolyo.b2c357869bd91528093e.js} | 1051 +++++-- ...d73d.js => ecolyo.e44f681829f74b9ff80d.js} | 119 +- ...e881.js => ecolyo.41a3c918854f721cafd9.js} | 138 +- ...6da6.js => ecolyo.95dfb23bc54787c93a79.js} | 409 ++- ...8a22.js => ecolyo.9376e18b72a7a8ccfe8c.js} | 34 +- ...cc64.js => ecolyo.b5adf37933213ac662df.js} | 2487 ++++++++++++++--- index.html | 2 +- services/aggregatorUsageEvents/ecolyo.js | 405 ++- services/consumptionAlert/ecolyo.js | 13 +- .../enedisHalfHourMonthlyAnalysis/ecolyo.js | 13 +- services/fluidsPrices/ecolyo.js | 13 +- services/monthlyReportNotification/ecolyo.js | 13 +- ...1e4c.js => ecolyo.fbf1f65c47dc10085503.js} | 52 +- 13 files changed, 3940 insertions(+), 809 deletions(-) rename 1/{ecolyo.5f9b912e46d21ba73794.js => ecolyo.b2c357869bd91528093e.js} (97%) rename 4/{ecolyo.931069786fa078d8d73d.js => ecolyo.e44f681829f74b9ff80d.js} (98%) rename 5/{ecolyo.b23f7a16119aff05e881.js => ecolyo.41a3c918854f721cafd9.js} (99%) rename 6/{ecolyo.eb318d311051d4b06da6.js => ecolyo.95dfb23bc54787c93a79.js} (96%) rename 7/{ecolyo.db0953161bdc796f8a22.js => ecolyo.9376e18b72a7a8ccfe8c.js} (96%) rename app/{ecolyo.fc48bb071a134285cc64.js => ecolyo.b5adf37933213ac662df.js} (99%) rename vendors/{ecolyo.c10fac216b392b151e4c.js => ecolyo.fbf1f65c47dc10085503.js} (99%) diff --git a/1/ecolyo.5f9b912e46d21ba73794.js b/1/ecolyo.b2c357869bd91528093e.js similarity index 97% rename from 1/ecolyo.5f9b912e46d21ba73794.js rename to 1/ecolyo.b2c357869bd91528093e.js index 5bb0bf825..46d4cc20d 100644 --- a/1/ecolyo.5f9b912e46d21ba73794.js +++ b/1/ecolyo.b2c357869bd91528093e.js @@ -132,23 +132,35 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _questionMark = _interopRequireDefault(__webpack_require__("H9Js")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("wrKB"); + var NoDataModal = function NoDataModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -183,6 +195,7 @@ var NoDataModal = function NoDataModal(_ref) { className: "btnPrimary" }, t('ecogesture_info_modal.button_close')))); }; + var _default = NoDataModal; exports.default = _default; @@ -736,24 +749,33 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("RkiN"); + var ConnectionNotFound = function ConnectionNotFound(_ref) { var konnectorSlug = _ref.konnectorSlug; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var openKonnectorURL = function openKonnectorURL() { // TODO - Use getstoreinstallationurl from client - https://docs.cozy.io/en/cozy-client/api/cozy-client/#getstoreinstallationurl-string var hostname = window.location.origin.replace('ecolyo', 'store'); var url = hostname + '/#/discover/' + konnectorSlug; window.open(url, '_blank'); }; + return /*#__PURE__*/_react.default.createElement("div", { className: "knotfound" }, /*#__PURE__*/_react.default.createElement("div", { @@ -766,6 +788,7 @@ var ConnectionNotFound = function ConnectionNotFound(_ref) { className: "btnPrimary" }, t('konnector_form.button_install')))); }; + var _default = ConnectionNotFound; exports.default = _default; @@ -879,53 +902,82 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _electricity_bill = _interopRequireDefault(__webpack_require__("N1kC")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _useKonnectorAuth3 = _interopRequireDefault(__webpack_require__("Gk06")); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _chart = __webpack_require__("idK9"); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var SgeInit = function SgeInit() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - fluidStatus = _useAppSelector.fluidStatus; + return state.ecolyo.global; + }), + fluidStatus = _useAppSelector.fluidStatus; + var currentFluidStatus = fluidStatus[_enums.FluidType.ELECTRICITY]; var konnectorSlug = currentFluidStatus.connection.konnectorConfig.slug; var account = currentFluidStatus.connection.account; + var _useAppSelector2 = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - sgeConnect = _useAppSelector2.sgeConnect; + return state.ecolyo.global; + }), + sgeConnect = _useAppSelector2.sgeConnect; + var dispatch = (0, _hooks.useAppDispatch)(); + var _useKonnectorAuth = (0, _useKonnectorAuth3.default)(currentFluidStatus.fluidType), - _useKonnectorAuth2 = (0, _slicedToArray2.default)(_useKonnectorAuth, 2), - connect = _useKonnectorAuth2[0], - update = _useKonnectorAuth2[1]; + _useKonnectorAuth2 = (0, _slicedToArray2.default)(_useKonnectorAuth, 2), + connect = _useKonnectorAuth2[0], + update = _useKonnectorAuth2[1]; + (0, _react.useEffect)(function () { function launchConnect() { return _launchConnect.apply(this, arguments); } + function _launchConnect() { _launchConnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { @@ -936,22 +988,28 @@ var SgeInit = function SgeInit() { _context.next = 10; break; } + dispatch((0, _global.updateSgeStore)(_objectSpread(_objectSpread({}, sgeConnect), {}, { shouldLaunchAccount: false }))); dispatch((0, _global.setShouldRefreshConsent)(false)); + if (account) { _context.next = 8; break; } + _context.next = 6; return connect(); + case 6: _context.next = 10; break; + case 8: _context.next = 10; return update(); + case 10: case "end": return _context.stop(); @@ -961,6 +1019,7 @@ var SgeInit = function SgeInit() { })); return _launchConnect.apply(this, arguments); } + launchConnect(); }, [account, connect, dispatch, sgeConnect, update]); return /*#__PURE__*/_react.default.createElement("div", { @@ -990,6 +1049,7 @@ var SgeInit = function SgeInit() { } }, t('auth.button_showOfflineData')))); }; + var _default = SgeInit; exports.default = _default; @@ -1002,59 +1062,84 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _dateChart = _interopRequireDefault(__webpack_require__("Ty7+")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _chart = __webpack_require__("idK9"); + var _hooks = __webpack_require__("Zlw4"); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("Yiqp"); + var TimeStepSelector = function TimeStepSelector(_ref) { var fluidType = _ref.fluidType; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.chart; - }), - currentTimeStep = _useAppSelector.currentTimeStep, - selectedDate = _useAppSelector.selectedDate; + return state.ecolyo.chart; + }), + currentTimeStep = _useAppSelector.currentTimeStep, + selectedDate = _useAppSelector.selectedDate; + var dateChartService = new _dateChart.default(); var client = (0, _cozyClient.useClient)(); var timeStepMultiArray = [_enums.TimeStep.WEEK, _enums.TimeStep.DAY, _enums.TimeStep.MONTH, _enums.TimeStep.YEAR]; var timeStepArray = fluidType === _enums.FluidType.ELECTRICITY ? [_enums.TimeStep.HALF_AN_HOUR].concat(timeStepMultiArray) : [].concat(timeStepMultiArray); + var handleToday = function handleToday() { var today = _luxon.DateTime.local().setZone('utc', { keepLocalTime: true }).startOf('day'); + _usageEvent.default.addEvent(client, { type: _enums.UsageEventType.CONSUMPTION_CHANGE_TIMESTEP_EVENT, target: _enums.TimeStep[_enums.TimeStep.WEEK].toLowerCase(), context: (0, _utils.getFluidName)(fluidType) }); + dispatch((0, _chart.setCurrentIndex)(0)); dispatch((0, _chart.setSelectedDate)(today)); dispatch((0, _chart.setCurrentTimeStep)(_enums.TimeStep.WEEK)); }; + var handleChangeTimeStep = function handleChangeTimeStep(targetTimestep) { var index = dateChartService.defineDateIndex(targetTimestep, selectedDate); + _usageEvent.default.addEvent(client, { type: _enums.UsageEventType.CONSUMPTION_CHANGE_TIMESTEP_EVENT, target: _enums.TimeStep[currentTimeStep].toLowerCase(), context: (0, _utils.getFluidName)(fluidType) }); + dispatch((0, _chart.setCurrentTimeStep)(targetTimestep)); dispatch((0, _chart.setCurrentIndex)(index)); }; + return /*#__PURE__*/_react.default.createElement("div", { className: "timestep-selector" }, /*#__PURE__*/_react.default.createElement(_core.Button, { @@ -1086,6 +1171,7 @@ var TimeStepSelector = function TimeStepSelector(_ref) { })); })))); }; + var _default = TimeStepSelector; exports.default = _default; @@ -1936,106 +2022,166 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _chevronDown = _interopRequireDefault(__webpack_require__("CYAo")); + var _notif_error = _interopRequireDefault(__webpack_require__("pSnQ")); + var _notif_maintenance = _interopRequireDefault(__webpack_require__("goTn")); + var _notif_warning = _interopRequireDefault(__webpack_require__("+u0V")); + var _offlineParam = _interopRequireDefault(__webpack_require__("lLz+")); + var _classnames = _interopRequireDefault(__webpack_require__("TSYQ")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _Connection = _interopRequireDefault(__webpack_require__("G9aQ")); + var _ConnectionNotFound = _interopRequireDefault(__webpack_require__("9pk8")); + var _ConnectionResult = _interopRequireDefault(__webpack_require__("kE9e")); + var _KonnectorModal = _interopRequireDefault(__webpack_require__("jer4")); + var _cozyClient = __webpack_require__("SH7X"); + var _triggers = __webpack_require__("Ih3Q"); + var _ConnectionFlow = _interopRequireDefault(__webpack_require__("/HH+")); + var _flowEvents = __webpack_require__("Pdj9"); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _account = _interopRequireDefault(__webpack_require__("gucQ")); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _dateChart = _interopRequireDefault(__webpack_require__("Ty7+")); + var _fluid = _interopRequireDefault(__webpack_require__("z34f")); + var _partnersInfo2 = _interopRequireDefault(__webpack_require__("4zrG")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _challenge2 = __webpack_require__("F6Xr"); + var _chart = __webpack_require__("idK9"); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + var _modal = __webpack_require__("oKH6"); + var _picto = __webpack_require__("6DBe"); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("981c"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + var KonnectorViewerCard = function KonnectorViewerCard(_ref) { var isDisconnected = _ref.isDisconnected, - showOfflineData = _ref.showOfflineData, - active = _ref.active, - fluidType = _ref.fluidType, - setActive = _ref.setActive; + showOfflineData = _ref.showOfflineData, + active = _ref.active, + fluidType = _ref.fluidType, + setActive = _ref.setActive; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); var navigate = (0, _reactRouterDom.useNavigate)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - currentChallenge = _useAppSelector.challenge.currentChallenge, - _useAppSelector$globa = _useAppSelector.global, - fluidStatus = _useAppSelector$globa.fluidStatus, - shouldRefreshConsent = _useAppSelector$globa.shouldRefreshConsent, - partnersInfo = _useAppSelector$globa.partnersInfo; + return state.ecolyo; + }), + currentChallenge = _useAppSelector.challenge.currentChallenge, + _useAppSelector$globa = _useAppSelector.global, + fluidStatus = _useAppSelector$globa.fluidStatus, + shouldRefreshConsent = _useAppSelector$globa.shouldRefreshConsent, + partnersInfo = _useAppSelector$globa.partnersInfo; + var currentFluidStatus = fluidStatus[fluidType]; var fluidSlug = currentFluidStatus.connection.konnectorConfig.slug; var fluidState = currentFluidStatus.status; var konnector = currentFluidStatus.connection.konnector; var account = currentFluidStatus.connection.account; var trigger = currentFluidStatus.connection.trigger; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - openModal = _useState2[0], - setOpenModal = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + openModal = _useState2[0], + setOpenModal = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - isUpdating = _useState4[0], - setIsUpdating = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + isUpdating = _useState4[0], + setIsUpdating = _useState4[1]; + var _useState5 = (0, _react.useState)(fluidSlug !== _enums.FluidSlugType.GAS), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - isLogging = _useState6[0], - setIsLogging = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + isLogging = _useState6[0], + setIsLogging = _useState6[1]; + var _useState7 = (0, _react.useState)(null), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - konnectorErrorDescription = _useState8[0], - setKonnectorErrorDescription = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + konnectorErrorDescription = _useState8[0], + setKonnectorErrorDescription = _useState8[1]; + var _useState9 = (0, _react.useState)(null), - _useState10 = (0, _slicedToArray2.default)(_useState9, 2), - konnectorState = _useState10[0], - setKonnectorState = _useState10[1]; + _useState10 = (0, _slicedToArray2.default)(_useState9, 2), + konnectorState = _useState10[0], + setKonnectorState = _useState10[1]; + var _useState11 = (0, _react.useState)(null), - _useState12 = (0, _slicedToArray2.default)(_useState11, 2), - isOutdatedData = _useState12[0], - setIsOutdatedData = _useState12[1]; + _useState12 = (0, _slicedToArray2.default)(_useState11, 2), + isOutdatedData = _useState12[0], + setIsOutdatedData = _useState12[1]; + var fluidService = (0, _react.useMemo)(function () { return new _fluid.default(client); }, [client]); @@ -2044,27 +2190,33 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { }, [client]); var lastDataDate = fluidType !== _enums.FluidType.MULTIFLUID && currentFluidStatus.lastDataDate ? currentFluidStatus.lastDataDate.toLocaleString() + fluidType : fluidType; var iconType = (0, _picto.getParamPicto)(currentFluidStatus.fluidType); + var toggleAccordion = function toggleAccordion() { setActive(function (prev) { return !prev; }); }; + var updateGlobalFluidStatus = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var _updatedFluidStatus, refDate, _lastDataDate, _iterator, _step, fluid; + return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return fluidService.getFluidStatus(); + case 2: _updatedFluidStatus = _context.sent; refDate = _luxon.DateTime.fromISO('0001-01-01'); _lastDataDate = _luxon.DateTime.fromISO('0001-01-01'); _iterator = _createForOfIteratorHelper(_updatedFluidStatus); + try { for (_iterator.s(); !(_step = _iterator.n()).done;) { fluid = _step.value; + if (fluid !== null && fluid !== void 0 && fluid.lastDataDate && (fluid === null || fluid === void 0 ? void 0 : fluid.lastDataDate) > _lastDataDate) { _lastDataDate = fluid.lastDataDate; } @@ -2074,10 +2226,13 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { } finally { _iterator.f(); } + if (_lastDataDate > refDate) { dispatch((0, _chart.setSelectedDate)(_lastDataDate)); } + return _context.abrupt("return", _updatedFluidStatus); + case 9: case "end": return _context.stop(); @@ -2087,6 +2242,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { })), [dispatch, fluidService]); var refreshChallengeState = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var challengeService, _yield$challengeServi, updatedUserChallenge, dataloads, _yield$challengeServi2, isDone; + return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { @@ -2095,9 +2251,11 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { _context2.next = 13; break; } + challengeService = new _challenge.default(client); _context2.next = 4; return challengeService.initChallengeDuelProgress(currentChallenge); + case 4: _yield$challengeServi = _context2.sent; updatedUserChallenge = _yield$challengeServi.updatedUserChallenge; @@ -2105,14 +2263,16 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { dispatch((0, _challenge2.setChallengeConsumption)({ userChallenge: updatedUserChallenge, currentDataload: dataloads - })); - // Check is duel is done and display notification + })); // Check is duel is done and display notification + _context2.next = 10; return challengeService.isChallengeDone(updatedUserChallenge, dataloads); + case 10: _yield$challengeServi2 = _context2.sent; isDone = _yield$challengeServi2.isDone; dispatch((0, _global.toggleChallengeDuelNotification)(isDone)); + case 13: case "end": return _context2.stop(); @@ -2122,32 +2282,41 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { })), [client, dispatch, currentChallenge]); var handleAccountDeletion = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() { var _updatedFluidStatus, _partnersInfo, updatedFluidStatus; + return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return refreshChallengeState(); + case 2: _context3.next = 4; return updateGlobalFluidStatus(); + case 4: _updatedFluidStatus = _context3.sent; + if (!(_updatedFluidStatus.length > 0)) { _context3.next = 13; break; } + _context3.next = 8; return partnersInfoService.getPartnersInfo(); + case 8: _partnersInfo = _context3.sent; _context3.next = 11; return fluidService.getFluidStatus(_partnersInfo); + case 11: updatedFluidStatus = _context3.sent; dispatch((0, _global.setFluidStatus)(updatedFluidStatus)); + case 13: setActive(false); + case 14: case "end": return _context3.stop(); @@ -2158,57 +2327,72 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { var handleConnectionEnd = (0, _react.useCallback)( /*#__PURE__*/function () { var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(isSuccess) { var isGlobalLoginFailed, isEnedisCodeInseeError, shouldDeleteAccount, _currentFluidStatus$c, lastEpglLogin, auth, accountService, updatedFluidStatus; + return _regenerator.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: // CASE FOR GLOBAL LOGIN FAILED isGlobalLoginFailed = konnectorErrorDescription === _enums.KonnectorError.LOGIN_FAILED || konnectorErrorDescription === _enums.KonnectorError.UNKNOWN_ERROR || konnectorErrorDescription === _enums.KonnectorError.CHALLENGE_ASKED || konnectorErrorDescription === _enums.KonnectorError.CRITICAL || konnectorErrorDescription === _enums.KonnectorError.MISSING_SECRET; // CASE FOR ENEDIS CODE INSEE ERROR + isEnedisCodeInseeError = !isUpdating && fluidType === _enums.FluidType.ELECTRICITY; shouldDeleteAccount = account && !isSuccess && currentFluidStatus && currentFluidStatus.connection.account && (isGlobalLoginFailed || isEnedisCodeInseeError); + if (!shouldDeleteAccount) { _context4.next = 14; break; } + // KEEP LAST LOGIN FOR EPGL lastEpglLogin = ''; + if (fluidSlug === _enums.FluidSlugType.WATER && (_currentFluidStatus$c = currentFluidStatus.connection.account) !== null && _currentFluidStatus$c !== void 0 && _currentFluidStatus$c.auth) { auth = currentFluidStatus.connection.account.auth; lastEpglLogin = auth.login; - } - // DELETE ACCOUNT + } // DELETE ACCOUNT + + accountService = new _account.default(client); _context4.next = 9; return accountService.deleteAccount(account); + case 9: _context4.next = 11; return handleAccountDeletion(); + case 11: // RESTORE LAST KNOWN CREDENTIALS if (lastEpglLogin) { dispatch((0, _global.setLastEpglLogin)(lastEpglLogin)); } + _context4.next = 21; break; + case 14: if (!(isSuccess && currentFluidStatus.lastDataDate === null)) { _context4.next = 17; break; } + _context4.next = 17; return _usageEvent.default.updateConnectionAttemptEvent(client, fluidSlug); + case 17: _context4.next = 19; return fluidService.getFluidStatus(partnersInfo); + case 19: updatedFluidStatus = _context4.sent; dispatch((0, _global.setFluidStatus)(updatedFluidStatus)); + case 21: setActive(false); - setOpenModal(false); - // TODO null state seems to be read before modal closing and display a success icon in modal + setOpenModal(false); // TODO null state seems to be read before modal closing and display a success icon in modal + setKonnectorState(null); setKonnectorErrorDescription(null); + case 25: case "end": return _context4.stop(); @@ -2216,6 +2400,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { } }, _callee4); })); + return function (_x) { return _ref5.apply(this, arguments); }; @@ -2231,6 +2416,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { target: konnectorSlug, result: 'success' })); + case 1: case "end": return _context5.stop(); @@ -2238,6 +2424,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { } }, _callee5); })); + return function (_x2, _x3) { return _ref6.apply(this, arguments); }; @@ -2253,6 +2440,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { target: konnectorSlug, result: 'error' })); + case 1: case "end": return _context6.stop(); @@ -2260,6 +2448,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { } }, _callee6); })); + return function (_x4, _x5) { return _ref7.apply(this, arguments); }; @@ -2269,6 +2458,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { case _enums.FluidType.ELECTRICITY: navigate('/sge-connect'); break; + case _enums.FluidType.GAS: case _enums.FluidType.WATER: dispatch((0, _chart.setShowOfflineData)(false)); @@ -2283,12 +2473,12 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { onClick: toggleModalConnection }, t("auth.".concat((0, _utils.getKonnectorSlug)(fluidType), ".connect"))); } + if (fluidState === _enums.FluidState.KONNECTOR_NOT_FOUND && !isUpdating) { return /*#__PURE__*/_react.default.createElement(_ConnectionNotFound.default, { konnectorSlug: fluidSlug }); - } - // Handle login failed for EGL + } // Handle login failed for EGL else if (fluidState === _enums.FluidState.ERROR_LOGIN_FAILED && fluidType === _enums.FluidType.WATER || account && currentFluidStatus.status !== _enums.FluidState.NOT_CONNECTED) { return /*#__PURE__*/_react.default.createElement(_ConnectionResult.default, { handleAccountDeletion: handleAccountDeletion, @@ -2312,6 +2502,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { _context7.next = 13; break; } + updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, { shouldLaunchKonnector: false }); @@ -2322,15 +2513,20 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { _context7.t0 = Promise; _context7.next = 6; return refreshChallengeState(); + case 6: _context7.t1 = _context7.sent; _context7.next = 9; return updateGlobalFluidStatus(); + case 9: _context7.t2 = _context7.sent; _context7.t3 = [_context7.t1, _context7.t2]; + _context7.t0.all.call(_context7.t0, _context7.t3); + setKonnectorState(_state); + case 13: case "end": return _context7.stop(); @@ -2338,10 +2534,12 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { } }, _callee7); })); + return function (_x6) { return _ref8.apply(this, arguments); }; }(), [dispatch, currentFluidStatus.connection, currentFluidStatus.fluidType, refreshChallengeState, updateGlobalFluidStatus]); + var getIconForStatus = function getIconForStatus(status, maintenance, connection, outdatedData) { if (maintenance) { return /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { @@ -2350,6 +2548,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { className: "konnector-state-picto" }); } + if ((status === _enums.FluidState.ERROR || status === _enums.FluidState.ERROR_LOGIN_FAILED) && connection.account) { return /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { icon: _notif_error.default, @@ -2357,6 +2556,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { className: "konnector-state-picto" }); } + if (outdatedData && outdatedData > 0) { return /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { icon: _notif_warning.default, @@ -2365,6 +2565,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { }); } }; + var displayKonnectorIcon = (0, _react.useCallback)(function () { return /*#__PURE__*/_react.default.createElement("div", { className: "konnector-icon" @@ -2389,13 +2590,13 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { } else { return t("konnector_options.label_offline_".concat(_enums.FluidType[currentFluidStatus.fluidType].toLowerCase())); } - }, [currentFluidStatus.connection.account, currentFluidStatus.fluidType, currentFluidStatus.maintenance, isOutdatedData, t]); + }, [currentFluidStatus.connection.account, currentFluidStatus.fluidType, currentFluidStatus.maintenance, isOutdatedData, t]); // If user has selected accept button on Expired consent modal, then delete its account - // If user has selected accept button on Expired consent modal, then delete its account (0, _react.useEffect)(function () { function deleteAccountForConsentRefresh() { return _deleteAccountForConsentRefresh.apply(this, arguments); } + function _deleteAccountForConsentRefresh() { _deleteAccountForConsentRefresh = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() { var accountService; @@ -2407,12 +2608,15 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { _context8.next = 6; break; } + accountService = new _account.default(client); _context8.next = 4; return accountService.deleteAccount(account); + case 4: _context8.next = 6; return handleAccountDeletion(); + case 6: case "end": return _context8.stop(); @@ -2422,13 +2626,16 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { })); return _deleteAccountForConsentRefresh.apply(this, arguments); } + deleteAccountForConsentRefresh(); }, [account, client, handleAccountDeletion, shouldRefreshConsent]); (0, _react.useEffect)(function () { var subscribed = true; + function getData() { return _getData.apply(this, arguments); } + function _getData() { _getData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() { var updatedConnection, connectionFlow; @@ -2440,6 +2647,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { _context9.next = 8; break; } + if (subscribed) { if (currentFluidStatus.connection.isUpdating) setIsUpdating(true); setOpenModal(true); @@ -2451,9 +2659,11 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { fluidConnection: updatedConnection })); } + connectionFlow = new _ConnectionFlow.default(client, trigger, konnector); _context9.next = 5; return connectionFlow.launch(); + case 5: connectionFlow.jobWatcher.on(_flowEvents.ERROR_EVENT, function () { sendUsageEventError(fluidSlug, currentFluidStatus.lastDataDate === null); @@ -2468,6 +2678,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { sendUsageEventSuccess(fluidSlug, currentFluidStatus.lastDataDate === null); callbackResponse(_flowEvents.SUCCESS_EVENT); }); + case 8: case "end": return _context9.stop(); @@ -2477,6 +2688,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { })); return _getData.apply(this, arguments); } + !shouldRefreshConsent && getData(); var dateChartService = new _dateChart.default(); setIsOutdatedData(dateChartService.isDataOutdated(currentFluidStatus.lastDataDate, fluidType)); @@ -2519,6 +2731,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) { account: account })); }; + var _default = KonnectorViewerCard; exports.default = _default; @@ -2531,26 +2744,40 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _consentOutdatedGrdf = _interopRequireDefault(__webpack_require__("n8dw")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + __webpack_require__("+Ryc"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var DeleteGRDFAccountModal = function DeleteGRDFAccountModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick, - deleteAccount = _ref.deleteAccount; + handleCloseClick = _ref.handleCloseClick, + deleteAccount = _ref.deleteAccount; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var handleDelete = (0, _react.useCallback)(function () { deleteAccount(); handleCloseClick(); @@ -2597,6 +2824,7 @@ var DeleteGRDFAccountModal = function DeleteGRDFAccountModal(_ref) { className: "btnPrimary" }, t("delete_grdf_modal.go"))))); }; + var _default = DeleteGRDFAccountModal; exports.default = _default; @@ -2873,44 +3101,67 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _consentOutdatedEnedis = _interopRequireDefault(__webpack_require__("h3na")); + var _consentOutdatedGrdf = _interopRequireDefault(__webpack_require__("n8dw")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("GlMJ"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ExpiredConsentModal = function ExpiredConsentModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick, - fluidType = _ref.fluidType, - toggleModal = _ref.toggleModal; + handleCloseClick = _ref.handleCloseClick, + fluidType = _ref.fluidType, + toggleModal = _ref.toggleModal; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - fluidStatus = _useAppSelector.fluidStatus; + return state.ecolyo.global; + }), + fluidStatus = _useAppSelector.fluidStatus; + var launchUpdateConsent = (0, _react.useCallback)(function () { if (fluidType === _enums.FluidType.ELECTRICITY) { var _fluidStatus$FluidTyp; - var accountData = (_fluidStatus$FluidTyp = fluidStatus[_enums.FluidType.ELECTRICITY].connection.account) === null || _fluidStatus$FluidTyp === void 0 ? void 0 : _fluidStatus$FluidTyp.auth; - // store the previous account data since the onDelete will remove account from DB + + var accountData = (_fluidStatus$FluidTyp = fluidStatus[_enums.FluidType.ELECTRICITY].connection.account) === null || _fluidStatus$FluidTyp === void 0 ? void 0 : _fluidStatus$FluidTyp.auth; // store the previous account data since the onDelete will remove account from DB + dispatch((0, _global.updateSgeStore)({ currentStep: 0, firstName: accountData.firstname, @@ -2925,6 +3176,7 @@ var ExpiredConsentModal = function ExpiredConsentModal(_ref) { })); dispatch((0, _global.setShouldRefreshConsent)(true)); } + toggleModal(); navigate("/consumption/".concat(_enums.FluidType[fluidType].toLocaleLowerCase())); }, [dispatch, fluidStatus, fluidType, navigate, toggleModal]); @@ -2968,6 +3220,7 @@ var ExpiredConsentModal = function ExpiredConsentModal(_ref) { className: "btnPrimary" }, fluidType === _enums.FluidType.ELECTRICITY ? t('consent_outdated.yes') : t('consent_outdated.go'))))); }; + var _default = ExpiredConsentModal; exports.default = _default; @@ -3159,37 +3412,55 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _IconButton = _interopRequireDefault(__webpack_require__("o6Jd")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _warnOrange = _interopRequireDefault(__webpack_require__("t+F9")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("TA95"); + var PartnerIssueModal = function PartnerIssueModal(_ref) { var open = _ref.open, - issuedFluid = _ref.issuedFluid, - handleCloseClick = _ref.handleCloseClick; + issuedFluid = _ref.issuedFluid, + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var getFluidTypeLabel = function getFluidTypeLabel() { switch (issuedFluid) { case _enums.FluidType.ELECTRICITY: return 'elec'; + case _enums.FluidType.WATER: return 'water'; + case _enums.FluidType.GAS: return 'gaz'; } }; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, disableEscapeKeyDown: true, @@ -3239,6 +3510,7 @@ var PartnerIssueModal = function PartnerIssueModal(_ref) { className: "btnPrimary" }, t('consumption.partner_issue_modal.ok')))); }; + var _default = PartnerIssueModal; exports.default = _default; @@ -3464,77 +3736,110 @@ module.exports = JSON.parse("[{\"first\":\"Le saviez-vous ?\",\"second\":\"Pour var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var Sentry = _interopRequireWildcard(__webpack_require__("agHs")); + var _trailingIcon = _interopRequireDefault(__webpack_require__("h1zO")); + var _classnames = _interopRequireDefault(__webpack_require__("TSYQ")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _StyledIconButton = _interopRequireDefault(__webpack_require__("jZ8W")); + var _useKonnectorAuth3 = _interopRequireDefault(__webpack_require__("Gk06")); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react2 = _interopRequireWildcard(__webpack_require__("q1tI")); + var _hooks = __webpack_require__("Zlw4"); + var _logger = _interopRequireDefault(__webpack_require__("gjtA")); + var _picto = __webpack_require__("6DBe"); + __webpack_require__("GGWR"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var FormLogin = function FormLogin() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - fluidStatus = _useAppSelector.fluidStatus, - lastEpglLogin = _useAppSelector.lastEpglLogin; + return state.ecolyo.global; + }), + fluidStatus = _useAppSelector.fluidStatus, + lastEpglLogin = _useAppSelector.lastEpglLogin; + var currentFluidStatus = fluidStatus[_enums.FluidType.WATER]; var konnectorSlug = currentFluidStatus.connection.konnectorConfig.slug; var fluidName = _enums.FluidType[currentFluidStatus.fluidType]; var account = currentFluidStatus.connection.account; + var _useState = (0, _react2.useState)(''), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - login = _useState2[0], - setLogin = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + login = _useState2[0], + setLogin = _useState2[1]; + var _useState3 = (0, _react2.useState)(''), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - password = _useState4[0], - setPassword = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + password = _useState4[0], + setPassword = _useState4[1]; + var _useState5 = (0, _react2.useState)(''), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - error = _useState6[0], - setError = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + error = _useState6[0], + setError = _useState6[1]; + var _useState7 = (0, _react2.useState)(false), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - loading = _useState8[0], - setLoading = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + loading = _useState8[0], + setLoading = _useState8[1]; + var _useState9 = (0, _react2.useState)(false), - _useState10 = (0, _slicedToArray2.default)(_useState9, 2), - showPassword = _useState10[0], - setShowPassword = _useState10[1]; + _useState10 = (0, _slicedToArray2.default)(_useState9, 2), + showPassword = _useState10[0], + setShowPassword = _useState10[1]; + var icon = (0, _picto.getPartnerPicto)(konnectorSlug); + var _useKonnectorAuth = (0, _useKonnectorAuth3.default)(currentFluidStatus.fluidType, login, password), - _useKonnectorAuth2 = (0, _slicedToArray2.default)(_useKonnectorAuth, 3), - connect = _useKonnectorAuth2[0], - update = _useKonnectorAuth2[1], - connectError = _useKonnectorAuth2[2]; + _useKonnectorAuth2 = (0, _slicedToArray2.default)(_useKonnectorAuth, 3), + connect = _useKonnectorAuth2[0], + update = _useKonnectorAuth2[1], + connectError = _useKonnectorAuth2[2]; + var changeLogin = function changeLogin(value) { if (/\d/.test(value) && value.length <= 7 || value === '') { setError(''); setLogin(value); } }; + var changePassword = function changePassword(value) { setError(''); setPassword(value); }; + var handleSubmit = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { @@ -3544,36 +3849,47 @@ var FormLogin = function FormLogin() { _context.prev = 0; setError(''); setLoading(true); + if (!(!login || !password)) { _context.next = 7; break; } + setError(t('konnector_form.error_no_login_password')); setLoading(false); return _context.abrupt("return", null); + case 7: if (account) { _context.next = 13; break; } + _context.next = 10; return connect(); + case 10: setLoading(false); _context.next = 15; break; + case 13: _context.next = 15; return update(); + case 15: _context.next = 22; break; + case 17: _context.prev = 17; _context.t0 = _context["catch"](0); + _logger.default.error(_context.t0); + Sentry.captureException(_context.t0); setLoading(false); + case 22: case "end": return _context.stop(); @@ -3581,10 +3897,12 @@ var FormLogin = function FormLogin() { } }, _callee, null, [[0, 17]]); })); + return function handleSubmit() { return _ref.apply(this, arguments); }; }(); + (0, _react2.useEffect)(function () { if (connectError) setError(connectError); }, [connectError]); @@ -3592,6 +3910,7 @@ var FormLogin = function FormLogin() { if (account !== null && account !== void 0 && account.auth) { var auth = account.auth; var authData = auth; + if (authData.login) { setLogin(authData.login); } @@ -3664,6 +3983,7 @@ var FormLogin = function FormLogin() { className: "connection-form-connect-button-text text-18-bold" }, /*#__PURE__*/_react2.default.createElement("div", null, t("auth.".concat(konnectorSlug, ".connect_form.label")))))))); }; + var _default = FormLogin; exports.default = _default; @@ -3676,21 +3996,32 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _grdfLogo = _interopRequireDefault(__webpack_require__("aXGb")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _hooks = __webpack_require__("Zlw4"); + var _modal = __webpack_require__("oKH6"); + __webpack_require__("0OtY"); + var GrdfForm = function GrdfForm() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var dispatch = (0, _hooks.useAppDispatch)(); return /*#__PURE__*/_react.default.createElement("div", { className: "connection-form" @@ -3720,6 +4051,7 @@ var GrdfForm = function GrdfForm() { className: "connection-form-connect-button-text text-18-bold" }, /*#__PURE__*/_react.default.createElement("div", null, t('auth.grdfgrandlyon.connect_form.label'))))))); }; + var _default = GrdfForm; exports.default = _default; @@ -3795,32 +4127,49 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _cozyClient = __webpack_require__("SH7X"); + var _flowEvents = __webpack_require__("Pdj9"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _account = _interopRequireDefault(__webpack_require__("gucQ")); + __webpack_require__("c+fo"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var KonnectorModalFooter = function KonnectorModalFooter(_ref) { var state = _ref.state, - error = _ref.error, - handleCloseClick = _ref.handleCloseClick, - handleAccountDeletion = _ref.handleAccountDeletion, - account = _ref.account, - isUpdating = _ref.isUpdating; + error = _ref.error, + handleCloseClick = _ref.handleCloseClick, + handleAccountDeletion = _ref.handleAccountDeletion, + account = _ref.account, + isUpdating = _ref.isUpdating; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var navigate = (0, _reactRouterDom.useNavigate)(); var handleSGELoginRetry = (0, _react.useCallback)(function () { @@ -3837,14 +4186,18 @@ var KonnectorModalFooter = function KonnectorModalFooter(_ref) { _context.next = 7; break; } + accountService = new _account.default(client); _context.next = 4; return accountService.deleteAccount(account); + case 4: _context.next = 6; return handleAccountDeletion(); + case 6: navigate('/sge-connect'); + case 7: case "end": return _context.stop(); @@ -3852,6 +4205,7 @@ var KonnectorModalFooter = function KonnectorModalFooter(_ref) { } }, _callee); })), [account, client, handleAccountDeletion, navigate]); + var defaultButton = /*#__PURE__*/_react.default.createElement(_Button.default, { "aria-label": t('konnector_modal.accessibility.button_close'), onClick: function onClick() { @@ -3859,6 +4213,7 @@ var KonnectorModalFooter = function KonnectorModalFooter(_ref) { }, className: "btnPrimary" }, /*#__PURE__*/_react.default.createElement("div", null, t('konnector_modal.button_validate'))); + var errorButtons = function errorButtons() { switch (error) { case _enums.KonnectorError.USER_ACTION_NEEDED: @@ -3870,6 +4225,7 @@ var KonnectorModalFooter = function KonnectorModalFooter(_ref) { }, className: "btnPrimary" }, /*#__PURE__*/_react.default.createElement("div", null, t('konnector_modal.button_understood'))); + case _enums.KonnectorError.LOGIN_FAILED: case _enums.KonnectorError.CHALLENGE_ASKED: // INCOMPLETE CONSENT FORM - GRDF @@ -3880,6 +4236,7 @@ var KonnectorModalFooter = function KonnectorModalFooter(_ref) { }, className: "btnPrimary" }, /*#__PURE__*/_react.default.createElement("div", null, t('konnector_modal.button_try_again'))); + case _enums.KonnectorError.TERMS_VERSION_MISMATCH: return /*#__PURE__*/_react.default.createElement("div", { className: "buttons" @@ -3894,13 +4251,16 @@ var KonnectorModalFooter = function KonnectorModalFooter(_ref) { onClick: !isUpdating ? handleSGELoginRetry : handleResetSGEAccount, className: "btnPrimary" }, /*#__PURE__*/_react.default.createElement("div", null, !isUpdating ? 'Vérifier les infos' : 'Jy vais'))); + default: // DEFAULT FOOTER BUTTONS return defaultButton; } }; + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, state === _flowEvents.ERROR_EVENT ? errorButtons() : defaultButton); }; + var _default = KonnectorModalFooter; exports.default = _default; @@ -4062,25 +4422,36 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("AaFt"); + var ReleaseNotesModal = function ReleaseNotesModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - releaseNotes = _useAppSelector.releaseNotes; + return state.ecolyo.global; + }), + releaseNotes = _useAppSelector.releaseNotes; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, disableEscapeKeyDown: true, @@ -4122,6 +4493,7 @@ var ReleaseNotesModal = function ReleaseNotesModal(_ref) { className: "btnPrimary" }, t('consumption_visualizer.release_notes_modal.go_back'))))); }; + var _default = ReleaseNotesModal; exports.default = _default; @@ -4206,57 +4578,82 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _GrdfFormOAuth = _interopRequireDefault(__webpack_require__("mjRN")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + __webpack_require__("5x5Q"); + var _GrdfCreateAccount = _interopRequireDefault(__webpack_require__("ZD0Y")); + var _GrdfDoYouHaveAccount = _interopRequireDefault(__webpack_require__("doh4")); + var _GrdfGiveConsent = _interopRequireDefault(__webpack_require__("6EdG")); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var StepEnum; + (function (StepEnum) { StepEnum[StepEnum["DoYouHaveAccount"] = 0] = "DoYouHaveAccount"; StepEnum[StepEnum["CreateAccount"] = 1] = "CreateAccount"; StepEnum[StepEnum["GiveConsent"] = 2] = "GiveConsent"; })(StepEnum || (StepEnum = {})); + var GrdfConnectModal = function GrdfConnectModal(_ref) { var _steps; + var open = _ref.open, - showForm = _ref.showForm, - handleCloseClick = _ref.handleCloseClick, - setShowForm = _ref.setShowForm, - goToPartnerSite = _ref.goToPartnerSite, - handleSuccess = _ref.handleSuccess; + showForm = _ref.showForm, + handleCloseClick = _ref.handleCloseClick, + setShowForm = _ref.setShowForm, + goToPartnerSite = _ref.goToPartnerSite, + handleSuccess = _ref.handleSuccess; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(StepEnum.DoYouHaveAccount), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - currentStep = _useState2[0], - setCurrentStep = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + currentStep = _useState2[0], + setCurrentStep = _useState2[1]; + (0, _react.useEffect)(function () { if (open) { showForm ? setCurrentStep(StepEnum.GiveConsent) : setCurrentStep(StepEnum.DoYouHaveAccount); } }, [showForm, open]); + var handleGoToPartnerSite = function handleGoToPartnerSite() { goToPartnerSite(); setShowForm(true); handleCloseClick(); }; + var handleGiveConsentPrevious = function handleGiveConsentPrevious() { showForm ? handleCloseClick() : setCurrentStep(StepEnum.DoYouHaveAccount); }; + var steps = (_steps = {}, (0, _defineProperty2.default)(_steps, StepEnum.DoYouHaveAccount, { content: /*#__PURE__*/_react.default.createElement(_GrdfDoYouHaveAccount.default, null), leftButton: /*#__PURE__*/_react.default.createElement(_core.Button, { @@ -4313,6 +4710,7 @@ var GrdfConnectModal = function GrdfConnectModal(_ref) { className: "partners-connection-step-navigation" }, steps[currentStep].leftButton, steps[currentStep].rightButton)); }; + var _default = GrdfConnectModal; exports.default = _default; @@ -4508,29 +4906,45 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _IconButton = _interopRequireDefault(__webpack_require__("o6Jd")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _speaker = _interopRequireDefault(__webpack_require__("mpFa")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _luxon = __webpack_require__("ExVU"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("7GFB"); + var CustomPopupModal = function CustomPopupModal(_ref) { var customPopup = _ref.customPopup, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var isPopupOutdated = function isPopupOutdated() { return _luxon.DateTime.local() >= _luxon.DateTime.fromISO(customPopup.endDate); }; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: customPopup.popupEnabled && !isPopupOutdated(), disableEscapeKeyDown: true, @@ -4570,6 +4984,7 @@ var CustomPopupModal = function CustomPopupModal(_ref) { className: "btnPrimary" }, t('consumption.partner_issue_modal.ok')))); }; + var _default = CustomPopupModal; exports.default = _default; @@ -4685,55 +5100,78 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + __webpack_require__("5x5Q"); + var _EpglCreateAccount = _interopRequireDefault(__webpack_require__("XT+O")); + var _EpglDoYouHaveAccount = _interopRequireDefault(__webpack_require__("Aqqm")); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var StepEnum; + (function (StepEnum) { StepEnum[StepEnum["DoYouHaveAccount"] = 0] = "DoYouHaveAccount"; StepEnum[StepEnum["CreateAccount"] = 1] = "CreateAccount"; })(StepEnum || (StepEnum = {})); + var EpglConnectModal = function EpglConnectModal(_ref) { var _steps; + var open = _ref.open, - handleCloseClick = _ref.handleCloseClick, - setShowForm = _ref.setShowForm, - goToPartnerSite = _ref.goToPartnerSite, - setHasCreatedAccount = _ref.setHasCreatedAccount; + handleCloseClick = _ref.handleCloseClick, + setShowForm = _ref.setShowForm, + goToPartnerSite = _ref.goToPartnerSite, + setHasCreatedAccount = _ref.setHasCreatedAccount; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(StepEnum.DoYouHaveAccount), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - currentStep = _useState2[0], - setCurrentStep = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + currentStep = _useState2[0], + setCurrentStep = _useState2[1]; + (0, _react.useEffect)(function () { if (open) { setCurrentStep(0); } }, [open]); + var handleGoToPartnerSite = function handleGoToPartnerSite() { goToPartnerSite(); setHasCreatedAccount(true); setShowForm(true); handleCloseClick(); }; + var handleShowForm = function handleShowForm() { setShowForm(true); handleCloseClick(); }; + var steps = (_steps = {}, (0, _defineProperty2.default)(_steps, StepEnum.DoYouHaveAccount, { content: /*#__PURE__*/_react.default.createElement(_EpglDoYouHaveAccount.default, null), leftButton: /*#__PURE__*/_react.default.createElement(_core.Button, { @@ -4779,6 +5217,7 @@ var EpglConnectModal = function EpglConnectModal(_ref) { className: "partners-connection-step-navigation" }, steps[currentStep].leftButton, steps[currentStep].rightButton)); }; + var _default = EpglConnectModal; exports.default = _default; @@ -5171,63 +5610,100 @@ exports.push([module.i, ".fluidchartslide-root {\n min-height: 22rem;\n overfl var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _legendComparison = _interopRequireDefault(__webpack_require__("m9b7")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _StyledSwitch = _interopRequireDefault(__webpack_require__("Y5EC")); + var _useExploration3 = _interopRequireDefault(__webpack_require__("sU2c")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _consumption = _interopRequireDefault(__webpack_require__("AVq/")); + var _dateChart = _interopRequireDefault(__webpack_require__("Ty7+")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _chart = __webpack_require__("idK9"); + var _hooks = __webpack_require__("Zlw4"); + var _modal = __webpack_require__("oKH6"); + var _utils = __webpack_require__("c+yx"); + var _FluidChartSwipe = _interopRequireDefault(__webpack_require__("cbBy")); + var _HalfHourNoData = _interopRequireDefault(__webpack_require__("MkXL")); + var _TimeStepSelector = _interopRequireDefault(__webpack_require__("C4t8")); + __webpack_require__("3RoJ"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var FluidChart = function FluidChart(_ref) { var fluidType = _ref.fluidType, - setActive = _ref.setActive; + setActive = _ref.setActive; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - _useAppSelector$chart = _useAppSelector.chart, - currentTimeStep = _useAppSelector$chart.currentTimeStep, - selectedDate = _useAppSelector$chart.selectedDate, - showCompare = _useAppSelector$chart.showCompare, - fluidStatus = _useAppSelector.global.fluidStatus; + return state.ecolyo; + }), + _useAppSelector$chart = _useAppSelector.chart, + currentTimeStep = _useAppSelector$chart.currentTimeStep, + selectedDate = _useAppSelector$chart.selectedDate, + showCompare = _useAppSelector$chart.showCompare, + fluidStatus = _useAppSelector.global.fluidStatus; + var dispatch = (0, _hooks.useAppDispatch)(); var navigate = (0, _reactRouterDom.useNavigate)(); var currentFluidStatus = fluidStatus[fluidType]; var isFluidConnected = (0, _utils.isKonnectorActive)(fluidStatus, fluidType); + var _useExploration = (0, _useExploration3.default)(), - _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), - setValidExploration = _useExploration2[1]; + _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), + setValidExploration = _useExploration2[1]; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - containsHalfHourData = _useState2[0], - setContainsHalfHourData = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + containsHalfHourData = _useState2[0], + setContainsHalfHourData = _useState2[1]; + var lowercaseTimeStep = _enums.TimeStep[currentTimeStep].toLowerCase(); + var lowercaseFluidType = (0, _utils.getFluidName)(fluidType); + var handleChangeSwitch = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { @@ -5238,14 +5714,17 @@ var FluidChart = function FluidChart(_ref) { _context.next = 3; break; } + _context.next = 3; return _usageEvent.default.addEvent(client, { type: _enums.UsageEventType.CONSUMPTION_COMPARE_EVENT, target: _enums.TimeStep[currentTimeStep].toLowerCase(), context: lowercaseFluidType }); + case 3: dispatch((0, _chart.setShowCompare)(!showCompare)); + case 4: case "end": return _context.stop(); @@ -5253,15 +5732,19 @@ var FluidChart = function FluidChart(_ref) { } }, _callee); })); + return function handleChangeSwitch() { return _ref2.apply(this, arguments); }; }(); + (0, _react.useEffect)(function () { var subscribed = true; + function loadData() { return _loadData.apply(this, arguments); } + function _loadData() { _loadData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var consumptionService, halfHourData; @@ -5273,14 +5756,18 @@ var FluidChart = function FluidChart(_ref) { _context2.next = 6; break; } + consumptionService = new _consumption.default(client); _context2.next = 4; return consumptionService.checkDoctypeEntries(_enums.FluidType.ELECTRICITY, _enums.TimeStep.HALF_AN_HOUR); + case 4: halfHourData = _context2.sent; + if (halfHourData) { setContainsHalfHourData(true); } + case 6: case "end": return _context2.stop(); @@ -5290,6 +5777,7 @@ var FluidChart = function FluidChart(_ref) { })); return _loadData.apply(this, arguments); } + subscribed && loadData(); return function () { subscribed = false; @@ -5316,9 +5804,8 @@ var FluidChart = function FluidChart(_ref) { }), /*#__PURE__*/_react.default.createElement("span", { className: lowercaseFluidType }, t("timestep.".concat(lowercaseTimeStep, ".current"))))); - }, [lowercaseFluidType, lowercaseTimeStep, t]); + }, [lowercaseFluidType, lowercaseTimeStep, t]); // TODO if we keep this, use the same existing function - // TODO if we keep this, use the same existing function var moveToDate = function moveToDate() { if (currentFluidStatus !== null && currentFluidStatus !== void 0 && currentFluidStatus.lastDataDate) { var dateChartService = new _dateChart.default(); @@ -5327,11 +5814,13 @@ var FluidChart = function FluidChart(_ref) { dispatch((0, _chart.setCurrentIndex)(updatedIndex)); } }; + var toggleModalConnection = function toggleModalConnection() { switch (fluidType) { case _enums.FluidType.ELECTRICITY: navigate('/sge-connect'); break; + case _enums.FluidType.GAS: case _enums.FluidType.WATER: dispatch((0, _chart.setShowOfflineData)(false)); @@ -5339,8 +5828,10 @@ var FluidChart = function FluidChart(_ref) { break; } }; + var LastDataValid = function LastDataValid() { var _currentFluidStatus$l; + return /*#__PURE__*/_react.default.createElement("div", { className: "lastValidData" }, /*#__PURE__*/_react.default.createElement("span", { @@ -5353,6 +5844,7 @@ var FluidChart = function FluidChart(_ref) { onClick: toggleModalConnection }, t("auth.".concat((0, _utils.getKonnectorSlug)(fluidType), ".connect")))); }; + return /*#__PURE__*/_react.default.createElement("div", { className: "fluidchart-root" }, !isFluidConnected && /*#__PURE__*/_react.default.createElement(LastDataValid, null), currentTimeStep === _enums.TimeStep.HALF_AN_HOUR && !containsHalfHourData ? /*#__PURE__*/_react.default.createElement(_HalfHourNoData.default, null) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { @@ -5380,6 +5872,7 @@ var FluidChart = function FluidChart(_ref) { className: "fluidchart-footer-label graph-switch-text" }, t("timestep.".concat(lowercaseTimeStep, ".comparelabel")))))); }; + var _default = FluidChart; exports.default = _default; @@ -5670,28 +6163,43 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _gas_bill = _interopRequireDefault(__webpack_require__("n4ga")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _chart = __webpack_require__("idK9"); + var _hooks = __webpack_require__("Zlw4"); + var _modal = __webpack_require__("oKH6"); + __webpack_require__("0OtY"); + var GrdfBill = function GrdfBill() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - fluidStatus = _useAppSelector.fluidStatus; + return state.ecolyo.global; + }), + fluidStatus = _useAppSelector.fluidStatus; + var currentFluidStatus = fluidStatus[_enums.FluidType.GAS]; return /*#__PURE__*/_react.default.createElement("div", { className: "connection-form" @@ -5720,6 +6228,7 @@ var GrdfBill = function GrdfBill() { } }, t('auth.button_showOfflineData')))); }; + var _default = GrdfBill; exports.default = _default; @@ -6092,86 +6601,131 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _warningDark = _interopRequireDefault(__webpack_require__("zrru")); + var _warningWhite = _interopRequireDefault(__webpack_require__("k7GL")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _Loader = _interopRequireDefault(__webpack_require__("Ra/y")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _account2 = _interopRequireDefault(__webpack_require__("gucQ")); + var _dateChart = _interopRequireDefault(__webpack_require__("Ty7+")); + var _triggers = _interopRequireDefault(__webpack_require__("7d5P")); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + var _utils = __webpack_require__("c+yx"); + var _DeleteGRDFAccountModal = _interopRequireDefault(__webpack_require__("H93m")); + __webpack_require__("yMmd"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var ConnectionResult = function ConnectionResult(_ref) { var _currentFluidStatus$c2; + var handleAccountDeletion = _ref.handleAccountDeletion, - fluidType = _ref.fluidType; + fluidType = _ref.fluidType; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - fluidStatus = _useAppSelector.fluidStatus; + return state.ecolyo.global; + }), + fluidStatus = _useAppSelector.fluidStatus; + var currentFluidStatus = fluidStatus[fluidType]; var account = currentFluidStatus.connection.account; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - deleting = _useState2[0], - setDeleting = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + deleting = _useState2[0], + setDeleting = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - updating = _useState4[0], - setUpdating = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + updating = _useState4[0], + setUpdating = _useState4[1]; + var _useState5 = (0, _react.useState)('-'), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - lastExecutionDate = _useState6[0], - setLastExecutionDate = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + lastExecutionDate = _useState6[0], + setLastExecutionDate = _useState6[1]; + var _useState7 = (0, _react.useState)(''), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - konnectorError = _useState8[0], - setKonnectorError = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + konnectorError = _useState8[0], + setKonnectorError = _useState8[1]; + var _useState9 = (0, _react.useState)(''), - _useState10 = (0, _slicedToArray2.default)(_useState9, 2), - status = _useState10[0], - setStatus = _useState10[1]; + _useState10 = (0, _slicedToArray2.default)(_useState9, 2), + status = _useState10[0], + setStatus = _useState10[1]; + var _useState11 = (0, _react.useState)(null), - _useState12 = (0, _slicedToArray2.default)(_useState11, 2), - outDatedDataDays = _useState12[0], - setOutDatedDataDays = _useState12[1]; + _useState12 = (0, _slicedToArray2.default)(_useState11, 2), + outDatedDataDays = _useState12[0], + setOutDatedDataDays = _useState12[1]; + var _useState13 = (0, _react.useState)(false), - _useState14 = (0, _slicedToArray2.default)(_useState13, 2), - openGRDFDeletionModal = _useState14[0], - setOpenGRDFDeletionModal = _useState14[1]; + _useState14 = (0, _slicedToArray2.default)(_useState13, 2), + openGRDFDeletionModal = _useState14[0], + setOpenGRDFDeletionModal = _useState14[1]; + var toggleGRDFDeletionModal = (0, _react.useCallback)(function () { setOpenGRDFDeletionModal(function (prev) { return !prev; }); }, []); + var updateKonnector = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var updatedConnection; @@ -6192,6 +6746,7 @@ var ConnectionResult = function ConnectionResult(_ref) { fluidConnection: updatedConnection })); setUpdating(false); + case 7: case "end": return _context.stop(); @@ -6199,74 +6754,98 @@ var ConnectionResult = function ConnectionResult(_ref) { } }, _callee); })); + return function updateKonnector() { return _ref2.apply(this, arguments); }; }(); + var deleteAccountsAndTriggers = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var accountService, triggerService, accounts, _iterator, _step, _account, trigger; + return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: setDeleting(true); _context2.prev = 1; + if (!account) { _context2.next = 33; break; } + accountService = new _account2.default(client); triggerService = new _triggers.default(client); _context2.next = 7; return accountService.getAccountsByType(account.account_type); + case 7: accounts = _context2.sent; _iterator = _createForOfIteratorHelper(accounts); _context2.prev = 9; + _iterator.s(); + case 11: if ((_step = _iterator.n()).done) { _context2.next = 23; break; } + _account = _step.value; _context2.next = 15; return triggerService.getTriggerForAccount(_account); + case 15: trigger = _context2.sent; + if (!trigger) { _context2.next = 19; break; } + _context2.next = 19; return triggerService.deleteTrigger(trigger); + case 19: _context2.next = 21; return accountService.deleteAccount(_account); + case 21: _context2.next = 11; break; + case 23: _context2.next = 28; break; + case 25: _context2.prev = 25; _context2.t0 = _context2["catch"](9); + _iterator.e(_context2.t0); + case 28: _context2.prev = 28; + _iterator.f(); + return _context2.finish(28); + case 31: _context2.next = 33; return handleAccountDeletion(); + case 33: _context2.next = 38; break; + case 35: _context2.prev = 35; _context2.t1 = _context2["catch"](1); setDeleting(false); + case 38: case "end": return _context2.stop(); @@ -6284,6 +6863,7 @@ var ConnectionResult = function ConnectionResult(_ref) { }).minus({ days: 1 }).toLocaleString(); + if (lastExecutionDate === '-') { return false; } else if (lastExecutionDate > todayDate) { @@ -6295,8 +6875,9 @@ var ConnectionResult = function ConnectionResult(_ref) { var handleRefreshConsent = (0, _react.useCallback)(function (fluidType) { if (fluidType == _enums.FluidType.ELECTRICITY) { var _currentFluidStatus$c; - var accountData = (_currentFluidStatus$c = currentFluidStatus.connection.account) === null || _currentFluidStatus$c === void 0 ? void 0 : _currentFluidStatus$c.auth; - // store the previous account data since the onDelete will remove account from DB + + var accountData = (_currentFluidStatus$c = currentFluidStatus.connection.account) === null || _currentFluidStatus$c === void 0 ? void 0 : _currentFluidStatus$c.auth; // store the previous account data since the onDelete will remove account from DB + dispatch((0, _global.updateSgeStore)({ currentStep: 0, firstName: accountData.firstname, @@ -6316,32 +6897,39 @@ var ConnectionResult = function ConnectionResult(_ref) { }, [deleteAccountsAndTriggers, dispatch, (_currentFluidStatus$c2 = currentFluidStatus.connection.account) === null || _currentFluidStatus$c2 === void 0 ? void 0 : _currentFluidStatus$c2.auth]); (0, _react.useEffect)(function () { var _currentFluidStatus$c3, _currentFluidStatus$c4, _currentFluidStatus$c5; + if ((_currentFluidStatus$c3 = currentFluidStatus.connection.triggerState) !== null && _currentFluidStatus$c3 !== void 0 && _currentFluidStatus$c3.last_success) { var result = _luxon.DateTime.fromISO(currentFluidStatus.connection.triggerState.last_success); + setLastExecutionDate(result); } else { setLastExecutionDate('-'); } + if (((_currentFluidStatus$c4 = currentFluidStatus.connection.triggerState) === null || _currentFluidStatus$c4 === void 0 ? void 0 : _currentFluidStatus$c4.status) === 'errored' && (_currentFluidStatus$c5 = currentFluidStatus.connection.triggerState) !== null && _currentFluidStatus$c5 !== void 0 && _currentFluidStatus$c5.last_error) { setStatus('errored'); setKonnectorError((0, _utils.getKonnectorUpdateError)(currentFluidStatus.connection.triggerState.last_error)); } + if (isOutdated()) { setOutDatedDataDays(isOutdated()); } }, [currentFluidStatus.connection.triggerState, isOutdated]); + var getFluidTypeTranslation = function getFluidTypeTranslation(fluidType) { switch (fluidType) { case _enums.FluidType.GAS: return 'de gaz'; + case _enums.FluidType.ELECTRICITY: return "d'électricité"; + default: return "d'eau"; } }; - var consentError = konnectorError === _enums.KonnectorUpdate.ERROR_CONSENT_FORM_GAS || konnectorError === _enums.KonnectorUpdate.ERROR_UPDATE_OAUTH; + var consentError = konnectorError === _enums.KonnectorUpdate.ERROR_CONSENT_FORM_GAS || konnectorError === _enums.KonnectorUpdate.ERROR_UPDATE_OAUTH; /** * Get Konnector state, possible values: * - partner maintenance @@ -6349,6 +6937,7 @@ var ConnectionResult = function ConnectionResult(_ref) { * - outdated * - last update date */ + var getConnectionStatus = function getConnectionStatus() { // First check if there is partner error from backoffice if (currentFluidStatus.maintenance) { @@ -6359,8 +6948,9 @@ var ConnectionResult = function ConnectionResult(_ref) { }, /*#__PURE__*/_react.default.createElement("div", { className: "connection-caption" }, t('konnector_form.wait_end_issue')))); - } - // Else check if konnector is in error state + } // Else check if konnector is in error state + + if (status === 'errored') { return /*#__PURE__*/_react.default.createElement(DisplayKonnectorErrorState, { konnectorError: konnectorError, @@ -6368,8 +6958,9 @@ var ConnectionResult = function ConnectionResult(_ref) { lastExecutionDate: lastExecutionDate, fluidConcerned: getFluidTypeTranslation(fluidType) }); - } - // Else check if data is outdated + } // Else check if data is outdated + + if (outDatedDataDays) { return /*#__PURE__*/_react.default.createElement(DisplayDataOutdated, { fluidStatus: currentFluidStatus, @@ -6377,13 +6968,15 @@ var ConnectionResult = function ConnectionResult(_ref) { lastExecutionDate: lastExecutionDate, hasUpdatedToday: hasUpdatedToday() }); - } - // Default to displaying the last update date + } // Default to displaying the last update date + + return /*#__PURE__*/_react.default.createElement(DisplayLastUpdateDate, { fluidType: fluidType, lastExecutionDate: lastExecutionDate }); }; + return /*#__PURE__*/_react.default.createElement("div", { className: "connection-update-result" }, /*#__PURE__*/_react.default.createElement("div", { @@ -6410,13 +7003,16 @@ var ConnectionResult = function ConnectionResult(_ref) { deleteAccount: deleteAccountsAndTriggers })); }; + var DisplayKonnectorErrorState = function DisplayKonnectorErrorState(_ref4) { var konnectorError = _ref4.konnectorError, - consentRelatedError = _ref4.consentRelatedError, - lastExecutionDate = _ref4.lastExecutionDate, - fluidConcerned = _ref4.fluidConcerned; + consentRelatedError = _ref4.consentRelatedError, + lastExecutionDate = _ref4.lastExecutionDate, + fluidConcerned = _ref4.fluidConcerned; + var _useI18n2 = (0, _I18n.useI18n)(), - t = _useI18n2.t; + t = _useI18n2.t; + return /*#__PURE__*/_react.default.createElement("div", { className: "connection-caption-errored warning-white text-16-normal" }, /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { @@ -6438,11 +7034,12 @@ var DisplayKonnectorErrorState = function DisplayKonnectorErrorState(_ref4) { className: "text-16-bold" }, lastExecutionDate.toLocaleString())))); }; + var DisplayDataOutdated = function DisplayDataOutdated(_ref5) { var fluidStatus = _ref5.fluidStatus, - fluidType = _ref5.fluidType, - lastExecutionDate = _ref5.lastExecutionDate, - hasUpdatedToday = _ref5.hasUpdatedToday; + fluidType = _ref5.fluidType, + lastExecutionDate = _ref5.lastExecutionDate, + hasUpdatedToday = _ref5.hasUpdatedToday; return /*#__PURE__*/_react.default.createElement("div", { className: "connection-caption text-16-normal" }, /*#__PURE__*/_react.default.createElement("div", { @@ -6456,36 +7053,45 @@ var DisplayDataOutdated = function DisplayDataOutdated(_ref5) { lastExecutionDate: lastExecutionDate.toLocaleString() }) : /*#__PURE__*/_react.default.createElement(DisplayManualUpdate, null)))); }; - /** If user has already ran an update today, display a message about energy provider issue */ + + var DisplayAlreadyUpdatedToday = function DisplayAlreadyUpdatedToday(_ref6) { var _fluidStatus$connecti; + var fluidStatus = _ref6.fluidStatus, - fluidType = _ref6.fluidType, - lastExecutionDate = _ref6.lastExecutionDate; + fluidType = _ref6.fluidType, + lastExecutionDate = _ref6.lastExecutionDate; + var _useI18n3 = (0, _I18n.useI18n)(), - t = _useI18n3.t; + t = _useI18n3.t; + var getFluidTypeKonnectorTranslation = function getFluidTypeKonnectorTranslation(fluidType) { switch (fluidType) { case _enums.FluidType.GAS: return 'GRDF'; + case _enums.FluidType.ELECTRICITY: return 'Enedis'; + default: return 'Eau Publique du Grand Lyon'; } }; + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { className: "connection-caption" }, t('konnector_form.label_updated_at')), /*#__PURE__*/_react.default.createElement("div", { className: "text-16-bold" }, lastExecutionDate.toLocaleString()), /*#__PURE__*/_react.default.createElement("div", null, (fluidStatus === null || fluidStatus === void 0 ? void 0 : (_fluidStatus$connecti = fluidStatus.connection) === null || _fluidStatus$connecti === void 0 ? void 0 : _fluidStatus$connecti.konnector) && t('konnector_form.issue') + ' ' + getFluidTypeKonnectorTranslation(fluidType) + '.')); }; - /** Tells user to run a manual update */ + + var DisplayManualUpdate = function DisplayManualUpdate() { var _useI18n4 = (0, _I18n.useI18n)(), - t = _useI18n4.t; + t = _useI18n4.t; + return /*#__PURE__*/_react.default.createElement("div", { className: "connection-caption-warning connection-update-errored warning-white text-16-normal" }, /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { @@ -6499,11 +7105,14 @@ var DisplayManualUpdate = function DisplayManualUpdate() { className: "text-16-normal" }, t('konnector_form.resolve'))); }; + var DisplayLastUpdateDate = function DisplayLastUpdateDate(_ref7) { var lastExecutionDate = _ref7.lastExecutionDate, - fluidType = _ref7.fluidType; + fluidType = _ref7.fluidType; + var _useI18n5 = (0, _I18n.useI18n)(), - t = _useI18n5.t; + t = _useI18n5.t; + return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", { className: "connection-caption text-16-normal" }, t('konnector_form.label_updated_at')), /*#__PURE__*/_react.default.createElement("div", { @@ -6512,6 +7121,7 @@ var DisplayLastUpdateDate = function DisplayLastUpdateDate(_ref7) { className: "text-14-normal delta-caption" }, t("konnector_form.konnector_delta.".concat(_enums.FluidType[fluidType])))); }; + var _default = ConnectionResult; exports.default = _default; @@ -6641,20 +7251,21 @@ var GrdfFormOAuth = function GrdfFormOAuth(_ref) { while (1) { switch (_context.prev = _context.next) { case 0: - setStatus(WAITING); // If first connexion, send the usage event - if (!(konnector !== null && konnector !== void 0 && konnector.slug && currentFluidStatus.lastDataDate === null)) { - _context.next = 4; + _context.next = 3; break; } - _context.next = 4; + _context.next = 3; return _usageEvent.default.addEvent(client, { type: _enums.UsageEventType.KONNECTOR_ATTEMPT_EVENT, target: konnector.slug, result: 'error' }); + case 3: + setStatus(WAITING); + case 4: case "end": return _context.stop(); @@ -6822,28 +7433,43 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _water_bill = _interopRequireDefault(__webpack_require__("S/4M")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _chart = __webpack_require__("idK9"); + var _hooks = __webpack_require__("Zlw4"); + var _modal = __webpack_require__("oKH6"); + __webpack_require__("0OtY"); + var EpglBill = function EpglBill() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - fluidStatus = _useAppSelector.fluidStatus; + return state.ecolyo.global; + }), + fluidStatus = _useAppSelector.fluidStatus; + var currentFluidStatus = fluidStatus[_enums.FluidType.WATER]; return /*#__PURE__*/_react.default.createElement("div", { className: "connection-form" @@ -6872,6 +7498,7 @@ var EpglBill = function EpglBill() { } }, t('auth.button_showOfflineData')))); }; + var _default = EpglBill; exports.default = _default; diff --git a/4/ecolyo.931069786fa078d8d73d.js b/4/ecolyo.e44f681829f74b9ff80d.js similarity index 98% rename from 4/ecolyo.931069786fa078d8d73d.js rename to 4/ecolyo.e44f681829f74b9ff80d.js index e395690c5..3d7ee0f94 100644 --- a/4/ecolyo.931069786fa078d8d73d.js +++ b/4/ecolyo.e44f681829f74b9ff80d.js @@ -762,24 +762,36 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _warnOrange = _interopRequireDefault(__webpack_require__("t+F9")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("+obZ"); + var EcogestureReinitModal = function EcogestureReinitModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick, - handleLaunchReinit = _ref.handleLaunchReinit; + handleCloseClick = _ref.handleCloseClick, + handleLaunchReinit = _ref.handleLaunchReinit; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -826,6 +838,7 @@ var EcogestureReinitModal = function EcogestureReinitModal(_ref) { className: "btnPrimary" }, t('ecogesture.reinitModal.btn2'))))); }; + var _default = EcogestureReinitModal; exports.default = _default; @@ -849,65 +862,93 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _check = _interopRequireDefault(__webpack_require__("oeon")); + var _sort = _interopRequireDefault(__webpack_require__("WtsX")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _EcogestureCard = _interopRequireDefault(__webpack_require__("M0of")); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("5ats"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var EcogestureList = function EcogestureList(_ref) { var list = _ref.list, - displaySelection = _ref.displaySelection, - selectionTotal = _ref.selectionTotal, - selectionViewed = _ref.selectionViewed, - handleReinitClick = _ref.handleReinitClick; + displaySelection = _ref.displaySelection, + selectionTotal = _ref.selectionTotal, + selectionViewed = _ref.selectionViewed, + handleReinitClick = _ref.handleReinitClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - ecogestureFilter = _useAppSelector.ecogestureFilter; + return state.ecolyo.global; + }), + ecogestureFilter = _useAppSelector.ecogestureFilter; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - openDropDown = _useState2[0], - setOpenDropDown = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + openDropDown = _useState2[0], + setOpenDropDown = _useState2[1]; + var _useState3 = (0, _react.useState)(null), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - anchorEl = _useState4[0], - setAnchorEl = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + anchorEl = _useState4[0], + setAnchorEl = _useState4[1]; + var toggleDropDown = function toggleDropDown() { setOpenDropDown(function (prev) { return !prev; }); }; + var toggleMenu = function toggleMenu(event) { setAnchorEl(event.currentTarget); }; + var closeMenu = function closeMenu(usage) { usage !== undefined && dispatch((0, _global.updateEcogestureFilter)(usage)); setAnchorEl(null); }; + var renderEcogestureContent = function renderEcogestureContent() { var isAllUsage = ecogestureFilter === _enums.Usage.ALL; var filteredEcogestures = list.filter(function (ecogesture) { return isAllUsage ? true : ecogesture.usage === ecogestureFilter; }); + if (filteredEcogestures.length > 0) { return filteredEcogestures.map(function (ecogesture) { return /*#__PURE__*/_react.default.createElement(_EcogestureCard.default, { @@ -916,6 +957,7 @@ var EcogestureList = function EcogestureList(_ref) { }); }); } + return /*#__PURE__*/_react.default.createElement("div", { className: "ec-filter-error" }, /*#__PURE__*/_react.default.createElement("div", { @@ -924,6 +966,7 @@ var EcogestureList = function EcogestureList(_ref) { className: "text-16-italic" }, t('ecogesture.no_ecogesture_filter.text2'))); }; + var selectFilters = function selectFilters() { return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, { className: "btnSecondary btnFilter", @@ -972,6 +1015,7 @@ var EcogestureList = function EcogestureList(_ref) { }))); }))); }; + var continueSelection = function continueSelection() { return /*#__PURE__*/_react.default.createElement(_core.Grow, { in: displaySelection @@ -985,6 +1029,7 @@ var EcogestureList = function EcogestureList(_ref) { } }, t('ecogesture.button_selection')))); }; + return /*#__PURE__*/_react.default.createElement("div", { className: "ecogesture-root" }, /*#__PURE__*/_react.default.createElement("div", { @@ -996,6 +1041,7 @@ var EcogestureList = function EcogestureList(_ref) { className: "btnSecondary" }, t('ecogesture.reinit')))); }; + var _default = EcogestureList; exports.default = _default; @@ -1008,25 +1054,37 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _doingEnabled = _interopRequireDefault(__webpack_require__("eirt")); + var _objectiveEnabled = _interopRequireDefault(__webpack_require__("XtK8")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("GtFW"); + var EcogestureEmptyList = function EcogestureEmptyList(_ref) { var setTab = _ref.setTab, - isObjective = _ref.isObjective, - isSelectionDone = _ref.isSelectionDone, - handleReinitClick = _ref.handleReinitClick; + isObjective = _ref.isObjective, + isSelectionDone = _ref.isSelectionDone, + handleReinitClick = _ref.handleReinitClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); var objOrDoing = isObjective ? 'obj' : 'doing'; var isDone = isSelectionDone ? '_done' : ''; @@ -1062,6 +1120,7 @@ var EcogestureEmptyList = function EcogestureEmptyList(_ref) { className: "btnPrimary" }, t('ecogesture.emptyList.btn2'))))); }; + var _default = EcogestureEmptyList; exports.default = _default; @@ -1140,23 +1199,34 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("BYYc"); + var EcogestureInitModal = function EcogestureInitModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick, - handleLaunchForm = _ref.handleLaunchForm; + handleCloseClick = _ref.handleCloseClick, + handleLaunchForm = _ref.handleLaunchForm; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -1194,6 +1264,7 @@ var EcogestureInitModal = function EcogestureInitModal(_ref) { className: "btnPrimary" }, t('ecogesture.initModal.btn2'))))); }; + var _default = EcogestureInitModal; exports.default = _default; diff --git a/5/ecolyo.b23f7a16119aff05e881.js b/5/ecolyo.41a3c918854f721cafd9.js similarity index 99% rename from 5/ecolyo.b23f7a16119aff05e881.js rename to 5/ecolyo.41a3c918854f721cafd9.js index 2bdb21635..5a255ead5 100644 --- a/5/ecolyo.b23f7a16119aff05e881.js +++ b/5/ecolyo.41a3c918854f721cafd9.js @@ -66,51 +66,75 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _StyledSwitch = _interopRequireDefault(__webpack_require__("Y5EC")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _consumption = _interopRequireDefault(__webpack_require__("AVq/")); + var _hooks = __webpack_require__("Zlw4"); + var _profile = __webpack_require__("iyr4"); + __webpack_require__("D92I"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ReportOptions = function ReportOptions() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - fluidStatus = _useAppSelector.global.fluidStatus, - profile = _useAppSelector.profile; + return state.ecolyo; + }), + fluidStatus = _useAppSelector.global.fluidStatus, + profile = _useAppSelector.profile; + var _useState = (0, _react.useState)(null), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - maxDayData = _useState2[0], - setLastSemesterMaxDay = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + maxDayData = _useState2[0], + setLastSemesterMaxDay = _useState2[1]; + var updateProfileReport = function updateProfileReport(value) { dispatch((0, _profile.updateProfile)({ sendAnalysisNotification: value })); }; + var updateProfileAlert = (0, _react.useCallback)(function (value) { dispatch((0, _profile.updateProfile)({ sendConsumptionAlert: value })); }, [dispatch]); var isWaterConnected = fluidStatus[_enums.FluidType.WATER].status !== _enums.FluidState.NOT_CONNECTED && fluidStatus[_enums.FluidType.WATER].status !== _enums.FluidState.KONNECTOR_NOT_FOUND && fluidStatus[_enums.FluidType.WATER].status !== _enums.FluidState.ERROR_LOGIN_FAILED; + var setWaterLimit = function setWaterLimit(e) { if (e.target.value !== null && parseInt(e.target.value) > 0) { dispatch((0, _profile.updateProfile)({ @@ -120,17 +144,22 @@ var ReportOptions = function ReportOptions() { updateProfileAlert(false); } }; + var toggleAnalysisNotification = function toggleAnalysisNotification() { profile.sendAnalysisNotification ? updateProfileReport(false) : updateProfileReport(true); }; + var handleAlertChange = function handleAlertChange(e) { e.target.checked ? updateProfileAlert(true) : updateProfileAlert(false); }; + (0, _react.useEffect)(function () { var subscribed = true; + function getMaxLoadData() { return _getMaxLoadData.apply(this, arguments); } + function _getMaxLoadData() { _getMaxLoadData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var timePeriod, consumptionService, lastSemesterMax; @@ -147,11 +176,14 @@ var ReportOptions = function ReportOptions() { consumptionService = new _consumption.default(client); _context.next = 4; return consumptionService.getMaxLoad(timePeriod, _enums.TimeStep.DAY, [_enums.FluidType.WATER], undefined, false, true); + case 4: lastSemesterMax = _context.sent; + if (lastSemesterMax) { setLastSemesterMaxDay(lastSemesterMax); } + case 6: case "end": return _context.stop(); @@ -161,9 +193,11 @@ var ReportOptions = function ReportOptions() { })); return _getMaxLoadData.apply(this, arguments); } + if (subscribed) { getMaxLoadData(); } + return function () { subscribed = false; }; @@ -221,6 +255,7 @@ var ReportOptions = function ReportOptions() { className: "alert-input-subtext text-14" }, t('profile.report.input_label_subtext_alert'), Math.round(maxDayData.value), ' L')))))); }; + var _default = ReportOptions; exports.default = _default; @@ -233,24 +268,36 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _download = _interopRequireDefault(__webpack_require__("qtkt")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("/1S4"); + var ExportStartModal = function ExportStartModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick, - handleDownloadClick = _ref.handleDownloadClick; + handleCloseClick = _ref.handleCloseClick, + handleDownloadClick = _ref.handleDownloadClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -293,6 +340,7 @@ var ExportStartModal = function ExportStartModal(_ref) { className: "btnPrimary" }, t('export.button_download')))))); }; + var _default = ExportStartModal; exports.default = _default; @@ -671,54 +719,81 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _chevronDown = _interopRequireDefault(__webpack_require__("CYAo")); + var _profile = _interopRequireDefault(__webpack_require__("dCxF")); + var _StyledCard = _interopRequireDefault(__webpack_require__("mvdD")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _useExploration3 = _interopRequireDefault(__webpack_require__("sU2c")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("LlCV"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ProfileTypeOptions = function ProfileTypeOptions() { var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - profile = _useAppSelector.profile, - profileType = _useAppSelector.profileType; + return state.ecolyo; + }), + profile = _useAppSelector.profile, + profileType = _useAppSelector.profileType; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); + var _useExploration = (0, _useExploration3.default)(), - _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), - setValidExploration = _useExploration2[1]; + _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), + setValidExploration = _useExploration2[1]; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - active = _useState2[0], - setActive = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + active = _useState2[0], + setActive = _useState2[1]; + var toggleAccordion = function toggleAccordion() { if (!active) { setValidExploration(_enums.UserExplorationID.EXPLORATION001); } + setActive(function (prev) { return !prev; }); }; + var goToForm = function goToForm() { navigate('/profileType'); }; + return /*#__PURE__*/_react.default.createElement("div", { className: "profile-type-root" }, /*#__PURE__*/_react.default.createElement("div", { @@ -830,6 +905,7 @@ var ProfileTypeOptions = function ProfileTypeOptions() { className: "link-label text-16-normal" }, t('profile_type.read_profile'))))); }; + var _default = ProfileTypeOptions; exports.default = _default; @@ -1476,25 +1552,38 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _exportDone = _interopRequireDefault(__webpack_require__("u39M")); + var _warnCross = _interopRequireDefault(__webpack_require__("goId")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("buHZ"); + var ExportDoneModal = function ExportDoneModal(_ref) { var open = _ref.open, - error = _ref.error, - handleCloseClick = _ref.handleCloseClick; + error = _ref.error, + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -1535,6 +1624,7 @@ var ExportDoneModal = function ExportDoneModal(_ref) { className: "btnPrimary" }, error ? t('export.modal_done.button_close_error') : t('export.modal_done.button_close'))))); }; + var _default = ExportDoneModal; exports.default = _default; diff --git a/6/ecolyo.eb318d311051d4b06da6.js b/6/ecolyo.95dfb23bc54787c93a79.js similarity index 96% rename from 6/ecolyo.eb318d311051d4b06da6.js rename to 6/ecolyo.95dfb23bc54787c93a79.js index 30a1785a4..b3e1b2179 100644 --- a/6/ecolyo.eb318d311051d4b06da6.js +++ b/6/ecolyo.95dfb23bc54787c93a79.js @@ -510,61 +510,90 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _MonthlyAnalysis = _interopRequireDefault(__webpack_require__("XBNI")); + var _Content = _interopRequireDefault(__webpack_require__("VOVi")); + var _DateNavigator = _interopRequireDefault(__webpack_require__("Hno1")); + var _CozyBar = _interopRequireDefault(__webpack_require__("CJMG")); + var _Header = _interopRequireDefault(__webpack_require__("frrP")); + var _cozyClient = __webpack_require__("SH7X"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _dateChart = _interopRequireDefault(__webpack_require__("Ty7+")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _analysis = __webpack_require__("JQjK"); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + var _profile = __webpack_require__("iyr4"); + var _date = __webpack_require__("XrP9"); + __webpack_require__("/Sqe"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var AnalysisView = function AnalysisView() { var client = (0, _cozyClient.useClient)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - analysisMonth = _useAppSelector.analysis.analysisMonth, - selectedDate = _useAppSelector.chart.selectedDate, - analysisNotification = _useAppSelector.global.analysisNotification, - _useAppSelector$profi = _useAppSelector.profile, - monthlyAnalysisDate = _useAppSelector$profi.monthlyAnalysisDate, - mailToken = _useAppSelector$profi.mailToken; + return state.ecolyo; + }), + analysisMonth = _useAppSelector.analysis.analysisMonth, + selectedDate = _useAppSelector.chart.selectedDate, + analysisNotification = _useAppSelector.global.analysisNotification, + _useAppSelector$profi = _useAppSelector.profile, + monthlyAnalysisDate = _useAppSelector$profi.monthlyAnalysisDate, + mailToken = _useAppSelector$profi.mailToken; + var dispatch = (0, _hooks.useAppDispatch)(); + var _useState = (0, _react.useState)(0), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - headerHeight = _useState2[0], - setHeaderHeight = _useState2[1]; - var dateChartService = new _dateChart.default(); + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + headerHeight = _useState2[0], + setHeaderHeight = _useState2[1]; + + var dateChartService = new _dateChart.default(); // Handle email report comeback - // Handle email report comeback var _useLocation = (0, _reactRouterDom.useLocation)(), - search = _useLocation.search; + search = _useLocation.search; + var query = new URLSearchParams(search); var paramToken = query.get('token'); var app = document.querySelector('.app-content'); - var _useState3 = (0, _react.useState)(0), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - scrollPosition = _useState4[0], - setScrollPosition = _useState4[1]; + var _useState3 = (0, _react.useState)(0), + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + scrollPosition = _useState4[0], + setScrollPosition = _useState4[1]; /** Scroll handling for switching months and staying on the same scroll position */ + + var saveLastScrollPosition = (0, _react.useCallback)(function () { if (app) { var position = Math.max(app.scrollTop, window.scrollY); @@ -578,9 +607,9 @@ var AnalysisView = function AnalysisView() { haveSeenLastAnalysis: true })); dispatch((0, _global.toggleAnalysisNotification)(false)); - } + } // Save usageevent came back from email + - // Save usageevent came back from email if (paramToken && mailToken && paramToken === mailToken) { _usageEvent.default.addEventIfDoesntExist(client, { type: _enums.UsageEventType.REPORT_FROM_EMAIL, @@ -599,12 +628,15 @@ var AnalysisView = function AnalysisView() { }); } }; + updateAnalysisNotification(); }, [dispatch, analysisNotification, monthlyAnalysisDate, selectedDate, paramToken, mailToken, client]); + var handleMoveDate = function handleMoveDate(increment) { var updatedDate = dateChartService.incrementDate(_enums.TimeStep.MONTH, analysisMonth, increment); dispatch((0, _analysis.setAnalysisMonth)(updatedDate)); }; + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CozyBar.default, { titleKey: "common.title_analysis" }), /*#__PURE__*/_react.default.createElement(_Header.default, { @@ -631,6 +663,7 @@ var AnalysisView = function AnalysisView() { scrollPosition: scrollPosition }))); }; + var _default = AnalysisView; exports.default = _default; @@ -802,34 +835,50 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _euroIcon = _interopRequireDefault(__webpack_require__("vgwG")); + var _classnames = _interopRequireDefault(__webpack_require__("TSYQ")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _converter = _interopRequireDefault(__webpack_require__("LXmx")); + var _picto = __webpack_require__("6DBe"); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("/Maf"); + var ProfileComparatorRow = function ProfileComparatorRow(_ref) { var fluid = _ref.fluid, - userPriceConsumption = _ref.userPriceConsumption, - homePriceConsumption = _ref.homePriceConsumption, - performanceValue = _ref.performanceValue, - forecast = _ref.forecast, - connected = _ref.connected, - noData = _ref.noData; + userPriceConsumption = _ref.userPriceConsumption, + homePriceConsumption = _ref.homePriceConsumption, + performanceValue = _ref.performanceValue, + forecast = _ref.forecast, + connected = _ref.connected, + noData = _ref.noData; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var converterService = new _converter.default(); var maxPriceConsumption = Math.max(userPriceConsumption, homePriceConsumption); var fluidLoad = forecast && fluid !== _enums.FluidType.MULTIFLUID ? forecast.fluidForecast[fluid].load : 0; + var formatFluidConsumptionForConso = function formatFluidConsumptionForConso(_fluid) { if (_fluid === _enums.FluidType.MULTIFLUID) { return "".concat((0, _utils.formatNumberValues)(userPriceConsumption).toString(), " \u20AC"); @@ -839,12 +888,14 @@ var ProfileComparatorRow = function ProfileComparatorRow(_ref) { if (_fluid === _enums.FluidType.ELECTRICITY || _fluid === _enums.FluidType.GAS) { return "".concat(Math.round(performanceValue), " ").concat(t("FLUID.".concat(_enums.FluidType[_fluid], ".UNIT"))); } + return performanceValue >= 1000 || fluidLoad >= 1000 ? (0, _utils.formatNumberValues)(performanceValue / 1000).toString() + ' ' + t("FLUID.".concat(_enums.FluidType[_fluid], ".MEGAUNIT")) : Math.round(performanceValue) + ' ' + t("FLUID.".concat(_enums.FluidType[_fluid], ".UNIT")); } else { return '-'; } } }; + var formatFluidConsumptionForForecast = function formatFluidConsumptionForForecast(_fluid) { if (_fluid === _enums.FluidType.MULTIFLUID) { return "".concat((0, _utils.formatNumberValues)(homePriceConsumption).toString(), " \u20AC"); @@ -853,9 +904,11 @@ var ProfileComparatorRow = function ProfileComparatorRow(_ref) { if (_fluid === _enums.FluidType.ELECTRICITY || _fluid === _enums.FluidType.GAS) { return "".concat(Math.round(fluidLoad), " ").concat(t("FLUID.".concat(_enums.FluidType[_fluid], ".UNIT"))); } + return performanceValue && performanceValue >= 1000 || fluidLoad >= 1000 ? (0, _utils.formatNumberValues)(fluidLoad / 1000).toString() + ' ' + t("FLUID.".concat(_enums.FluidType[_fluid], ".MEGAUNIT")) : Math.round(fluidLoad) + ' ' + t("FLUID.".concat(_enums.FluidType[_fluid], ".UNIT")); } }; + var getWidthForConso = function getWidthForConso(_fluid) { if (_fluid === _enums.FluidType.MULTIFLUID) { return "".concat(userPriceConsumption / maxPriceConsumption * 100, "%"); @@ -863,6 +916,7 @@ var ProfileComparatorRow = function ProfileComparatorRow(_ref) { return "".concat(converterService.LoadToEuro(performanceValue || 0, _fluid) / maxPriceConsumption * 100, "%"); } }; + var getWidthForForecast = function getWidthForForecast(_fluid) { if (_fluid === _enums.FluidType.MULTIFLUID) { return "".concat(homePriceConsumption / maxPriceConsumption * 100, "%"); @@ -871,6 +925,7 @@ var ProfileComparatorRow = function ProfileComparatorRow(_ref) { return "".concat(fluidValue / maxPriceConsumption * 100, "%"); } }; + var comparaisonText = connected ? formatFluidConsumptionForConso(fluid) : t("analysis.no_data"); return /*#__PURE__*/_react.default.createElement("div", { className: "analysisRow consumption-".concat(_enums.FluidType[fluid].toLowerCase()) @@ -906,6 +961,7 @@ var ProfileComparatorRow = function ProfileComparatorRow(_ref) { "data-testid": "averagePrice" }, formatFluidConsumptionForForecast(fluid)))); }; + var _default = ProfileComparatorRow; exports.default = _default; @@ -918,28 +974,41 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("GUkD"); + var NoAnalysisModal = function NoAnalysisModal(_ref) { var open = _ref.open, - onClose = _ref.onClose; + onClose = _ref.onClose; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); + var goToConsumption = function goToConsumption() { navigate('/consumption'); }; + var close = function close() { onClose(false); }; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: close, @@ -968,6 +1037,7 @@ var NoAnalysisModal = function NoAnalysisModal(_ref) { className: "btnSecondary" }, t('analysis_error_modal.understood'))))); }; + var _default = NoAnalysisModal; exports.default = _default; @@ -1002,63 +1072,94 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _EstimatedConsumptionModal = _interopRequireDefault(__webpack_require__("ta6n")); + var _Loader = _interopRequireDefault(__webpack_require__("Ra/y")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _consumption = _interopRequireDefault(__webpack_require__("AVq/")); + var _hooks = __webpack_require__("Zlw4"); + var _picto = __webpack_require__("6DBe"); + var _utils = __webpack_require__("c+yx"); + var _PieChart = _interopRequireDefault(__webpack_require__("BVQw")); + __webpack_require__("ir/a"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var TotalAnalysisChart = function TotalAnalysisChart(_ref) { var fluidsWithData = _ref.fluidsWithData; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.analysis; - }), - analysisMonth = _useAppSelector.analysisMonth; + return state.ecolyo.analysis; + }), + analysisMonth = _useAppSelector.analysisMonth; + var _useState = (0, _react.useState)(true), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - isLoading = _useState2[0], - setIsLoading = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + isLoading = _useState2[0], + setIsLoading = _useState2[1]; + var _useState3 = (0, _react.useState)(null), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - dataLoadValueDetailArray = _useState4[0], - setDataLoadValueDetailArray = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + dataLoadValueDetailArray = _useState4[0], + setDataLoadValueDetailArray = _useState4[1]; + var _useState5 = (0, _react.useState)(0), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - totalLoadValue = _useState6[0], - setTotalLoadValue = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + totalLoadValue = _useState6[0], + setTotalLoadValue = _useState6[1]; + var _useState7 = (0, _react.useState)(false), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - openEstimationModal = _useState8[0], - setOpenEstimationModal = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + openEstimationModal = _useState8[0], + setOpenEstimationModal = _useState8[1]; + var arcWidth = 30; var radius = Math.min(375, innerWidth - 100); var outerRadius = radius / 2; var innerRadius = outerRadius - arcWidth; (0, _react.useEffect)(function () { var subscribed = true; + function getTotalData() { return _getTotalData.apply(this, arguments); } + function _getTotalData() { _getTotalData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var timePeriod, consumptionService, monthTotalData; @@ -1077,13 +1178,17 @@ var TotalAnalysisChart = function TotalAnalysisChart(_ref) { consumptionService = new _consumption.default(client); _context.next = 4; return consumptionService.getGraphData(timePeriod, _enums.TimeStep.MONTH, fluidsWithData, undefined, undefined, true); + case 4: monthTotalData = _context.sent; + if (monthTotalData !== null && monthTotalData !== void 0 && monthTotalData.actualData) { setDataLoadValueDetailArray(monthTotalData.actualData[0].valueDetail); setTotalLoadValue(monthTotalData.actualData[0].value); } + setIsLoading(false); + case 7: case "end": return _context.stop(); @@ -1093,13 +1198,16 @@ var TotalAnalysisChart = function TotalAnalysisChart(_ref) { })); return _getTotalData.apply(this, arguments); } + if (subscribed) { getTotalData(); } + return function () { subscribed = false; }; }, [analysisMonth, client, fluidsWithData]); + var emptyPieChart = function emptyPieChart() { return /*#__PURE__*/_react.default.createElement(_PieChart.default, { dataloadValueDetailArray: [], @@ -1114,6 +1222,7 @@ var TotalAnalysisChart = function TotalAnalysisChart(_ref) { className: "text-20-bold no_data" }, t('analysis.no_data'))); }; + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { className: "totalAnalysis-container", style: { @@ -1166,6 +1275,7 @@ var TotalAnalysisChart = function TotalAnalysisChart(_ref) { }, t("FLUID.".concat(_enums.FluidType[index], ".LABEL")))); }))))); }; + var _default = TotalAnalysisChart; exports.default = _default; @@ -1779,70 +1889,106 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _chevronDown = _interopRequireDefault(__webpack_require__("CYAo")); + var _profileEdit = _interopRequireDefault(__webpack_require__("vdp4")); + var _analysis = _interopRequireDefault(__webpack_require__("jSRn")); + var _noProfilePlaceholder = _interopRequireDefault(__webpack_require__("tM5S")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _Loader = _interopRequireDefault(__webpack_require__("Ra/y")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _profileType = _interopRequireDefault(__webpack_require__("7e12")); + var _profileTypeEntity = _interopRequireDefault(__webpack_require__("aypK")); + var _hooks = __webpack_require__("Zlw4"); + var _ProfileComparatorRow = _interopRequireDefault(__webpack_require__("Q5dr")); + __webpack_require__("nsEu"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ProfileComparator = function ProfileComparator(_ref) { var aggregatedPerformanceIndicator = _ref.aggregatedPerformanceIndicator, - performanceIndicators = _ref.performanceIndicators; + performanceIndicators = _ref.performanceIndicators; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var navigate = (0, _reactRouterDom.useNavigate)(); var userPriceConsumption = aggregatedPerformanceIndicator.value || 0; + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - analysisMonth = _useAppSelector.analysis.analysisMonth, - profile = _useAppSelector.profile; + return state.ecolyo; + }), + analysisMonth = _useAppSelector.analysis.analysisMonth, + profile = _useAppSelector.profile; + var _useState = (0, _react.useState)(0), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - homePriceConsumption = _useState2[0], - setHomePriceConsumption = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + homePriceConsumption = _useState2[0], + setHomePriceConsumption = _useState2[1]; + var _useState3 = (0, _react.useState)(null), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - forecast = _useState4[0], - setForecast = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + forecast = _useState4[0], + setForecast = _useState4[1]; + var _useState5 = (0, _react.useState)(true), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - isLoading = _useState6[0], - setIsLoading = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + isLoading = _useState6[0], + setIsLoading = _useState6[1]; + var _useState7 = (0, _react.useState)(false), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - activeAverageHome = _useState8[0], - setActiveAverageHome = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + activeAverageHome = _useState8[0], + setActiveAverageHome = _useState8[1]; + var toggleAccordion = function toggleAccordion() { setActiveAverageHome(function (prev) { return !prev; }); + if (!activeAverageHome) { setTimeout(function () { var content = document.querySelector('.consumption-electricity'); + if (content) { content.scrollIntoView({ behavior: 'smooth', @@ -1852,18 +1998,22 @@ var ProfileComparator = function ProfileComparator(_ref) { }, 300); } }; + var emptyFluidTypes = []; + if (performanceIndicators.length === 0) { // If no indicators add all fluids for component placeholder emptyFluidTypes.push(_enums.FluidType.ELECTRICITY, _enums.FluidType.WATER, _enums.FluidType.GAS); } else { for (var i = 0; i < performanceIndicators.length; i++) { var _performanceIndicator; + if (!((_performanceIndicator = performanceIndicators[i]) !== null && _performanceIndicator !== void 0 && _performanceIndicator.value)) { emptyFluidTypes.push(i); } } } + var getTotalValueWithConnectedFluids = (0, _react.useCallback)(function (monthlyForecast) { if (performanceIndicators.length === 3) { setHomePriceConsumption(monthlyForecast.totalValue); @@ -1877,9 +2027,11 @@ var ProfileComparator = function ProfileComparator(_ref) { }, [performanceIndicators]); (0, _react.useEffect)(function () { var subscribed = true; + function loadAverageConsumption() { return _loadAverageConsumption.apply(this, arguments); } + function _loadAverageConsumption() { _loadAverageConsumption = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var profileTypeEntityService, profileType, profileTypeService, monthlyForecast; @@ -1892,12 +2044,15 @@ var ProfileComparator = function ProfileComparator(_ref) { return profileTypeEntityService.getProfileType(analysisMonth.minus({ month: 1 }).startOf('month')); + case 3: profileType = _context.sent; + if (!(profileType !== null)) { _context.next = 10; break; } + profileTypeService = new _profileType.default(profileType, client, analysisMonth.minus({ month: 1 }).year); @@ -1905,15 +2060,20 @@ var ProfileComparator = function ProfileComparator(_ref) { return profileTypeService.getMonthlyForecast(analysisMonth.minus({ month: 1 }).startOf('month').month); + case 8: monthlyForecast = _context.sent; + if (subscribed) { setForecast(monthlyForecast); + if (monthlyForecast) { getTotalValueWithConnectedFluids(monthlyForecast); } + setIsLoading(false); } + case 10: case "end": return _context.stop(); @@ -1923,11 +2083,13 @@ var ProfileComparator = function ProfileComparator(_ref) { })); return _loadAverageConsumption.apply(this, arguments); } + loadAverageConsumption(); return function () { subscribed = false; }; }, [profile.monthlyAnalysisDate.month, getTotalValueWithConnectedFluids, client, analysisMonth.month, analysisMonth]); + var profileNotCompleted = /*#__PURE__*/_react.default.createElement("div", { className: "no-profile" }, /*#__PURE__*/_react.default.createElement("div", { @@ -1949,6 +2111,7 @@ var ProfileComparator = function ProfileComparator(_ref) { height: "60%", alt: "pas de profil remplis" })); + var Consumption = /*#__PURE__*/_react.default.createElement("div", { className: "analysis-graph" }, isLoading ? /*#__PURE__*/_react.default.createElement("div", { @@ -2017,6 +2180,7 @@ var ProfileComparator = function ProfileComparator(_ref) { }, /*#__PURE__*/_react.default.createElement("span", { className: "accordion-desc text-16-normal" }, t('analysis.average_home_description')))))); + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { className: "status-header" }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { @@ -2038,6 +2202,7 @@ var ProfileComparator = function ProfileComparator(_ref) { className: "analysis-graph" }, !profile.isProfileTypeCompleted && profileNotCompleted, profile.isProfileTypeCompleted && Consumption)); }; + var _default = ProfileComparator; exports.default = _default; @@ -2462,76 +2627,115 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _IconButton = _interopRequireDefault(__webpack_require__("o6Jd")); + var _leftArrow = _interopRequireDefault(__webpack_require__("bZGv")); + var _maxPower = _interopRequireDefault(__webpack_require__("BQYg")); + var _minimum = _interopRequireDefault(__webpack_require__("G8GX")); + var _rightArrow = _interopRequireDefault(__webpack_require__("fZGW")); + var _Loader = _interopRequireDefault(__webpack_require__("Ra/y")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _consumption = _interopRequireDefault(__webpack_require__("AVq/")); + var _enedisMonthlyAnalysisData = _interopRequireDefault(__webpack_require__("GrKv")); + var _fluidsPrices = _interopRequireDefault(__webpack_require__("VjcQ")); + var _hooks = __webpack_require__("Zlw4"); + var _picto = __webpack_require__("6DBe"); + var _ElecHalfHourChart = _interopRequireDefault(__webpack_require__("s76r")); + var _ElecInfoModal = _interopRequireDefault(__webpack_require__("n95a")); + __webpack_require__("Ogrm"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { var perfIndicator = _ref.perfIndicator; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.analysis; - }), - analysisMonth = _useAppSelector.analysisMonth; + return state.ecolyo.analysis; + }), + analysisMonth = _useAppSelector.analysisMonth; + var _useState = (0, _react.useState)(true), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - isWeekend = _useState2[0], - setIsWeekend = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + isWeekend = _useState2[0], + setIsWeekend = _useState2[1]; + var _useState3 = (0, _react.useState)(true), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - isHalfHourActivated = _useState4[0], - setIsHalfHourActivated = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + isHalfHourActivated = _useState4[0], + setIsHalfHourActivated = _useState4[1]; + var _useState5 = (0, _react.useState)(true), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - isLoading = _useState6[0], - setIsLoading = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + isLoading = _useState6[0], + setIsLoading = _useState6[1]; + var _useState7 = (0, _react.useState)(), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - monthDataloads = _useState8[0], - setMonthDataloads = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + monthDataloads = _useState8[0], + setMonthDataloads = _useState8[1]; + var _useState9 = (0, _react.useState)(), - _useState10 = (0, _slicedToArray2.default)(_useState9, 2), - enedisAnalysisValues = _useState10[0], - setEnedisAnalysisValues = _useState10[1]; + _useState10 = (0, _slicedToArray2.default)(_useState9, 2), + enedisAnalysisValues = _useState10[0], + setEnedisAnalysisValues = _useState10[1]; + var _useState11 = (0, _react.useState)(), - _useState12 = (0, _slicedToArray2.default)(_useState11, 2), - facturePercentage = _useState12[0], - setFacturePercentage = _useState12[1]; + _useState12 = (0, _slicedToArray2.default)(_useState11, 2), + facturePercentage = _useState12[0], + setFacturePercentage = _useState12[1]; + var _useState13 = (0, _react.useState)(), - _useState14 = (0, _slicedToArray2.default)(_useState13, 2), - elecPrice = _useState14[0], - setElecPrice = _useState14[1]; + _useState14 = (0, _slicedToArray2.default)(_useState13, 2), + elecPrice = _useState14[0], + setElecPrice = _useState14[1]; + var _useState15 = (0, _react.useState)(false), - _useState16 = (0, _slicedToArray2.default)(_useState15, 2), - openInfoModal = _useState16[0], - setOpenInfoModal = _useState16[1]; + _useState16 = (0, _slicedToArray2.default)(_useState15, 2), + openInfoModal = _useState16[0], + setOpenInfoModal = _useState16[1]; + var handleChangeWeek = (0, _react.useCallback)(function () { setIsWeekend(function (prev) { return !prev; @@ -2544,6 +2748,7 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { }, []); var isDataFullyComplete = (0, _react.useCallback)(function (monthDataloads) { var _monthDataloads$weeke, _monthDataloads$week$; + if (monthDataloads !== null && monthDataloads !== void 0 && monthDataloads.weekend && monthDataloads.week && ((_monthDataloads$weeke = monthDataloads.weekend[0]) === null || _monthDataloads$weeke === void 0 ? void 0 : _monthDataloads$weeke.value) !== null && ((_monthDataloads$week$ = monthDataloads.week[0]) === null || _monthDataloads$week$ === void 0 ? void 0 : _monthDataloads$week$.value) !== null) { return true; } else return false; @@ -2562,9 +2767,11 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { }, [isDataFullyComplete, isWeekend, monthDataloads, t]); (0, _react.useEffect)(function () { var subscribed = true; + function fetchEnedisAnalysisData() { return _fetchEnedisAnalysisData.apply(this, arguments); } + function _fetchEnedisAnalysisData() { _fetchEnedisAnalysisData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var cs, isHalfHourLoadActivated, emas, aggregatedDate, data, aggregatedData, percentage; @@ -2575,41 +2782,53 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { cs = new _consumption.default(client); _context.next = 3; return cs.checkDoctypeEntries(_enums.FluidType.ELECTRICITY, _enums.TimeStep.HALF_AN_HOUR); + case 3: isHalfHourLoadActivated = _context.sent; + if (subscribed) { _context.next = 6; break; } + return _context.abrupt("return"); + case 6: if (!isHalfHourLoadActivated) { _context.next = 15; break; } + emas = new _enedisMonthlyAnalysisData.default(client); aggregatedDate = analysisMonth.minus({ month: 1 }); _context.next = 11; return emas.getEnedisMonthlyAnalysisByDate(aggregatedDate.year, aggregatedDate.month); + case 11: data = _context.sent; + if (data !== null && data !== void 0 && data.length) { aggregatedData = emas.aggregateValuesToDataLoad(data[0]); setEnedisAnalysisValues(data[0]); setMonthDataloads(aggregatedData); + if (data[0].minimumLoad && perfIndicator.value) { percentage = data[0].minimumLoad / perfIndicator.value * 100; setFacturePercentage(percentage); } } + _context.next = 16; break; + case 15: setIsHalfHourActivated(false); + case 16: setIsLoading(false); + case 17: case "end": return _context.stop(); @@ -2619,6 +2838,7 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { })); return _fetchEnedisAnalysisData.apply(this, arguments); } + fetchEnedisAnalysisData(); return function () { subscribed = false; @@ -2627,9 +2847,11 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { (0, _react.useEffect)(function () { var subscribed = true; var fluidsPricesService = new _fluidsPrices.default(client); + function getAllLastPrices() { return _getAllLastPrices.apply(this, arguments); } + function _getAllLastPrices() { _getAllLastPrices = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var price; @@ -2641,11 +2863,14 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { return fluidsPricesService.getPrices(_enums.FluidType.ELECTRICITY, analysisMonth.minus({ month: 1 })); + case 2: price = _context2.sent; + if (subscribed && price) { setElecPrice(price); } + case 4: case "end": return _context2.stop(); @@ -2655,6 +2880,7 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { })); return _getAllLastPrices.apply(this, arguments); } + getAllLastPrices(); return function () { subscribed = false; @@ -2744,6 +2970,7 @@ var ElecHalfHourMonthlyAnalysis = function ElecHalfHourMonthlyAnalysis(_ref) { handleCloseClick: toggleOpenModal })); }; + var _default = ElecHalfHourMonthlyAnalysis; exports.default = _default; diff --git a/7/ecolyo.db0953161bdc796f8a22.js b/7/ecolyo.9376e18b72a7a8ccfe8c.js similarity index 96% rename from 7/ecolyo.db0953161bdc796f8a22.js rename to 7/ecolyo.9376e18b72a7a8ccfe8c.js index a252deaeb..12061f89e 100644 --- a/7/ecolyo.db0953161bdc796f8a22.js +++ b/7/ecolyo.9376e18b72a7a8ccfe8c.js @@ -18,33 +18,52 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _CHALLENGE = _interopRequireDefault(__webpack_require__("jz85")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _Content = _interopRequireDefault(__webpack_require__("VOVi")); + var _CozyBar = _interopRequireDefault(__webpack_require__("CJMG")); + var _Header = _interopRequireDefault(__webpack_require__("frrP")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("V6tV"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var EcogestureNotFound = function EcogestureNotFound(_ref) { var text = _ref.text, - returnPage = _ref.returnPage; + returnPage = _ref.returnPage; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); + var _useState = (0, _react.useState)(0), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - headerHeight = _useState2[0], - setHeaderHeight = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + headerHeight = _useState2[0], + setHeaderHeight = _useState2[1]; + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CozyBar.default, { titleKey: "error_page.main" }), /*#__PURE__*/_react.default.createElement(_Header.default, { @@ -68,6 +87,7 @@ var EcogestureNotFound = function EcogestureNotFound(_ref) { className: "btnPrimary" }, t('error_page.back'))))); }; + var _default = EcogestureNotFound; exports.default = _default; @@ -235,9 +255,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var SingleEcogestureView = function SingleEcogestureView() { var _useI18n = (0, _I18n.useI18n)(), diff --git a/app/ecolyo.fc48bb071a134285cc64.js b/app/ecolyo.b5adf37933213ac662df.js similarity index 99% rename from app/ecolyo.fc48bb071a134285cc64.js rename to app/ecolyo.b5adf37933213ac662df.js index 3943e6e28..c1d4e31e4 100644 --- a/app/ecolyo.fc48bb071a134285cc64.js +++ b/app/ecolyo.b5adf37933213ac662df.js @@ -64,7 +64,7 @@ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { -/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"5f9b912e46d21ba73794","2":"62e5292a592368584bc8","4":"931069786fa078d8d73d","5":"b23f7a16119aff05e881","6":"eb318d311051d4b06da6","7":"db0953161bdc796f8a22","8":"083c460749da3b2bb728","9":"559d36d928c393428876","10":"2946952809565809b75b"}[chunkId] + ".js" +/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"b2c357869bd91528093e","2":"62e5292a592368584bc8","4":"e44f681829f74b9ff80d","5":"41a3c918854f721cafd9","6":"95dfb23bc54787c93a79","7":"9376e18b72a7a8ccfe8c","8":"083c460749da3b2bb728","9":"559d36d928c393428876","10":"2946952809565809b75b"}[chunkId] + ".js" /******/ } /******/ /******/ // The require function @@ -700,23 +700,35 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _GCUContent = _interopRequireDefault(__webpack_require__("YmT2")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("7kNj"); + var CGUModal = function CGUModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -740,6 +752,7 @@ var CGUModal = function CGUModal(_ref) { className: "btnPrimary" }, t('legal.accessibility.button_close'))); }; + var _default = CGUModal; exports.default = _default; @@ -974,47 +987,77 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var Sentry = _interopRequireWildcard(__webpack_require__("agHs")); + var _finish = _interopRequireDefault(__webpack_require__("de6s")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _useExploration3 = _interopRequireDefault(__webpack_require__("sU2c")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _doctypes = __webpack_require__("D2hQ"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _react2 = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _profileType = _interopRequireDefault(__webpack_require__("7e12")); + var _profileTypeEntity = _interopRequireDefault(__webpack_require__("aypK")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _hooks = __webpack_require__("Zlw4"); + var _profile = __webpack_require__("iyr4"); + var _profileType2 = __webpack_require__("ZI2v"); + __webpack_require__("sPIc"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ProfileTypeFinished = function ProfileTypeFinished(_ref) { var profileType = _ref.profileType; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var location = (0, _reactRouterDom.useLocation)(); var navigate = (0, _reactRouterDom.useNavigate)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - currentChallenge = _useAppSelector.challenge.currentChallenge, - profile = _useAppSelector.profile; + return state.ecolyo; + }), + currentChallenge = _useAppSelector.challenge.currentChallenge, + profile = _useAppSelector.profile; + var handleClick = function handleClick() { if ((location === null || location === void 0 ? void 0 : location.pathname) === '/ecogesture-form') { navigate('/ecogesture-selection'); @@ -1022,17 +1065,21 @@ var ProfileTypeFinished = function ProfileTypeFinished(_ref) { navigate(-1); } }; + var _useState = (0, _react2.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - isSaved = _useState2[0], - setIsSaved = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + isSaved = _useState2[0], + setIsSaved = _useState2[1]; + var _useExploration = (0, _useExploration3.default)(), - _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), - setValidExploration = _useExploration2[1]; + _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), + setValidExploration = _useExploration2[1]; + (0, _react2.useEffect)(function () { function checkForExistingProfileType() { return _checkForExistingProfileType.apply(this, arguments); } + function _checkForExistingProfileType() { _checkForExistingProfileType = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var consistentProfileType, chosenPeriod, profileTypeEntityService, myProfileTypes, destroyPT; @@ -1052,22 +1099,29 @@ var ProfileTypeFinished = function ProfileTypeFinished(_ref) { profileTypeEntityService = new _profileTypeEntity.default(client); _context.next = 5; return profileTypeEntityService.getAllProfileTypes(chosenPeriod); + case 5: myProfileTypes = _context.sent; + if (!(myProfileTypes !== null)) { _context.next = 21; break; } + _context.next = 9; return profileTypeEntityService.deleteProfileTypes(myProfileTypes); + case 9: destroyPT = _context.sent; + if (!destroyPT) { _context.next = 17; break; } + _context.next = 13; return createNewProfileType(client, consistentProfileType); + case 13: setIsSaved(true); dispatch((0, _profile.updateProfile)({ @@ -1076,21 +1130,26 @@ var ProfileTypeFinished = function ProfileTypeFinished(_ref) { })); _context.next = 19; break; + case 17: console.log('ERROR'); Sentry.captureException('error in profileTypeFinished'); + case 19: _context.next = 25; break; + case 21: _context.next = 23; return createNewProfileType(client, consistentProfileType); + case 23: setIsSaved(true); dispatch((0, _profile.updateProfile)({ isProfileEcogestureCompleted: true, isProfileTypeCompleted: true })); + case 25: case "end": return _context.stop(); @@ -1100,24 +1159,30 @@ var ProfileTypeFinished = function ProfileTypeFinished(_ref) { })); return _checkForExistingProfileType.apply(this, arguments); } + function createNewProfileType(_x, _x2) { return _createNewProfileType.apply(this, arguments); } + function _createNewProfileType() { _createNewProfileType = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(client, consistentProfileType) { var _yield$client$create, newProfileType; + return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return client.create(_doctypes.PROFILETYPE_DOCTYPE, consistentProfileType); + case 2: _yield$client$create = _context2.sent; newProfileType = _yield$client$create.data; + if (newProfileType) { dispatch((0, _profileType2.setProfileType)(newProfileType)); } + case 5: case "end": return _context2.stop(); @@ -1127,11 +1192,14 @@ var ProfileTypeFinished = function ProfileTypeFinished(_ref) { })); return _createNewProfileType.apply(this, arguments); } + if (!isSaved) { checkForExistingProfileType(); + if (currentChallenge && currentChallenge.exploration.id === _enums.UserExplorationID.EXPLORATION001) { setValidExploration(currentChallenge.exploration.id); } + _usageEvent.default.addEvent(client, { type: _enums.UsageEventType.PROFILE_SET_EVENT }); @@ -1151,6 +1219,7 @@ var ProfileTypeFinished = function ProfileTypeFinished(_ref) { className: "btnPrimary" }, t('profile_type.finished.button_validate'))); }; + var _default = ProfileTypeFinished; exports.default = _default; @@ -1999,28 +2068,43 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _durationClock = _interopRequireDefault(__webpack_require__("k7k8")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _EcogestureModal = _interopRequireDefault(__webpack_require__("Y5R6")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + __webpack_require__("6zVm"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ActionOnGoing = function ActionOnGoing(_ref) { var userAction = _ref.userAction; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - openEcogestureModal = _useState2[0], - setOpenEcogestureModal = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + openEcogestureModal = _useState2[0], + setOpenEcogestureModal = _useState2[1]; + var toggleEcogestureModal = (0, _react.useCallback)(function () { setOpenEcogestureModal(function (prev) { return !prev; @@ -2033,6 +2117,7 @@ var ActionOnGoing = function ActionOnGoing(_ref) { var ratio = circle / durationInDays; var progressionInDays = -Math.round(userAction.startDate.diffNow('days').days); var progress = ratio * progressionInDays; + if (progress === 0) { return "linear-gradient(90deg, #121212 50%,transparent 50%), linear-gradient(110deg, #58ffff 50%, transparent 50%)"; } else if (progress === circle) { @@ -2096,6 +2181,7 @@ var ActionOnGoing = function ActionOnGoing(_ref) { handleCloseClick: toggleEcogestureModal }))); }; + var _default = ActionOnGoing; exports.default = _default; @@ -3002,37 +3088,62 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _core = __webpack_require__("TTf+"); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _partners_consent = _interopRequireDefault(__webpack_require__("4NZ3")); + var _useUserInstanceSettings = _interopRequireDefault(__webpack_require__("+z0D")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _environment = _interopRequireDefault(__webpack_require__("X6DI")); + var _mail = _interopRequireDefault(__webpack_require__("40JQ")); + var _hooks = __webpack_require__("Zlw4"); + var _profile = __webpack_require__("iyr4"); + __webpack_require__("jCXb"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var welcomeTemplate = __webpack_require__("jy3L"); + var mjml2html = __webpack_require__("I7Kk"); + var WelcomeModal = function WelcomeModal(_ref) { var open = _ref.open; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useUserInstanceSetti = (0, _useUserInstanceSettings.default)(), - instanceSettings = _useUserInstanceSetti.data; + instanceSettings = _useUserInstanceSetti.data; + var setWelcomeModalViewed = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var mailService, username, environmentService, baseUrl, template, mailData; return _regenerator.default.wrap(function _callee$(_context) { @@ -3041,9 +3152,11 @@ var WelcomeModal = function WelcomeModal(_ref) { case 0: mailService = new _mail.default(); username = ''; + if (instanceSettings.public_name !== '') { username = instanceSettings.public_name; } + environmentService = new _environment.default(); baseUrl = environmentService.getPublicURL(); template = welcomeTemplate({ @@ -3077,6 +3190,7 @@ var WelcomeModal = function WelcomeModal(_ref) { isWelcomeSeen: true } })); + case 9: case "end": return _context.stop(); @@ -3118,6 +3232,7 @@ var WelcomeModal = function WelcomeModal(_ref) { className: "btnPrimary" }, t('onboarding.welcomeModal.button_valid'))))); }; + var _default = WelcomeModal; exports.default = _default; @@ -3446,17 +3561,23 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var StepAddress = function StepAddress(_ref) { var sgeState = _ref.sgeState, - _onChange = _ref.onChange; + _onChange = _ref.onChange; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement("div", { className: "sge-step-container stepAddress" }, /*#__PURE__*/_react.default.createElement("div", { @@ -3500,6 +3621,7 @@ var StepAddress = function StepAddress(_ref) { } }))); }; + var _default = StepAddress; exports.default = _default; @@ -3687,44 +3809,67 @@ exports.default = MailService; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _doingEnabled = _interopRequireDefault(__webpack_require__("eirt")); + var _objectiveEnabled = _interopRequireDefault(__webpack_require__("XtK8")); + var _skipEnabled = _interopRequireDefault(__webpack_require__("UtXz")); + var _default2 = _interopRequireDefault(__webpack_require__("v9Ot")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("KXnr"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var EcogestureSelectionDetail = function EcogestureSelectionDetail(_ref) { var ecogesture = _ref.ecogesture, - validate = _ref.validate, - title = _ref.title; + validate = _ref.validate, + title = _ref.title; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(''), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - ecogestureIcon = _useState2[0], - setEcogestureIcon = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + ecogestureIcon = _useState2[0], + setEcogestureIcon = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - showDetails = _useState4[0], - setShowDetails = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + showDetails = _useState4[0], + setShowDetails = _useState4[1]; + (0, _react.useEffect)(function () { var subscribed = true; + function getIcon() { return _getIcon.apply(this, arguments); } + function _getIcon() { _getIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var icon; @@ -3734,11 +3879,14 @@ var EcogestureSelectionDetail = function EcogestureSelectionDetail(_ref) { case 0: _context.next = 2; return (0, _utils.importIconById)(ecogesture.id, 'ecogesture'); + case 2: icon = _context.sent; + if (subscribed) { setEcogestureIcon(icon || _default2.default); } + case 4: case "end": return _context.stop(); @@ -3748,6 +3896,7 @@ var EcogestureSelectionDetail = function EcogestureSelectionDetail(_ref) { })); return _getIcon.apply(this, arguments); } + getIcon(); setShowDetails(false); return function () { @@ -3823,6 +3972,7 @@ var EcogestureSelectionDetail = function EcogestureSelectionDetail(_ref) { size: 60 }), t('ecogesture_selection.button_skip')))); }; + var _default = EcogestureSelectionDetail; exports.default = _default; @@ -6472,36 +6622,53 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _ActionCard = _interopRequireDefault(__webpack_require__("uuAh")); + var _cozyClient = __webpack_require__("SH7X"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _action = _interopRequireDefault(__webpack_require__("5e6O")); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("C84b"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ActionList = function ActionList(_ref) { var setSelectedAction = _ref.setSelectedAction, - setShowList = _ref.setShowList; + setShowList = _ref.setShowList; var client = (0, _cozyClient.useClient)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - fluidTypes = _useAppSelector.global.fluidTypes, - isProfileTypeCompleted = _useAppSelector.profile.isProfileTypeCompleted; + return state.ecolyo; + }), + fluidTypes = _useAppSelector.global.fluidTypes, + isProfileTypeCompleted = _useAppSelector.profile.isProfileTypeCompleted; + var _useState = (0, _react.useState)(), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - actions = _useState2[0], - setActions = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + actions = _useState2[0], + setActions = _useState2[1]; + (0, _react.useEffect)(function () { var subscribed = true; + var getActions = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var actionService, actionList; @@ -6511,25 +6678,32 @@ var ActionList = function ActionList(_ref) { case 0: actionService = new _action.default(client); actionList = []; + if (!isProfileTypeCompleted) { _context.next = 8; break; } + _context.next = 5; return actionService.getCustomActions(fluidTypes); + case 5: actionList = _context.sent; _context.next = 11; break; + case 8: _context.next = 10; return actionService.getDefaultActions(); + case 10: actionList = _context.sent; + case 11: if (subscribed) { setActions(actionList); } + case 12: case "end": return _context.stop(); @@ -6537,10 +6711,12 @@ var ActionList = function ActionList(_ref) { } }, _callee); })); + return function getActions() { return _ref2.apply(this, arguments); }; }(); + getActions(); return function () { subscribed = false; @@ -6557,6 +6733,7 @@ var ActionList = function ActionList(_ref) { }); }))); }; + var _default = ActionList; exports.default = _default; @@ -6569,20 +6746,30 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _ecolyo = _interopRequireDefault(__webpack_require__("nyyM")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("a3QZ"); + var SplashScreenError = function SplashScreenError(_ref) { var error = _ref.error; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { className: "splash-content" }, /*#__PURE__*/_react.default.createElement("div", { @@ -6605,6 +6792,7 @@ var SplashScreenError = function SplashScreenError(_ref) { } }, t('splashscreen.button_reload')))); }; + var _default = SplashScreenError; exports.default = _default; @@ -6666,7 +6854,7 @@ var TriggerService = /*#__PURE__*/function () { key: "createTriggerAttributes", value: function createTriggerAttributes(account, konnector) { var configService = new _fluidConfig.default(); - var cronArgs = configService.getCronArgs(); + var cronArgs = configService.getCronArgs(7, 9); var triggerAttributes = (0, _triggers2.buildAttributes)({ account: account, cron: cronArgs, @@ -6881,36 +7069,62 @@ module.exports = JSON.parse("{}"); var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE")); + var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var Sentry = _interopRequireWildcard(__webpack_require__("agHs")); + var _coldWater = _interopRequireDefault(__webpack_require__("hfGo")); + var _cooking = _interopRequireDefault(__webpack_require__("I8oM")); + var _ecs = _interopRequireDefault(__webpack_require__("+uHx")); + var _electricSpecific = _interopRequireDefault(__webpack_require__("ZncT")); + var _heating = _interopRequireDefault(__webpack_require__("WQDB")); + var _cozyLogger = _interopRequireDefault(__webpack_require__("Vggm")); + var _doctypes = __webpack_require__("D2hQ"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _logger = _interopRequireDefault(__webpack_require__("gjtA")); + var _converter = _interopRequireDefault(__webpack_require__("LXmx")); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + var logStack = _cozyLogger.default.namespace('profileTypeService'); + var ProfileTypeService = /*#__PURE__*/function () { function ProfileTypeService(profileType, _client, year) { var _this = this; + (0, _classCallCheck2.default)(this, ProfileTypeService); (0, _defineProperty2.default)(this, "profileType", void 0); (0, _defineProperty2.default)(this, "_client", void 0); @@ -6918,6 +7132,7 @@ var ProfileTypeService = /*#__PURE__*/function () { (0, _defineProperty2.default)(this, "fetchDJU", /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(month) { var startDate, endDate, result, monthDju, degreeDayObservations, _iterator, _step, observation, errorMessage; + return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { @@ -6939,14 +7154,17 @@ var ProfileTypeService = /*#__PURE__*/function () { _context.prev = 2; _context.next = 5; return _this._client.getStackClient().fetchJSON('GET', "".concat(_doctypes.REMOTE_ORG_ECOLYO_DJU, "?startDate=").concat(startDate, "&endDate=").concat(endDate)); + case 5: result = _context.sent; monthDju = 0; + if (result) { degreeDayObservations = result.values.filter(function (value) { return value.observation === 'degreeDay'; }); _iterator = _createForOfIteratorHelper(degreeDayObservations); + try { for (_iterator.s(); !(_step = _iterator.n()).done;) { observation = _step.value; @@ -6958,24 +7176,32 @@ var ProfileTypeService = /*#__PURE__*/function () { _iterator.f(); } } + if (!(monthDju === 0)) { _context.next = 12; break; } + return _context.abrupt("return", _heating.default.dju_average_by_month[month - 1]); + case 12: return _context.abrupt("return", monthDju); + case 13: _context.next = 22; break; + case 15: _context.prev = 15; _context.t0 = _context["catch"](2); errorMessage = "fetchDju error : ".concat(JSON.stringify(_context.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context.t0); return _context.abrupt("return", _heating.default.dju_average_by_month[month - 1]); + case 22: case "end": return _context.stop(); @@ -6983,20 +7209,24 @@ var ProfileTypeService = /*#__PURE__*/function () { } }, _callee, null, [[2, 15]]); })); + return function (_x) { return _ref.apply(this, arguments); }; }()); + _logger.default.info('[ProfileType] Analysis loaded profileType related to: ', profileType.updateDate ? profileType.updateDate.toString() : 'no update date'); + this.profileType = profileType; this._client = _client; this.year = year; } - /** * calculateWarmingEstimatedConsumption * @returns {number} Estimated consumption */ + + (0, _createClass2.default)(ProfileTypeService, [{ key: "calculateWarmingEstimatedConsumption", value: function calculateWarmingEstimatedConsumption() { @@ -7008,11 +7238,11 @@ var ProfileTypeService = /*#__PURE__*/function () { var estimatedConsumption = parseInt(this.profileType.area) * currentRatio; return estimatedConsumption; } - /** * calculateWarmingCorrectedConsumption * @returns {number} - Corrected consumption */ + }, { key: "calculateWarmingCorrectedConsumption", value: function calculateWarmingCorrectedConsumption(estimatedConsumption) { @@ -7023,23 +7253,26 @@ var ProfileTypeService = /*#__PURE__*/function () { var individualInsulationWork = this.profileType.individualInsulationWork; var hasInstalledVentilation = this.profileType.hasInstalledVentilation; var hasReplacedHeater = this.profileType.hasReplacedHeater; - var heating = this.profileType.heating; + var heating = this.profileType.heating; // Apply corrections - // Apply corrections var correctionsNbWalls = _heating.default.adjustment_outside_facing_walls[housingType]; var correctionWalls = correctionsNbWalls[outsideFacingWalls]; var correctionFloor; var correctionInsulation; var correctionFacilities; + if (this.profileType.housingType === _enums.HousingType.APARTMENT) { correctionFloor = _heating.default.adjustment_floor.apartment[floor]; } else correctionFloor = 0; + if (!individualInsulationWork.includes(_enums.IndividualInsulationWork.NONE) && constructionYear !== _enums.ConstructionYear.AFTER_1998 && heating !== _enums.IndividualOrCollective.COLLECTIVE) { var correctionsInsulation = _heating.default.adjustment_insulation[constructionYear]; + if (individualInsulationWork.length === 1) { correctionInsulation = correctionsInsulation[individualInsulationWork[0]]; } else { var _key = ''; + if (individualInsulationWork.includes(_enums.IndividualInsulationWork.ROOF_INSULATION) && individualInsulationWork.includes(_enums.IndividualInsulationWork.WINDOW_REPLACEMENT) && individualInsulationWork.includes(_enums.IndividualInsulationWork.WALL_INSULATION)) { _key = 'window_replacement_and_roof_and_wall_insulation'; } else if (individualInsulationWork.includes(_enums.IndividualInsulationWork.ROOF_INSULATION) && individualInsulationWork.includes(_enums.IndividualInsulationWork.WINDOW_REPLACEMENT)) { @@ -7049,9 +7282,11 @@ var ProfileTypeService = /*#__PURE__*/function () { } else if (individualInsulationWork.includes(_enums.IndividualInsulationWork.WINDOW_REPLACEMENT) && individualInsulationWork.includes(_enums.IndividualInsulationWork.WALL_INSULATION)) { _key = 'window_replacement_and_wall_insulation'; } + correctionInsulation = correctionsInsulation[_key]; } } else correctionInsulation = 0; + if (hasInstalledVentilation === _enums.ThreeChoicesAnswer.YES && hasReplacedHeater === _enums.ThreeChoicesAnswer.YES && heating !== _enums.IndividualOrCollective.COLLECTIVE) { correctionFacilities = _heating.default.adjustment_facilities['individual_heater_and_ventilation']; } else if (hasReplacedHeater === _enums.ThreeChoicesAnswer.YES) { @@ -7061,14 +7296,15 @@ var ProfileTypeService = /*#__PURE__*/function () { } else { correctionFacilities = 0; } + var correctedConsumption = estimatedConsumption * (1 + correctionFloor) * (1 + correctionWalls) * (1 + correctionInsulation) * (1 + correctionFacilities); return Math.round(correctedConsumption); } - /** * calculateWarmingMonthConsumption @returns {number} monthConsumption */ + }, { key: "calculateWarmingMonthConsumption", value: function () { @@ -7080,10 +7316,12 @@ var ProfileTypeService = /*#__PURE__*/function () { case 0: _context2.next = 2; return this.fetchDJU(month); + case 2: djuCurrentMonth = _context2.sent; monthConsumption = correctedConsumption / _heating.default.dju_annual * djuCurrentMonth; return _context2.abrupt("return", Math.round(monthConsumption)); + case 5: case "end": return _context2.stop(); @@ -7091,15 +7329,18 @@ var ProfileTypeService = /*#__PURE__*/function () { } }, _callee2, this); })); + function calculateWarmingMonthConsumption(_x2, _x3) { return _calculateWarmingMonthConsumption.apply(this, arguments); } + return calculateWarmingMonthConsumption; }() /** * getMonthHeating * @returns {number} Month heating consumption in kw/h */ + }, { key: "getMonthHeating", value: function () { @@ -7113,9 +7354,11 @@ var ProfileTypeService = /*#__PURE__*/function () { correctedConsumption = this.calculateWarmingCorrectedConsumption(estimatedConsumption); _context3.next = 4; return this.calculateWarmingMonthConsumption(correctedConsumption, month); + case 4: monthConsumption = _context3.sent; return _context3.abrupt("return", monthConsumption); + case 6: case "end": return _context3.stop(); @@ -7123,27 +7366,33 @@ var ProfileTypeService = /*#__PURE__*/function () { } }, _callee3, this); })); + function getMonthHeating(_x4) { return _getMonthHeating.apply(this, arguments); } + return getMonthHeating; }() /** * Calculate water raw needs by month * @returns {number} rawConsumption */ + }, { key: "calculateMonthWaterRawNeeds", value: function calculateMonthWaterRawNeeds(profileType, month) { var waterNeedsIndex = _ecs.default.ecs_ratio.findIndex(function (ratio) { return ratio.occupants_number === profileType.occupantsNumber; }); + var waterNeeds = _ecs.default.ecs_ratio[waterNeedsIndex].warm_water_need_in_liter; + var nbDaysInMonth = _luxon.DateTime.fromObject({ month: month }).setZone('utc', { keepLocalTime: true }).daysInMonth; + var rawConsumption = waterNeeds * nbDaysInMonth; return rawConsumption; } @@ -7151,16 +7400,20 @@ var ProfileTypeService = /*#__PURE__*/function () { * Calculate spread water needs by month * @returns {number} spreadConsumption */ + }, { key: "calculateSpreadNeeds", value: function calculateSpreadNeeds(profileType, month) { var rawNeeds = []; + for (var index = 1; index < 13; index++) { rawNeeds.push(this.calculateMonthWaterRawNeeds(profileType, index)); } + var calculateTotalNeeds = function calculateTotalNeeds(accumulator, currentValue) { return accumulator + currentValue; }; + var totalRawNeeds = rawNeeds.reduce(calculateTotalNeeds); var spreadConsumption = totalRawNeeds / (12 * 100) * _ecs.default.mensual_repartition[month - 1]; return Math.round(spreadConsumption); @@ -7169,6 +7422,7 @@ var ProfileTypeService = /*#__PURE__*/function () { * Calculate total ecs consumption by month * @returns {number} monthEcsConsumption */ + }, { key: "calculateTotalConsumption", value: function calculateTotalConsumption(spreadConsumption, profileType, month) { @@ -7177,6 +7431,7 @@ var ProfileTypeService = /*#__PURE__*/function () { var solarCoverage = _ecs.default.solar_coverage[month - 1]; var ecsConsumption = _ecs.default.coefficient_ecs_consumption * spreadConsumption / 1000 * (_ecs.default.hot_water_temperature - coldWaterTemperature) / efficiencyProduction; var monthEcsConsumption; + if (profileType.hotWaterEquipment === _enums.HotWaterEquipment.SOLAR) { monthEcsConsumption = ecsConsumption * (1 - solarCoverage); } else if (profileType.hotWaterEquipment === _enums.HotWaterEquipment.THERMODYNAMIC) { @@ -7184,12 +7439,14 @@ var ProfileTypeService = /*#__PURE__*/function () { } else { monthEcsConsumption = ecsConsumption; } + return Math.round(monthEcsConsumption); } /** * Get ECS consumption by month * @returns {number} monthEcsConsumption */ + }, { key: "getMonthEcs", value: function getMonthEcs(month) { @@ -7201,15 +7458,18 @@ var ProfileTypeService = /*#__PURE__*/function () { * Get cooking consumption by month * @returns {number} monthCookingConsumption */ + }, { key: "getMonthCookingConsumption", value: function getMonthCookingConsumption(month) { var annualCookingConsumption = this.profileType.occupantsNumber * _cooking.default.ratio_kw_per_person_per_year; + var nbDaysInMonth = _luxon.DateTime.fromObject({ month: month }).setZone('utc', { keepLocalTime: true }).daysInMonth; + var monthCookingConsumption = annualCookingConsumption / 365 * nbDaysInMonth; return Math.round(monthCookingConsumption); } @@ -7217,15 +7477,18 @@ var ProfileTypeService = /*#__PURE__*/function () { * Get specific electricity consumption by month * @returns {number} monthElectricSpecificConsumption */ + }, { key: "getMonthElectricSpecificConsumption", value: function getMonthElectricSpecificConsumption(month) { var annualElectricSpecificConsumption = _electricSpecific.default[this.profileType.housingType][this.profileType.constructionYear]; + var nbDaysInMonth = _luxon.DateTime.fromObject({ month: month }).setZone('utc', { keepLocalTime: true }).daysInMonth; + var monthElectricSpecificConsumption = annualElectricSpecificConsumption / 365 * nbDaysInMonth; return Math.round(monthElectricSpecificConsumption); } @@ -7233,19 +7496,24 @@ var ProfileTypeService = /*#__PURE__*/function () { * Get cold water consumption by month * @returns {number} monthColdWaterConsumption */ + }, { key: "getMonthColdWaterConsumption", value: function getMonthColdWaterConsumption(month) { var _this2 = this; + var occupantsNumberIndex = _coldWater.default.findIndex(function (waterNeeds) { return waterNeeds.occupants_number === _this2.profileType.occupantsNumber; }); + var coldWaterNeeds = _coldWater.default[occupantsNumberIndex].consumption_in_liter_per_day; + var nbDaysInMonth = _luxon.DateTime.fromObject({ month: month }).setZone('utc', { keepLocalTime: true }).daysInMonth; + var monthColdWaterConsumption = nbDaysInMonth * coldWaterNeeds; return Math.round(monthColdWaterConsumption); } @@ -7253,6 +7521,7 @@ var ProfileTypeService = /*#__PURE__*/function () { * getDetailsMonthlyForecast * @returns DetailsMonthlyForecast */ + }, { key: "getDetailsMonthlyForecast", value: function () { @@ -7272,33 +7541,43 @@ var ProfileTypeService = /*#__PURE__*/function () { electricSpecificConsumption: null, coldWaterConsumption: null }; + if (!(this.profileType.heating !== _enums.IndividualOrCollective.COLLECTIVE)) { _context4.next = 10; break; } + if (!(warmingFluid !== null && fluidType === warmingFluid)) { _context4.next = 9; break; } + _context4.next = 8; return this.getMonthHeating(month); + case 8: detailsMonthlyForecast.heatingConsumption = _context4.sent; + case 9: if (hotWaterFluid !== null && fluidType === hotWaterFluid) { detailsMonthlyForecast.ecsConsumption = this.getMonthEcs(month); } + case 10: if (fluidType === cookingFluid) { detailsMonthlyForecast.cookingConsumption = this.getMonthCookingConsumption(month); } + if (fluidType === _enums.FluidType.ELECTRICITY) { detailsMonthlyForecast.electricSpecificConsumption = this.getMonthElectricSpecificConsumption(month); } + if (fluidType === _enums.FluidType.WATER) { detailsMonthlyForecast.coldWaterConsumption = this.getMonthColdWaterConsumption(month); } + return _context4.abrupt("return", detailsMonthlyForecast); + case 14: case "end": return _context4.stop(); @@ -7306,9 +7585,11 @@ var ProfileTypeService = /*#__PURE__*/function () { } }, _callee4, this); })); + function getDetailsMonthlyForecast(_x5, _x6) { return _getDetailsMonthlyForecast.apply(this, arguments); } + return getDetailsMonthlyForecast; }() }, { @@ -7322,6 +7603,7 @@ var ProfileTypeService = /*#__PURE__*/function () { case 0: _context5.next = 2; return this.getDetailsMonthlyForecast(fluidType, month); + case 2: detailsMonthlyForecast = _context5.sent; fluidLoad = 0; @@ -7337,6 +7619,7 @@ var ProfileTypeService = /*#__PURE__*/function () { detailsMonthlyForecast: detailsMonthlyForecast }; return _context5.abrupt("return", fluidForecast); + case 9: case "end": return _context5.stop(); @@ -7344,15 +7627,18 @@ var ProfileTypeService = /*#__PURE__*/function () { } }, _callee5, this); })); + function getFluidForecast(_x7, _x8) { return _getFluidForecast.apply(this, arguments); } + return getFluidForecast; }() /** * getMonthlyForecast * @returns {Promise<MonthlyForecast>} MonthlyForecast */ + }, { key: "getMonthlyForecast", value: function () { @@ -7364,14 +7650,17 @@ var ProfileTypeService = /*#__PURE__*/function () { case 0: _context6.next = 2; return this.getFluidForecast(_enums.FluidType.ELECTRICITY, month); + case 2: elecForecast = _context6.sent; _context6.next = 5; return this.getFluidForecast(_enums.FluidType.WATER, month); + case 5: waterForecast = _context6.sent; _context6.next = 8; return this.getFluidForecast(_enums.FluidType.GAS, month); + case 8: gasForecast = _context6.sent; monthlyForecast = { @@ -7380,6 +7669,7 @@ var ProfileTypeService = /*#__PURE__*/function () { totalValue: elecForecast.value + waterForecast.value + gasForecast.value }; return _context6.abrupt("return", monthlyForecast); + case 11: case "end": return _context6.stop(); @@ -7387,15 +7677,18 @@ var ProfileTypeService = /*#__PURE__*/function () { } }, _callee6, this); })); + function getMonthlyForecast(_x9) { return _getMonthlyForecast.apply(this, arguments); } + return getMonthlyForecast; }() /** * Try to fetch dju from remote doctype, if no data or error, return default data * @returns {Promise<number>} monthDju */ + }], [{ key: "checkConsistency", value: @@ -7415,32 +7708,38 @@ var ProfileTypeService = /*#__PURE__*/function () { profileType.individualInsulationWork = []; profileType.facilitiesInstallation = []; } + if (profileType.hotWater === _enums.IndividualOrCollective.COLLECTIVE) { profileType.hotWaterFluid = null; profileType.hotWaterEquipment = _enums.HotWaterEquipment.OTHER; } } + if (profileType.constructionYear === _enums.ConstructionYear.AFTER_1998) { profileType.individualInsulationWork = [_enums.IndividualInsulationWork.NONE]; - } - // Remove potential metadata from already existing profileType in order + } // Remove potential metadata from already existing profileType in order // to create a new entry. Otherwise will update existing one. + + if (profileType._id) { delete profileType._id; delete profileType._rev; delete profileType._type; delete profileType.cozyMetadata; } + if (profileType.updateDate) { profileType.updateDate = profileType.updateDate.setZone('utc', { keepLocalTime: true }); } + return profileType; } }]); return ProfileTypeService; }(); + exports.default = ProfileTypeService; /***/ }), @@ -7897,50 +8196,78 @@ exports.default = PerformanceIndicatorService; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _challengeLocked = _interopRequireDefault(__webpack_require__("4XTx")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _challenge2 = __webpack_require__("F6Xr"); + var _hooks = __webpack_require__("Zlw4"); + var _utils = __webpack_require__("c+yx"); + var _ChallengeNoFluidModal = _interopRequireDefault(__webpack_require__("yaJd")); + __webpack_require__("j85Z"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ChallengeCardUnlocked = function ChallengeCardUnlocked(_ref) { var userChallenge = _ref.userChallenge; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - currentChallenge = _useAppSelector.challenge.currentChallenge, - _useAppSelector$globa = _useAppSelector.global, - fluidTypes = _useAppSelector$globa.fluidTypes, - fluidStatus = _useAppSelector$globa.fluidStatus; + return state.ecolyo; + }), + currentChallenge = _useAppSelector.challenge.currentChallenge, + _useAppSelector$globa = _useAppSelector.global, + fluidTypes = _useAppSelector$globa.fluidTypes, + fluidStatus = _useAppSelector$globa.fluidStatus; + var dispatch = (0, _hooks.useAppDispatch)(); + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - openNoFluidModal = _useState2[0], - setopenNoFluidModal = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + openNoFluidModal = _useState2[0], + setopenNoFluidModal = _useState2[1]; + var _useState3 = (0, _react.useState)(_challengeLocked.default), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - challengeIcon = _useState4[0], - setChallengeIcon = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + challengeIcon = _useState4[0], + setChallengeIcon = _useState4[1]; + var statusRequirementOk = false; var toggleNoFluidModal = (0, _react.useCallback)(function () { setopenNoFluidModal(function (prev) { @@ -7962,9 +8289,11 @@ var ChallengeCardUnlocked = function ChallengeCardUnlocked(_ref) { _context.next = 10; break; } + challengeService = new _challenge.default(client); _context.next = 4; return challengeService.startUserChallenge(userChallenge); + case 4: updatedChallenge = _context.sent; _context.next = 7; @@ -7972,12 +8301,15 @@ var ChallengeCardUnlocked = function ChallengeCardUnlocked(_ref) { type: _enums.UsageEventType.CHALLENGE_LAUNCH_EVENT, target: userChallenge.id }); + case 7: dispatch((0, _challenge2.updateUserChallengeList)(updatedChallenge)); _context.next = 11; break; + case 10: return _context.abrupt("return", toggleNoFluidModal()); + case 11: case "end": return _context.stop(); @@ -7989,6 +8321,7 @@ var ChallengeCardUnlocked = function ChallengeCardUnlocked(_ref) { function handleEcogestureIcon() { return _handleEcogestureIcon.apply(this, arguments); } + function _handleEcogestureIcon() { _handleEcogestureIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var icon; @@ -7998,11 +8331,14 @@ var ChallengeCardUnlocked = function ChallengeCardUnlocked(_ref) { case 0: _context2.next = 2; return (0, _utils.importIconById)(userChallenge.id, 'challenge'); + case 2: icon = _context2.sent; + if (icon) { setChallengeIcon(icon); } + case 4: case "end": return _context2.stop(); @@ -8012,6 +8348,7 @@ var ChallengeCardUnlocked = function ChallengeCardUnlocked(_ref) { })); return _handleEcogestureIcon.apply(this, arguments); } + if (userChallenge) { handleEcogestureIcon(); } @@ -8033,6 +8370,7 @@ var ChallengeCardUnlocked = function ChallengeCardUnlocked(_ref) { handleCloseClick: toggleNoFluidModal })); }; + var _default = ChallengeCardUnlocked; exports.default = _default; @@ -8075,25 +8413,36 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _SgeModalHint = _interopRequireDefault(__webpack_require__("Bpne")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var StepIdentityAndPdl = function StepIdentityAndPdl(_ref) { var sgeState = _ref.sgeState, - _onChange = _ref.onChange; + _onChange = _ref.onChange; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - openHintModal = _useState2[0], - setOpenHintModal = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + openHintModal = _useState2[0], + setOpenHintModal = _useState2[1]; + var toggleModal = (0, _react.useCallback)(function () { setOpenHintModal(function (prev) { return !prev; @@ -8154,6 +8503,7 @@ var StepIdentityAndPdl = function StepIdentityAndPdl(_ref) { handleCloseClick: toggleModal })); }; + var _default = StepIdentityAndPdl; exports.default = _default; @@ -9712,24 +10062,37 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _bill = _interopRequireDefault(__webpack_require__("BFvv")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _prm = _interopRequireDefault(__webpack_require__("+FuP")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var SgeModalHint = function SgeModalHint(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, disableEscapeKeyDown: true, @@ -9770,6 +10133,7 @@ var SgeModalHint = function SgeModalHint(_ref) { className: "btnPrimary" }, t('auth.enedissgegrandlyon.modalHint.button')))); }; + var _default = SgeModalHint; exports.default = _default; @@ -9975,41 +10339,61 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("RIqP")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE")); + var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _cozyClient = __webpack_require__("SH7X"); + var _doctypes = __webpack_require__("D2hQ"); + var _enums = __webpack_require__("gnxY"); + var _lodash = __webpack_require__("LvDl"); + var _luxon = __webpack_require__("ExVU"); + var _logger = _interopRequireDefault(__webpack_require__("gjtA")); + var _utils = __webpack_require__("c+yx"); + var _consumption = _interopRequireDefault(__webpack_require__("AVq/")); -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var QuizService = /*#__PURE__*/function () { function QuizService(_client) { (0, _classCallCheck2.default)(this, QuizService); (0, _defineProperty2.default)(this, "_client", void 0); this._client = _client; } - /** * Retrieve all quiz entities from db */ + + (0, _createClass2.default)(QuizService, [{ key: "getAllQuizEntities", value: function () { var _getAllQuizEntities = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var query, _yield$this$_client$q, quizs; + return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { @@ -10017,10 +10401,12 @@ var QuizService = /*#__PURE__*/function () { query = (0, _cozyClient.Q)(_doctypes.QUIZ_DOCTYPE); _context.next = 3; return this._client.query(query); + case 3: _yield$this$_client$q = _context.sent; quizs = _yield$this$_client$q.data; return _context.abrupt("return", quizs); + case 6: case "end": return _context.stop(); @@ -10028,20 +10414,24 @@ var QuizService = /*#__PURE__*/function () { } }, _callee, this); })); + function getAllQuizEntities() { return _getAllQuizEntities.apply(this, arguments); } + return getAllQuizEntities; }() /** * Retrieve quiz entities from db given the id * @param {string} quizId - ID of the searched quiz */ + }, { key: "getQuizEntityById", value: function () { var _getQuizEntityById = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(quizId) { var query, _yield$this$_client$q2, data; + return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { @@ -10051,10 +10441,12 @@ var QuizService = /*#__PURE__*/function () { }).limitBy(1); _context2.next = 3; return this._client.query(query); + case 3: _yield$this$_client$q2 = _context2.sent; data = _yield$this$_client$q2.data; return _context2.abrupt("return", data === null || data === void 0 ? void 0 : data[0]); + case 6: case "end": return _context2.stop(); @@ -10062,9 +10454,11 @@ var QuizService = /*#__PURE__*/function () { } }, _callee2, this); })); + function getQuizEntityById(_x) { return _getQuizEntityById.apply(this, arguments); } + return getQuizEntityById; }() /** @@ -10072,6 +10466,7 @@ var QuizService = /*#__PURE__*/function () { * @returns {boolean} - true when deleted with success * @throws {Error} */ + }, { key: "deleteAllQuizEntities", value: function () { @@ -10083,26 +10478,34 @@ var QuizService = /*#__PURE__*/function () { case 0: _context3.next = 2; return this.getAllQuizEntities(); + case 2: quizzes = _context3.sent; + if (!quizzes) { _context3.next = 11; break; } + index = 0; + case 5: if (!(index < quizzes.length)) { _context3.next = 11; break; } + _context3.next = 8; return this._client.destroy(quizzes[index]); + case 8: index++; _context3.next = 5; break; + case 11: return _context3.abrupt("return", true); + case 12: case "end": return _context3.stop(); @@ -10110,9 +10513,11 @@ var QuizService = /*#__PURE__*/function () { } }, _callee3, this); })); + function deleteAllQuizEntities() { return _deleteAllQuizEntities.apply(this, arguments); } + return deleteAllQuizEntities; }() /** @@ -10120,6 +10525,7 @@ var QuizService = /*#__PURE__*/function () { * @param {QuizEntity[]} quizEntityList - userQuiz to update * @param {string} searchId - userQuiz to update */ + }, { key: "getUserQuizfromQuizEntities", value: function getUserQuizfromQuizEntities(quizEntityList, searchId) { @@ -10139,52 +10545,59 @@ var QuizService = /*#__PURE__*/function () { startDate: null, result: 0 }; + if (quizEntityList.length > 0) { var quizEntityIndex = quizEntityList.findIndex(function (entity) { return entity.id === searchId; }); + if (quizEntityIndex >= 0) { var quizEntity = quizEntityList[quizEntityIndex]; quiz = this.parseQuizEntityToUserQuiz(quizEntity); } } + return quiz; } - /** * Return UserQuestion created from QuestionEntity */ + }, { key: "parseQuestionEntityToQuestion", value: function parseQuestionEntityToQuestion(question) { var userQuestion = _objectSpread(_objectSpread({}, question), {}, { result: _enums.UserQuestionState.UNLOCKED }); + return userQuestion; } - /** * Return UserCustomQuestion created from CustomQuestionEntity */ + }, { key: "parseCustomQuestionEntityToCustomQuestion", value: function parseCustomQuestionEntityToCustomQuestion(customQuestion) { var userCustomQuestion = _objectSpread(_objectSpread({}, customQuestion), {}, { result: _enums.UserQuestionState.UNLOCKED }); + return userCustomQuestion; } - /** * Return UserQuiz created from QuizEntity */ + }, { key: "parseQuizEntityToUserQuiz", value: function parseQuizEntityToUserQuiz(quiz) { var _this = this; + var userQuestions = []; quiz.questions.forEach(function (question) { var userQuestion = _this.parseQuestionEntityToQuestion(question); + userQuestions.push(userQuestion); }); var userCustomQuestion = this.parseCustomQuestionEntityToCustomQuestion(quiz.customQuestion); @@ -10200,11 +10613,11 @@ var QuizService = /*#__PURE__*/function () { }; return userQuiz; } - /** * Return quiz with updated state to UserQuizState.ONGOING and randomize question and answers * @param {UserQuiz} userQuiz - userQuiz to update */ + }, { key: "startUserQuiz", value: function () { @@ -10226,6 +10639,7 @@ var QuizService = /*#__PURE__*/function () { keepLocalTime: true }) })); + case 2: case "end": return _context4.stop(); @@ -10233,15 +10647,18 @@ var QuizService = /*#__PURE__*/function () { } }, _callee4); })); + function startUserQuiz(_x2) { return _startUserQuiz.apply(this, arguments); } + return startUserQuiz; }() /** * Return quiz with updated state to UserQuizState.UNLOCKED and updated questions with false result * @param {UserQuiz} userQuiz - userQuiz to update */ + }, { key: "resetUserQuiz", value: function () { @@ -10265,6 +10682,7 @@ var QuizService = /*#__PURE__*/function () { result: 0, state: _enums.UserQuizState.UNLOCKED })); + case 3: case "end": return _context5.stop(); @@ -10272,15 +10690,18 @@ var QuizService = /*#__PURE__*/function () { } }, _callee5); })); + function resetUserQuiz(_x3) { return _resetUserQuiz.apply(this, arguments); } + return resetUserQuiz; }() /** * Return quiz with updated state to UserQuizState.DONE * @param {UserQuiz} userQuiz - userQuiz to update */ + }, { key: "endUserQuiz", value: function () { @@ -10294,6 +10715,7 @@ var QuizService = /*#__PURE__*/function () { state: _enums.UserQuizState.DONE }); return _context6.abrupt("return", updatedUserQuiz); + case 2: case "end": return _context6.stop(); @@ -10301,15 +10723,18 @@ var QuizService = /*#__PURE__*/function () { } }, _callee6); })); + function endUserQuiz(_x4) { return _endUserQuiz.apply(this, arguments); } + return endUserQuiz; }() /** * Return quiz with result and updated question or customQuestion if no index is passed * @param {UserQuiz} userQuiz - userQuiz to update */ + }, { key: "updateUserQuiz", value: function () { @@ -10326,6 +10751,7 @@ var QuizService = /*#__PURE__*/function () { result: result }); } + return question; }); updatedCustomQuestion = _objectSpread(_objectSpread({}, userQuiz.customQuestion), {}, { @@ -10336,6 +10762,7 @@ var QuizService = /*#__PURE__*/function () { customQuestion: questionIndex === undefined ? updatedCustomQuestion : userQuiz.customQuestion, result: questionResult ? Math.min(userQuiz.result + 1, 5) : userQuiz.result })); + case 4: case "end": return _context7.stop(); @@ -10343,14 +10770,17 @@ var QuizService = /*#__PURE__*/function () { } }, _callee7); })); + function updateUserQuiz(_x5, _x6, _x7) { return _updateUserQuiz.apply(this, arguments); } + return updateUserQuiz; }() /** * Build a custom question with the customQuestionEntity */ + }, { key: "getCustomQuestion", value: function () { @@ -10365,9 +10795,11 @@ var QuizService = /*#__PURE__*/function () { useFluidType = fluidType; questionLabel = customQuestionEntity.questionLabel; unit = '€'; + if (customQuestionEntity.singleFluid === true) { unitLabel = 'kWh'; fluidLabel = "d'électricité"; // Define the right fluidType + if (fluidType.includes(_enums.FluidType.ELECTRICITY)) { useFluidType = [_enums.FluidType.ELECTRICITY]; unit = 'kWh'; @@ -10380,43 +10812,53 @@ var QuizService = /*#__PURE__*/function () { unit = 'L'; unitLabel = 'litre'; fluidLabel = "d'eau"; - } - // Adapt the question + } // Adapt the question + + questionLabel = questionLabel.replace('#unit', unitLabel); questionLabel = questionLabel.replace('#fluid', fluidLabel); } + if (!(customQuestionEntity.type === _enums.CustomQuestionType.DATE)) { _context8.next = 13; break; } + _context8.next = 9; return this.getMaxLoadOnLastInterval(customQuestionEntity.timeStep, finalInterval, useFluidType); + case 9: intervalAsnwer = _context8.sent; answers = this.getAnswersForInterval(intervalAsnwer.date, customQuestionEntity.timeStep, finalInterval); _context8.next = 26; break; + case 13: if (!(customQuestionEntity.type === _enums.CustomQuestionType.MAXDATA)) { _context8.next = 22; break; } + // Max data consumptionService = new _consumption.default(this._client); _context8.next = 17; return consumptionService.getMaxLoad(finalInterval, customQuestionEntity.timeStep, useFluidType, undefined, !customQuestionEntity.singleFluid); + case 17: maxLoad = _context8.sent; maxLoad = maxLoad === null ? 0 : maxLoad; answers = this.getAnswersForNumberValue(maxLoad, unit); _context8.next = 26; break; + case 22: _context8.next = 24; return this.getAverageOnGivenPeriod(customQuestionEntity.timeStep, finalInterval, useFluidType, customQuestionEntity.period.weekday ? customQuestionEntity.period.weekday : undefined, customQuestionEntity.singleFluid); + case 24: averageLoad = _context8.sent; answers = this.getAnswersForNumberValue(averageLoad, unit); + case 26: finalQuestion = { questionLabel: questionLabel, @@ -10425,6 +10867,7 @@ var QuizService = /*#__PURE__*/function () { source: '' }; return _context8.abrupt("return", finalQuestion); + case 28: case "end": return _context8.stop(); @@ -10432,23 +10875,28 @@ var QuizService = /*#__PURE__*/function () { } }, _callee8, this); })); + function getCustomQuestion(_x8, _x9) { return _getCustomQuestion.apply(this, arguments); } + return getCustomQuestion; }() /** * Get the interval needed for the further calculs */ + }, { key: "getTimePeriodFromInterval", value: function getTimePeriodFromInterval(interval, period) { var today = _luxon.DateTime.local().setZone('utc', { keepLocalTime: true }); + var startTime = today; var endTime = today; var isPeriod = Object.keys(period).length !== 0; + switch (interval) { case _enums.TimeStep.WEEK: startTime = isPeriod ? _luxon.DateTime.fromObject(period).startOf('week') : today.startOf('week').minus({ @@ -10458,6 +10906,7 @@ var QuizService = /*#__PURE__*/function () { week: 1 }); break; + case _enums.TimeStep.MONTH: startTime = isPeriod ? _luxon.DateTime.fromObject(period).startOf('month') : today.startOf('month').minus({ month: 1 @@ -10466,6 +10915,7 @@ var QuizService = /*#__PURE__*/function () { month: 1 }); break; + case _enums.TimeStep.YEAR: startTime = isPeriod ? _luxon.DateTime.fromObject(period).startOf('year') : today.startOf('year').minus({ year: 1 @@ -10475,24 +10925,27 @@ var QuizService = /*#__PURE__*/function () { }); break; } + var timePeriod = { startDate: startTime, endDate: endTime }; return timePeriod; } - /** * Finds max load on given past time period * when no max load is found looks x month/year back for a max value * if nothing is found fall back on most recent data */ + }, { key: "getMaxLoadOnLastInterval", value: function () { var _getMaxLoadOnLastInterval = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(timeStep, interval, fluidType) { var _graphData; + var dateMax, max, consumptionService, limit, graphData, _graphData4, newInterval, objectTimeStep, _graphData2, _graphData3, _newInterval; + return _regenerator.default.wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { @@ -10508,65 +10961,80 @@ var QuizService = /*#__PURE__*/function () { }; _context9.next = 6; return consumptionService.getGraphData(interval, timeStep, fluidType); + case 6: graphData = _context9.sent; + if (!((_graphData = graphData) !== null && _graphData !== void 0 && _graphData.actualData)) { _context9.next = 34; break; } + max = Math.max.apply(Math, (0, _toConsumableArray2.default)(graphData.actualData.map(function (d) { return d.value; }))); + if (!(max == -1)) { _context9.next = 28; break; } + newInterval = _objectSpread({}, interval); _context9.t0 = timeStep; _context9.next = _context9.t0 === _enums.TimeStep.MONTH ? 14 : _context9.t0 === _enums.TimeStep.YEAR ? 16 : 18; break; + case 14: objectTimeStep = { month: 1 }; return _context9.abrupt("break", 19); + case 16: objectTimeStep = { year: 1 }; return _context9.abrupt("break", 19); + case 18: objectTimeStep = { week: 1 }; + case 19: newInterval.startDate = newInterval.startDate.minus(objectTimeStep); newInterval.endDate = newInterval.endDate.minus(objectTimeStep); limit.date = newInterval.startDate; _context9.next = 24; return consumptionService.getGraphData(newInterval, timeStep, fluidType); + case 24: graphData = _context9.sent; + if (limit.date < _luxon.DateTime.now().minus({ year: 5 })) { limit.reached = true; } + if ((_graphData3 = graphData) !== null && _graphData3 !== void 0 && _graphData3.actualData) { max = Math.max.apply(Math, (0, _toConsumableArray2.default)(graphData.actualData.map(function (d) { return d.value; }))); } + case 27: if (max == -1 && (_graphData2 = graphData) !== null && _graphData2 !== void 0 && _graphData2.actualData && !limit.reached) { _context9.next = 19; break; } + case 28: if (!limit.reached) { _context9.next = 33; break; } + _newInterval = { startDate: _luxon.DateTime.local().setZone('utc', { keepLocalTime: true @@ -10579,8 +11047,10 @@ var QuizService = /*#__PURE__*/function () { }; _context9.next = 32; return consumptionService.getGraphData(_newInterval, timeStep, fluidType); + case 32: graphData = _context9.sent; + case 33: if ((_graphData4 = graphData) !== null && _graphData4 !== void 0 && _graphData4.actualData) { max = Math.max.apply(Math, (0, _toConsumableArray2.default)(graphData.actualData.map(function (d) { @@ -10590,11 +11060,13 @@ var QuizService = /*#__PURE__*/function () { if (d.value === max) dateMax = d.date; }); } + case 34: return _context9.abrupt("return", { date: dateMax, value: max }); + case 35: case "end": return _context9.stop(); @@ -10602,14 +11074,17 @@ var QuizService = /*#__PURE__*/function () { } }, _callee9, this); })); + function getMaxLoadOnLastInterval(_x10, _x11, _x12) { return _getMaxLoadOnLastInterval.apply(this, arguments); } + return getMaxLoadOnLastInterval; }() /** * Calcul the average value on a given period */ + }, { key: "getAverageOnGivenPeriod", value: function () { @@ -10620,12 +11095,16 @@ var QuizService = /*#__PURE__*/function () { switch (_context10.prev = _context10.next) { case 0: consumptionService = new _consumption.default(this._client); + _logger.default.info('GetAverageOnGivenPeriod is about to call getgraphdata'); + _context10.next = 4; return consumptionService.getGraphData(interval, timeStep, fluidType, undefined, undefined, !singleFluid); + case 4: graphData = _context10.sent; average = 0; + if (graphData !== null && graphData !== void 0 && graphData.actualData) { total = 0; length = 0; @@ -10641,12 +11120,15 @@ var QuizService = /*#__PURE__*/function () { if (d.value >= 0) { total += d.value; } + length += 1; } }); average = total / length; } + return _context10.abrupt("return", average); + case 8: case "end": return _context10.stop(); @@ -10654,18 +11136,22 @@ var QuizService = /*#__PURE__*/function () { } }, _callee10, this); })); + function getAverageOnGivenPeriod(_x13, _x14, _x15, _x16, _x17) { return _getAverageOnGivenPeriod.apply(this, arguments); } + return getAverageOnGivenPeriod; }() /** * Generate wrong date answer following the right one */ + }, { key: "getAnswersForInterval", value: function getAnswersForInterval(rightDate, timeStep, interval) { var wrongAnswer = [1, -1]; + switch (timeStep) { case _enums.TimeStep.MONTH: if (rightDate.month === interval.startDate.month) { @@ -10673,6 +11159,7 @@ var QuizService = /*#__PURE__*/function () { } else if (rightDate.month === interval.endDate.month) { wrongAnswer = [-1, -2]; } + return [{ answerLabel: rightDate.setLocale('fr-FR').toLocaleString({ month: 'long', @@ -10696,6 +11183,7 @@ var QuizService = /*#__PURE__*/function () { }), isTrue: false }]; + case _enums.TimeStep.DAY: case _enums.TimeStep.WEEK: default: @@ -10704,6 +11192,7 @@ var QuizService = /*#__PURE__*/function () { } else if (rightDate.day === interval.endDate.day) { wrongAnswer = [-1, -2]; } + return [{ answerLabel: rightDate.setLocale('fr-FR').toLocaleString({ month: 'long', @@ -10732,23 +11221,25 @@ var QuizService = /*#__PURE__*/function () { }]; } } - /** * Generate wrong value answer following the right one */ + }, { key: "getAnswersForNumberValue", value: function getAnswersForNumberValue(maxLoad, unit) { - var coefList = [0.6, 0.7, 0.8, 0.12, 0.13]; - // Pick a random number in the coefList and remove it from array + var coefList = [0.6, 0.7, 0.8, 0.12, 0.13]; // Pick a random number in the coefList and remove it from array + var index1 = Math.floor(Math.random() * coefList.length); // NOSONAR + var roll = coefList.splice(index1, 1); - var coef1 = roll[0]; - // Pick a second number in the coefList + var coef1 = roll[0]; // Pick a second number in the coefList + var index2 = Math.floor(Math.random() * coefList.length); // NOSONAR + var roll2 = coefList.splice(index2, 1); - var coef2 = roll2[0]; - // Format answers + var coef2 = roll2[0]; // Format answers + var load = Math.round(maxLoad * 100) / 100; var wrongAnswer1 = Math.round(load * coef1 * 100) / 100; var wrongAnswer2 = Math.round(load * coef2 * 100) / 100; @@ -10766,6 +11257,7 @@ var QuizService = /*#__PURE__*/function () { }]); return QuizService; }(); + exports.default = QuizService; /***/ }), @@ -12266,23 +12758,35 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _LegalNoticeContent = _interopRequireDefault(__webpack_require__("1s7e")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("7kNj"); + var LegalNoticeModal = function LegalNoticeModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -12306,6 +12810,7 @@ var LegalNoticeModal = function LegalNoticeModal(_ref) { className: "btnPrimary" }, t('legal.accessibility.button_close'))); }; + var _default = LegalNoticeModal; exports.default = _default; @@ -13229,64 +13734,93 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _terms = _interopRequireDefault(__webpack_require__("wPjT")); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + var _CGUModal = _interopRequireDefault(__webpack_require__("/KKD")); + var _DataShareConsentContent = _interopRequireDefault(__webpack_require__("JY/7")); + var _LegalNoticeModal = _interopRequireDefault(__webpack_require__("EOiG")); + var _MinorUpdateContent = _interopRequireDefault(__webpack_require__("GRKY")); + __webpack_require__("7kNj"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var TermsView = function TermsView() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var navigate = (0, _reactRouterDom.useNavigate)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - termsStatus = _useAppSelector.termsStatus; + return state.ecolyo.global; + }), + termsStatus = _useAppSelector.termsStatus; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - GCUValidation = _useState2[0], - setGCUValidation = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + GCUValidation = _useState2[0], + setGCUValidation = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - dataConsentValidation = _useState4[0], - setDataConsentValidation = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + dataConsentValidation = _useState4[0], + setDataConsentValidation = _useState4[1]; + var _useState5 = (0, _react.useState)(false), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - openCGUModal = _useState6[0], - setOpenCGUModal = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + openCGUModal = _useState6[0], + setOpenCGUModal = _useState6[1]; + var _useState7 = (0, _react.useState)(false), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - openLegalNoticeModal = _useState8[0], - setOpenLegalNoticeModal = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + openLegalNoticeModal = _useState8[0], + setOpenLegalNoticeModal = _useState8[1]; + var toggleCGUModal = function toggleCGUModal() { setOpenCGUModal(function (prev) { return !prev; }); }; + var toggleLegalNoticeModal = function toggleLegalNoticeModal() { setOpenLegalNoticeModal(function (prev) { return !prev; }); }; + var handleGCUValidate = (0, _react.useCallback)(function () { setGCUValidation(function (prev) { return !prev; @@ -13306,16 +13840,20 @@ var TermsView = function TermsView() { termsService = new _terms.default(client); _context.next = 3; return termsService.createTerm(); + case 3: createdTerm = _context.sent; + if (!createdTerm) { _context.next = 13; break; } + _context.t0 = dispatch; _context.t1 = _global.updateTermsStatus; _context.next = 9; return termsService.getTermsVersionType(); + case 9: _context.t2 = _context.sent; _context.t3 = { @@ -13324,8 +13862,10 @@ var TermsView = function TermsView() { }; _context.t4 = (0, _context.t1)(_context.t3); (0, _context.t0)(_context.t4); + case 13: navigate('/consumption'); + case 14: case "end": return _context.stop(); @@ -13392,6 +13932,7 @@ var TermsView = function TermsView() { handleCloseClick: toggleLegalNoticeModal })); }; + var _default = TermsView; exports.default = _default; @@ -13425,6 +13966,12 @@ var ConfigService = /*#__PURE__*/function () { key: "getFluidConfig", value: function getFluidConfig() { return _config.default.fluidConfig; + } // Wrapping Math.random for testing purposes + + }, { + key: "random", + value: function random() { + return Math.random(); } /** * @@ -13437,11 +13984,13 @@ var ConfigService = /*#__PURE__*/function () { value: function getCronArgs() { var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8; var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 9; - var randomHour = Math.floor(Math.random() * (max - min + 1) + min); // NOSONAR + var randomHour = Math.floor(this.random() * (max - min + 1) + min); // NOSONAR - var randomMinutes = Math.floor(Math.random() * 59); // NOSONAR + var randomMinutes = Math.floor(this.random() * 60); // NOSONAR - return "0 ".concat(randomMinutes, " ").concat(randomHour, " * * *"); + var randomSeconds = Math.floor(this.random() * 60); // NOSONAR + + return "".concat(randomSeconds, " ").concat(randomMinutes, " ").concat(randomHour, " * * *"); } }]); return ConfigService; @@ -13731,45 +14280,66 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _challengeWon = _interopRequireDefault(__webpack_require__("BJRm")); + var _default2 = _interopRequireDefault(__webpack_require__("GwKf")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("FE9p"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var DuelResultModal = function DuelResultModal(_ref) { var open = _ref.open, - userChallenge = _ref.userChallenge, - win = _ref.win, - handleCloseClick = _ref.handleCloseClick; + userChallenge = _ref.userChallenge, + win = _ref.win, + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(_default2.default), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - winIcon = _useState2[0], - setWinIcon = _useState2[1]; + _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]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + lossIcon = _useState4[0], + setLossIcon = _useState4[1]; + var result = (0, _utils.formatNumberValues)(Math.abs(userChallenge.duel.threshold - userChallenge.duel.userConsumption)); var statusKey = win ? 'success' : 'lost'; (0, _react.useEffect)(function () { function handleEcogestureIcon() { return _handleEcogestureIcon.apply(this, arguments); } + function _handleEcogestureIcon() { _handleEcogestureIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var icon, icon2; @@ -13779,14 +14349,17 @@ var DuelResultModal = function DuelResultModal(_ref) { case 0: _context.next = 2; return (0, _utils.importIconById)(userChallenge.id + '-1', '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: case "end": return _context.stop(); @@ -13796,6 +14369,7 @@ var DuelResultModal = function DuelResultModal(_ref) { })); return _handleEcogestureIcon.apply(this, arguments); } + handleEcogestureIcon(); }, [userChallenge]); return /*#__PURE__*/_react.default.createElement(_Dialog.default, { @@ -13836,6 +14410,7 @@ var DuelResultModal = function DuelResultModal(_ref) { onClick: handleCloseClick }, t("duel_result_modal.".concat(statusKey, ".button_validate"))))); }; + var _default = DuelResultModal; exports.default = _default; @@ -14200,22 +14775,33 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("bsbo"); + var EcogestureSelectionModal = function EcogestureSelectionModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -14245,6 +14831,7 @@ var EcogestureSelectionModal = function EcogestureSelectionModal(_ref) { className: "btnPrimary" }, t('ecogesture_selection.selectionModal.button_close')))); }; + var _default = EcogestureSelectionModal; exports.default = _default; @@ -15122,18 +15709,26 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("k45u"); + var ExplorationError = function ExplorationError() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); return /*#__PURE__*/_react.default.createElement("div", { className: "exploration-error-container" @@ -15149,6 +15744,7 @@ var ExplorationError = function ExplorationError() { className: "btnSecondary" }, t('exploration.button_go_back')))); }; + var _default = ExplorationError; exports.default = _default; @@ -16283,36 +16879,55 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _default2 = _interopRequireDefault(__webpack_require__("GwKf")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("ZA3r"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var DuelEmptyValueModal = function DuelEmptyValueModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(_default2.default), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - emptyIcon = _useState2[0], - setEmptyIcon = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + emptyIcon = _useState2[0], + setEmptyIcon = _useState2[1]; + (0, _react.useEffect)(function () { function handleEcogestureIcon() { return _handleEcogestureIcon.apply(this, arguments); } + function _handleEcogestureIcon() { _handleEcogestureIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var icon; @@ -16322,9 +16937,11 @@ var DuelEmptyValueModal = function DuelEmptyValueModal(_ref) { case 0: _context.next = 2; return (0, _utils.importIconById)('emptyValue', 'duel'); + case 2: icon = _context.sent; setEmptyIcon(icon || _default2.default); + case 4: case "end": return _context.stop(); @@ -16334,6 +16951,7 @@ var DuelEmptyValueModal = function DuelEmptyValueModal(_ref) { })); return _handleEcogestureIcon.apply(this, arguments); } + handleEcogestureIcon(); }, []); return /*#__PURE__*/_react.default.createElement(_Dialog.default, { @@ -16362,6 +16980,7 @@ var DuelEmptyValueModal = function DuelEmptyValueModal(_ref) { className: "btnSecondary" }, t('duel_empty_value_modal.button')))); }; + var _default = DuelEmptyValueModal; exports.default = _default; @@ -16458,7 +17077,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.theme = void 0; + var _core = __webpack_require__("TTf+"); + var theme = (0, _core.createTheme)({ palette: { type: 'dark' @@ -16532,39 +17153,64 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _CHALLENGE = _interopRequireDefault(__webpack_require__("agKi")); + var _default2 = _interopRequireDefault(__webpack_require__("sbny")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _challenge2 = __webpack_require__("F6Xr"); + var _hooks = __webpack_require__("Zlw4"); + var _utils = __webpack_require__("c+yx"); + __webpack_require__("+XsA"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var DuelUnlocked = function DuelUnlocked(_ref) { var userChallenge = _ref.userChallenge; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useState = (0, _react.useState)(_default2.default), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - duelIcon = _useState2[0], - setDuelIcon = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + duelIcon = _useState2[0], + setDuelIcon = _useState2[1]; + var average = (0, _utils.formatNumberValues)(userChallenge.duel.threshold).toString(); var duration = userChallenge.duel.duration.days.toString(); var description = userChallenge.duel.description.replace('#CONSUMPTION', average).replace('#DURATION', duration); @@ -16577,10 +17223,12 @@ var DuelUnlocked = function DuelUnlocked(_ref) { challengeService = new _challenge.default(client); _context.next = 3; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.DUEL_START); + case 3: updatedChallenge = _context.sent; _context.next = 6; return challengeService.getUserChallengeDataload(updatedChallenge); + case 6: dataloads = _context.sent; _context.next = 9; @@ -16589,11 +17237,13 @@ var DuelUnlocked = function DuelUnlocked(_ref) { target: userChallenge.duel.id, context: userChallenge.id }); + case 9: dispatch((0, _challenge2.setChallengeConsumption)({ userChallenge: updatedChallenge, currentDataload: dataloads })); + case 10: case "end": return _context.stop(); @@ -16605,6 +17255,7 @@ var DuelUnlocked = function DuelUnlocked(_ref) { function handleEcogestureIcon() { return _handleEcogestureIcon.apply(this, arguments); } + function _handleEcogestureIcon() { _handleEcogestureIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var icon; @@ -16614,9 +17265,11 @@ var DuelUnlocked = function DuelUnlocked(_ref) { case 0: _context2.next = 2; return (0, _utils.importIconById)(userChallenge.id, 'challenge'); + case 2: icon = _context2.sent; setDuelIcon(icon || _CHALLENGE.default); + case 4: case "end": return _context2.stop(); @@ -16626,6 +17279,7 @@ var DuelUnlocked = function DuelUnlocked(_ref) { })); return _handleEcogestureIcon.apply(this, arguments); } + handleEcogestureIcon(); }, [userChallenge]); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { @@ -16651,6 +17305,7 @@ var DuelUnlocked = function DuelUnlocked(_ref) { className: "btnSecondary" }, t('duel.button_start'))))); }; + var _default = DuelUnlocked; exports.default = _default; @@ -16774,57 +17429,85 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _StyledIconButton = _interopRequireDefault(__webpack_require__("jZ8W")); + var _QuizExplanationModal = _interopRequireDefault(__webpack_require__("jPFj")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _quiz = _interopRequireDefault(__webpack_require__("CUhI")); + var _challenge2 = __webpack_require__("F6Xr"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("4hre"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var QuizQuestionContent = function QuizQuestionContent(_ref) { var userChallenge = _ref.userChallenge, - setIsCustomQuest = _ref.setIsCustomQuest, - goBack = _ref.goBack; + setIsCustomQuest = _ref.setIsCustomQuest, + goBack = _ref.goBack; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); var questionIndexLocked = userChallenge.quiz.questions.findIndex(function (answer) { return answer.result == 0; }); + var _useState = (0, _react.useState)(''), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - userChoice = _useState2[0], - setUserChoice = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + userChoice = _useState2[0], + setUserChoice = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - openModal = _useState4[0], - setOpenModal = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + openModal = _useState4[0], + setOpenModal = _useState4[1]; + var _useState5 = (0, _react.useState)(0), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - answerIndex = _useState6[0], - setAnswerIndex = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + answerIndex = _useState6[0], + setAnswerIndex = _useState6[1]; + var _useState7 = (0, _react.useState)(questionIndexLocked), - _useState8 = (0, _slicedToArray2.default)(_useState7, 2), - questionIndex = _useState8[0], - setQuestionIndex = _useState8[1]; + _useState8 = (0, _slicedToArray2.default)(_useState7, 2), + questionIndex = _useState8[0], + setQuestionIndex = _useState8[1]; + var quizService = new _quiz.default(client); var challengeService = new _challenge.default(client); + var validateQuestion = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var resultIndex, result, quizUpdated, userChallengeUpdated; @@ -16842,13 +17525,16 @@ var QuizQuestionContent = function QuizQuestionContent(_ref) { setOpenModal(true); _context.next = 6; return quizService.updateUserQuiz(userChallenge.quiz, result[0].isTrue, questionIndex); + case 6: quizUpdated = _context.sent; _context.next = 9; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.QUIZ_UPDATE, quizUpdated); + case 9: userChallengeUpdated = _context.sent; dispatch((0, _challenge2.updateUserChallengeList)(userChallengeUpdated)); + case 11: case "end": return _context.stop(); @@ -16856,19 +17542,24 @@ var QuizQuestionContent = function QuizQuestionContent(_ref) { } }, _callee); })); + return function validateQuestion() { return _ref2.apply(this, arguments); }; }(); + var handleChange = function handleChange(e) { setUserChoice(e.target.value); }; + var goNextQuestion = (0, _react.useCallback)(function () { setUserChoice(''); setOpenModal(false); + if (questionIndex === userChallenge.quiz.questions.length - 1) { setIsCustomQuest(true); } + if (questionIndex !== userChallenge.quiz.questions.length - 1) { setQuestionIndex(questionIndex + 1); } @@ -16914,6 +17605,7 @@ var QuizQuestionContent = function QuizQuestionContent(_ref) { } })); }; + var _default = QuizQuestionContent; exports.default = _default; @@ -17718,20 +18410,30 @@ module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8," var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("Llbj"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var DuelError = function DuelError() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); var goBack = (0, _react.useCallback)(function () { navigate(-1); @@ -17748,6 +18450,7 @@ var DuelError = function DuelError() { className: "btnSecondary" }, t('duel.button_go_back')))); }; + var _default = DuelError; exports.default = _default; @@ -19458,22 +20161,33 @@ exports.default = ConsumptionValidatorService; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _ECOGESTURE = _interopRequireDefault(__webpack_require__("tJ5P")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("xhJn"); + var EcogestureSelectionRestart = function EcogestureSelectionRestart(_ref) { var listLength = _ref.listLength, - restart = _ref.restart; + restart = _ref.restart; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); return /*#__PURE__*/_react.default.createElement("div", { className: "eg-selection-restart-container" @@ -19502,6 +20216,7 @@ var EcogestureSelectionRestart = function EcogestureSelectionRestart(_ref) { onClick: restart }, t('ecogesture_selection.button_continue')))); }; + var _default = EcogestureSelectionRestart; exports.default = _default; @@ -19785,58 +20500,88 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _IconButton = _interopRequireDefault(__webpack_require__("o6Jd")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _default2 = _interopRequireDefault(__webpack_require__("v9Ot")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _useExploration3 = _interopRequireDefault(__webpack_require__("sU2c")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _hooks = __webpack_require__("Zlw4"); + var _picto = __webpack_require__("6DBe"); + var _utils = __webpack_require__("c+yx"); + var _EfficiencyRating = _interopRequireDefault(__webpack_require__("lZQH")); + __webpack_require__("Ozma"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var EcogestureModal = function EcogestureModal(_ref) { var open = _ref.open, - ecogesture = _ref.ecogesture, - isAction = _ref.isAction, - handleCloseClick = _ref.handleCloseClick, - selectEcogesture = _ref.selectEcogesture; + ecogesture = _ref.ecogesture, + isAction = _ref.isAction, + handleCloseClick = _ref.handleCloseClick, + selectEcogesture = _ref.selectEcogesture; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.challenge; - }), - currentChallenge = _useAppSelector.currentChallenge; + return state.ecolyo.challenge; + }), + currentChallenge = _useAppSelector.currentChallenge; + var _useState = (0, _react.useState)(''), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - ecogestureIcon = _useState2[0], - setEcogestureIcon = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + ecogestureIcon = _useState2[0], + setEcogestureIcon = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - showDetails = _useState4[0], - setShowDetails = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + showDetails = _useState4[0], + setShowDetails = _useState4[1]; + var _useExploration = (0, _useExploration3.default)(), - _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), - setValidExploration = _useExploration2[1]; + _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), + setValidExploration = _useExploration2[1]; + (0, _react.useEffect)(function () { function handleEcogestureIcon() { return _handleEcogestureIcon.apply(this, arguments); } + function _handleEcogestureIcon() { _handleEcogestureIcon = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var icon; @@ -19846,12 +20591,15 @@ var EcogestureModal = function EcogestureModal(_ref) { case 0: _context.next = 2; return (0, _utils.importIconById)(ecogesture.id, 'ecogesture'); + case 2: icon = _context.sent; setEcogestureIcon(icon || _default2.default); + if ((currentChallenge === null || currentChallenge === void 0 ? void 0 : currentChallenge.exploration.ecogesture_id) === ecogesture._id) { setValidExploration(currentChallenge.exploration.id); } + case 5: case "end": return _context.stop(); @@ -19861,6 +20609,7 @@ var EcogestureModal = function EcogestureModal(_ref) { })); return _handleEcogestureIcon.apply(this, arguments); } + if (ecogesture) { handleEcogestureIcon(); } @@ -19934,6 +20683,7 @@ var EcogestureModal = function EcogestureModal(_ref) { className: "btnSecondary" }, t("ecogesture_modal.show_".concat(showDetails ? 'less' : 'more'))))))); }; + var _default = EcogestureModal; exports.default = _default; @@ -20783,22 +21533,33 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("vzLI"); + var EcogestureLaunchFormModal = function EcogestureLaunchFormModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleCloseClick, @@ -20828,6 +21589,7 @@ var EcogestureLaunchFormModal = function EcogestureLaunchFormModal(_ref) { className: "btnPrimary" }, t('ecogesture.initModal.btn2')))); }; + var _default = EcogestureLaunchFormModal; exports.default = _default; @@ -20907,45 +21669,69 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _IconButton = _interopRequireDefault(__webpack_require__("o6Jd")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _ecolyo = _interopRequireDefault(__webpack_require__("nyyM")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _useExploration3 = _interopRequireDefault(__webpack_require__("sU2c")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _hooks = __webpack_require__("Zlw4"); + var _modal = __webpack_require__("oKH6"); + __webpack_require__("K//6"); + var FeedbackModal = function FeedbackModal() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.modal; - }), - isFeedbacksOpen = _useAppSelector.isFeedbacksOpen; + return state.ecolyo.modal; + }), + isFeedbacksOpen = _useAppSelector.isFeedbacksOpen; + var _useExploration = (0, _useExploration3.default)(), - _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), - setValidExploration = _useExploration2[1]; + _useExploration2 = (0, _slicedToArray2.default)(_useExploration, 2), + setValidExploration = _useExploration2[1]; + var closeModal = function closeModal() { dispatch((0, _modal.openFeedbackModal)(false)); }; + var goToSAU = function goToSAU() { setValidExploration(_enums.UserExplorationID.EXPLORATION005); window.open("".concat("https://portail-citoyen-sau.guichet-recette.grandlyon.com/ecolyo/", "?version=").concat(client.appMetadata.version)); }; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: isFeedbacksOpen, onClose: function onClose() { @@ -20988,6 +21774,7 @@ var FeedbackModal = function FeedbackModal() { className: "btnPrimary" }, t('feedback.lets_go'))))); }; + var _default = FeedbackModal; exports.default = _default; @@ -25463,17 +26250,23 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var StepConsent = function StepConsent(_ref) { var sgeState = _ref.sgeState, - _onChange = _ref.onChange; + _onChange = _ref.onChange; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement("div", { className: "sge-step-container stepConsent" }, /*#__PURE__*/_react.default.createElement("div", { @@ -25514,6 +26307,7 @@ var StepConsent = function StepConsent(_ref) { } }))); }; + var _default = StepConsent; exports.default = _default; @@ -25526,33 +26320,49 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _correctAnswer = _interopRequireDefault(__webpack_require__("VzTd")); + var _wrongAnswer = _interopRequireDefault(__webpack_require__("NLGX")); + var _I18n = __webpack_require__("buk/"); + var _Icon = _interopRequireDefault(__webpack_require__("y6ex")); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + __webpack_require__("naal"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var QuizExplanationModal = function QuizExplanationModal(_ref) { var open = _ref.open, - answerIndex = _ref.answerIndex, - question = _ref.question, - goNext = _ref.goNext, - handleCloseClick = _ref.handleCloseClick; + answerIndex = _ref.answerIndex, + question = _ref.question, + goNext = _ref.goNext, + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useState = (0, _react.useState)(0), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - validAnswer = _useState2[0], - setValidAnswer = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + validAnswer = _useState2[0], + setValidAnswer = _useState2[1]; + (0, _react.useEffect)(function () { if (question) { var resultIndex = question.answers.findIndex(function (answer) { @@ -25593,6 +26403,7 @@ var QuizExplanationModal = function QuizExplanationModal(_ref) { className: "btnSecondary" }, t('quiz.next')))); }; + var _default = QuizExplanationModal; exports.default = _default; @@ -25695,24 +26506,36 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _ecolyo = _interopRequireDefault(__webpack_require__("nyyM")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("0P3K"); + var ChallengeCardLast = function ChallengeCardLast() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); + var handleClickFeedbacks = function handleClickFeedbacks() { window.open("".concat("https://demarches-sau.guichet-recette.grandlyon.com/retour-ecolyo/ecolyo-une-idee/", "?version=").concat(client.appMetadata.version)); }; + return /*#__PURE__*/_react.default.createElement("div", { className: "cardLast" }, /*#__PURE__*/_react.default.createElement(_StyledIcon.default, { @@ -25728,6 +26551,7 @@ var ChallengeCardLast = function ChallengeCardLast() { className: "btnSecondary" }, t('challenge.card_last.button'))); }; + var _default = ChallengeCardLast; exports.default = _default; @@ -26269,58 +27093,91 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE")); + var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var Sentry = _interopRequireWildcard(__webpack_require__("agHs")); + var _cozyClient = __webpack_require__("SH7X"); + var _cozyLogger = _interopRequireDefault(__webpack_require__("Vggm")); + var _doctypes = __webpack_require__("D2hQ"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _consumption = _interopRequireDefault(__webpack_require__("AVq/")); + var _duel2 = _interopRequireDefault(__webpack_require__("Vpb/")); + var _quiz2 = _interopRequireDefault(__webpack_require__("CUhI")); + var _date = __webpack_require__("XrP9"); + var _logger = _interopRequireDefault(__webpack_require__("gjtA")); + var _math = __webpack_require__("ss4k"); + var _utils = __webpack_require__("c+yx"); + var _action = _interopRequireDefault(__webpack_require__("5e6O")); + var _exploration = _interopRequireDefault(__webpack_require__("z8s1")); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var logStack = _cozyLogger.default.namespace('challengeService'); + var ChallengeService = /*#__PURE__*/function () { function ChallengeService(_client) { (0, _classCallCheck2.default)(this, ChallengeService); (0, _defineProperty2.default)(this, "_client", void 0); this._client = _client; } - /** * Retrieve list of Userchallenge and unlock the current challenge if the last one is done * If all challenges are locked, then unlock the first one * @param {UserChallenge[]} userChallenges - status of fluids */ + + (0, _createClass2.default)(ChallengeService, [{ key: "unLockCurrentUserChallenge", value: function unLockCurrentUserChallenge(userChallenges) { var isAllLocked = true; userChallenges.forEach(function (challenge, i) { if (challenge.state != _enums.UserChallengeState.LOCKED) isAllLocked = false; + if (challenge.state === _enums.UserChallengeState.DONE) { var _userChallenges; + if (((_userChallenges = userChallenges[i + 1]) === null || _userChallenges === void 0 ? void 0 : _userChallenges.state) === _enums.UserChallengeState.LOCKED) { userChallenges[i + 1].state = _enums.UserChallengeState.UNLOCKED; } @@ -26329,11 +27186,11 @@ var ChallengeService = /*#__PURE__*/function () { if (isAllLocked) userChallenges[0].state = _enums.UserChallengeState.UNLOCKED; return userChallenges; } - /** * Retrieve UserChallenge from the UserChallengeEntity * @param {UserChallengeEntity} userChallenges - status of fluids */ + }, { key: "parseUserChallengeEntityToUserChallenge", value: function parseUserChallengeEntityToUserChallenge(userChallengeEntity) { @@ -26355,13 +27212,14 @@ var ChallengeService = /*#__PURE__*/function () { }) : null }) }); + return userChallenge; } - /** * Retrieve UserChallenge from the UserChallengeEntity * @param {UserChallengeEntity} userChallenges - status of fluids */ + }, { key: "parseChallengeEntityToUserChallenge", value: function parseChallengeEntityToUserChallenge(challenge, duel, quiz, exploration) { @@ -26390,12 +27248,12 @@ var ChallengeService = /*#__PURE__*/function () { }; return userChallenge; } - /** * * @param {UserExploration | ExplorationEntity} exploration - Exploration to be tested * @returns {boolean} isValid */ + }, { key: "isExplorationConditionVerified", value: function () { @@ -26407,10 +27265,13 @@ var ChallengeService = /*#__PURE__*/function () { case 0: isValid = false; fluidCondition = exploration.fluid_condition; // check if the fluid is connected + if (fluidStatus[fluidCondition[0]].status !== _enums.FluidState.KONNECTOR_NOT_FOUND && fluidStatus[fluidCondition[0]].status !== _enums.FluidState.NOT_CONNECTED) { isValid = true; } + return _context.abrupt("return", isValid); + case 4: case "end": return _context.stop(); @@ -26418,15 +27279,18 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee); })); + function isExplorationConditionVerified(_x, _x2) { return _isExplorationConditionVerified.apply(this, arguments); } + return isExplorationConditionVerified; }() /** * * @param {ChallengeEntity} challenge - get all relations entities of a challenge */ + }, { key: "getRelationEntities", value: function () { @@ -26445,6 +27309,7 @@ var ChallengeService = /*#__PURE__*/function () { explorationEntityRelation: explorationEntityRelation }; return _context2.abrupt("return", result); + case 5: case "end": return _context2.stop(); @@ -26452,14 +27317,17 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee2); })); + function getRelationEntities(_x3) { return _getRelationEntities.apply(this, arguments); } + return getRelationEntities; }() /** * Get a UserChallenge from its Entity and verify the exploration if there is a condition and if it's verified */ + }, { key: "getUpdatedUserChallengeIfExplorationConditionIsValid", value: function () { @@ -26470,26 +27338,34 @@ var ChallengeService = /*#__PURE__*/function () { switch (_context3.prev = _context3.next) { case 0: userChallenge = null; // Check if it's a conditional exploration + if (!(exploration.fluid_condition.length > 0)) { _context3.next = 10; break; } + _context3.next = 4; return this.isExplorationConditionVerified(exploration, fluidStatus); + case 4: isConditionVerified = _context3.sent; + if (!isConditionVerified) { _context3.next = 8; break; } + userChallenge = this.parseChallengeEntityToUserChallenge(challenge, duel, quiz, exploration); return _context3.abrupt("return", userChallenge); + case 8: _context3.next = 12; break; + case 10: userChallenge = this.parseChallengeEntityToUserChallenge(challenge, duel, quiz, exploration); return _context3.abrupt("return", userChallenge); + case 12: case "end": return _context3.stop(); @@ -26497,9 +27373,11 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee3, this); })); + function getUpdatedUserChallengeIfExplorationConditionIsValid(_x4, _x5, _x6, _x7, _x8) { return _getUpdatedUserChallengeIfExplorationConditionIsValid.apply(this, arguments); } + return getUpdatedUserChallengeIfExplorationConditionIsValid; }() /** @@ -26507,11 +27385,13 @@ var ChallengeService = /*#__PURE__*/function () { * Exploration related to given challenge * @returns {UserChallenge[]} - buildList */ + }, { key: "processExploration", value: function () { var _processExploration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(explorationEntities, explorationEntityRelation, challenge, duel, quiz, buildList, fluidStatus) { var explorationService, _iterator, _step, explorationRelation, exploration, userChallenge; + return _regenerator.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { @@ -26519,40 +27399,55 @@ var ChallengeService = /*#__PURE__*/function () { explorationService = new _exploration.default(this._client); _iterator = _createForOfIteratorHelper(explorationEntityRelation); _context4.prev = 2; + _iterator.s(); + case 4: if ((_step = _iterator.n()).done) { _context4.next = 15; break; } + explorationRelation = _step.value; exploration = explorationService.getUserExplorationfromExplorationEntities(explorationEntities || [], explorationRelation._id); _context4.next = 9; return this.getUpdatedUserChallengeIfExplorationConditionIsValid(exploration, challenge, duel, quiz, fluidStatus); + case 9: userChallenge = _context4.sent; + if (!userChallenge) { _context4.next = 13; break; } + buildList.push(userChallenge); return _context4.abrupt("break", 15); + case 13: _context4.next = 4; break; + case 15: _context4.next = 20; break; + case 17: _context4.prev = 17; _context4.t0 = _context4["catch"](2); + _iterator.e(_context4.t0); + case 20: _context4.prev = 20; + _iterator.f(); + return _context4.finish(20); + case 23: return _context4.abrupt("return", buildList); + case 24: case "end": return _context4.stop(); @@ -26560,19 +27455,23 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee4, this, [[2, 17, 20, 23]]); })); + function processExploration(_x9, _x10, _x11, _x12, _x13, _x14, _x15) { return _processExploration.apply(this, arguments); } + return processExploration; }() /** * Checks if the exploration condition exists and is valid when updating the buildList */ + }, { key: "loopVerificationExplorationCondition", value: function () { var _loopVerificationExplorationCondition = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(userChallenge, challengeEntityList, fluidStatus) { var currentEntity, relationsArray, explorationService, updatedUserChallenge, _iterator2, _step2, relation, newExploEntity, newUserExplo, isConditionValid; + return _regenerator.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { @@ -26581,6 +27480,7 @@ var ChallengeService = /*#__PURE__*/function () { _context5.next = 36; break; } + currentEntity = challengeEntityList.filter(function (challenge) { return challenge.id === userChallenge.id; }); @@ -26589,60 +27489,81 @@ var ChallengeService = /*#__PURE__*/function () { updatedUserChallenge = _objectSpread({}, userChallenge); _iterator2 = _createForOfIteratorHelper(relationsArray.data); _context5.prev = 6; + _iterator2.s(); + case 8: if ((_step2 = _iterator2.n()).done) { _context5.next = 27; break; } + relation = _step2.value; _context5.next = 12; return explorationService.getExplorationEntityById(relation._id); + case 12: newExploEntity = _context5.sent; newUserExplo = explorationService.parseExplorationEntityToUserExploration(newExploEntity); + if (!(newExploEntity.fluid_condition.length > 0)) { _context5.next = 23; break; } + _context5.next = 17; return this.isExplorationConditionVerified(newExploEntity, fluidStatus); + case 17: isConditionValid = _context5.sent; + if (!isConditionValid) { _context5.next = 21; break; } + updatedUserChallenge = _objectSpread(_objectSpread({}, updatedUserChallenge), {}, { exploration: newUserExplo }); return _context5.abrupt("break", 27); + case 21: _context5.next = 25; break; + case 23: updatedUserChallenge = _objectSpread(_objectSpread({}, updatedUserChallenge), {}, { exploration: newUserExplo }); return _context5.abrupt("break", 27); + case 25: _context5.next = 8; break; + case 27: _context5.next = 32; break; + case 29: _context5.prev = 29; _context5.t0 = _context5["catch"](6); + _iterator2.e(_context5.t0); + case 32: _context5.prev = 32; + _iterator2.f(); + return _context5.finish(32); + case 35: return _context5.abrupt("return", updatedUserChallenge); + case 36: return _context5.abrupt("return", userChallenge); + case 37: case "end": return _context5.stop(); @@ -26650,20 +27571,25 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee5, this, [[6, 29, 32, 35]]); })); + function loopVerificationExplorationCondition(_x16, _x17, _x18) { return _loopVerificationExplorationCondition.apply(this, arguments); } + return loopVerificationExplorationCondition; }() /** * Retrieve UserChallenge list with all challenges */ + }, { key: "buildUserChallengeList", value: function () { var _buildUserChallengeList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(fluidStatus) { var _this = this; + var queryChallengeEntity, querySeasonEntityIncludeQuiz, querySeasonEntityIncludeExploration, _yield$this$_client$q, challengeEntityList, duelEntities, _yield$this$_client$q2, explorationEntities, _yield$this$_client$q3, quizEntities, userChallengeList, duelService, quizService, explorationService, buildList, _iterator3, _step3, challenge, relationEntities, duel, quiz, exploration, userChallenge, _iterator4, _step4, _loop; + return _regenerator.default.wrap(function _callee6$(_context7) { while (1) { switch (_context7.prev = _context7.next) { @@ -26673,86 +27599,110 @@ var ChallengeService = /*#__PURE__*/function () { querySeasonEntityIncludeExploration = (0, _cozyClient.Q)(_doctypes.CHALLENGE_DOCTYPE).include(['exploration']); _context7.next = 5; return this._client.query(queryChallengeEntity); + case 5: _yield$this$_client$q = _context7.sent; challengeEntityList = _yield$this$_client$q.data; duelEntities = _yield$this$_client$q.included; _context7.next = 10; return this._client.query(querySeasonEntityIncludeExploration); + case 10: _yield$this$_client$q2 = _context7.sent; explorationEntities = _yield$this$_client$q2.included; _context7.next = 14; return this._client.query(querySeasonEntityIncludeQuiz); + case 14: _yield$this$_client$q3 = _context7.sent; quizEntities = _yield$this$_client$q3.included; _context7.next = 18; return this.getAllUserChallengeEntities(); + case 18: userChallengeList = _context7.sent; duelService = new _duel2.default(this._client); quizService = new _quiz2.default(this._client); explorationService = new _exploration.default(this._client); buildList = []; // Case UserChallengeList is empty + if (!(challengeEntityList.length > 0 && userChallengeList.length === 0)) { _context7.next = 55; break; } + _iterator3 = _createForOfIteratorHelper(challengeEntityList); _context7.prev = 25; + _iterator3.s(); + case 27: if ((_step3 = _iterator3.n()).done) { _context7.next = 44; break; } + challenge = _step3.value; _context7.next = 31; return this.getRelationEntities(challenge); + case 31: relationEntities = _context7.sent; duel = duelService.getDuelfromDuelEntities(duelEntities || [], relationEntities.duelEntityRelation._id); quiz = quizService.getUserQuizfromQuizEntities(quizEntities || [], relationEntities.quizEntityRelation._id); // Only one exploration relation + if (!(relationEntities.explorationEntityRelation.length === 1)) { _context7.next = 40; break; } + exploration = explorationService.getUserExplorationfromExplorationEntities(explorationEntities || [], relationEntities.explorationEntityRelation[0]._id); userChallenge = this.parseChallengeEntityToUserChallenge(challenge, duel, quiz, exploration); buildList.push(userChallenge); _context7.next = 42; break; + case 40: _context7.next = 42; return this.processExploration(explorationEntities, relationEntities.explorationEntityRelation, challenge, duel, quiz, buildList, fluidStatus); + case 42: _context7.next = 27; break; + case 44: _context7.next = 49; break; + case 46: _context7.prev = 46; _context7.t0 = _context7["catch"](25); + _iterator3.e(_context7.t0); + case 49: _context7.prev = 49; + _iterator3.f(); + return _context7.finish(49); + case 52: buildList = this.unLockCurrentUserChallenge(buildList); _context7.next = 73; break; + case 55: if (!(challengeEntityList.length > 0 && userChallengeList.length > 0)) { _context7.next = 73; break; } + _iterator4 = _createForOfIteratorHelper(challengeEntityList); _context7.prev = 57; _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() { var challenge, userChallengeIndex, _userChallenge2, _relationEntities, _duel, _quiz; + return _regenerator.default.wrap(function _loop$(_context6) { while (1) { switch (_context6.prev = _context6.next) { @@ -26761,27 +27711,33 @@ var ChallengeService = /*#__PURE__*/function () { userChallengeIndex = userChallengeList.findIndex(function (entity) { return entity.id === challenge.id; }); + if (!(userChallengeIndex >= 0)) { _context6.next = 10; break; } + _userChallenge2 = userChallengeList[userChallengeIndex]; _context6.next = 6; return _this.loopVerificationExplorationCondition(_userChallenge2, challengeEntityList, fluidStatus); + case 6: _userChallenge2 = _context6.sent; buildList.push(_userChallenge2); _context6.next = 17; break; + case 10: _context6.next = 12; return _this.getRelationEntities(challenge); + case 12: _relationEntities = _context6.sent; _duel = duelService.getDuelfromDuelEntities(duelEntities || [], _relationEntities.duelEntityRelation._id); _quiz = quizService.getUserQuizfromQuizEntities(quizEntities || [], _relationEntities.quizEntityRelation._id); _context6.next = 17; return _this.processExploration(explorationEntities, _relationEntities.explorationEntityRelation, challenge, _duel, _quiz, buildList, fluidStatus); + case 17: case "end": return _context6.stop(); @@ -26789,31 +27745,44 @@ var ChallengeService = /*#__PURE__*/function () { } }, _loop); }); + _iterator4.s(); + case 60: if ((_step4 = _iterator4.n()).done) { _context7.next = 64; break; } + return _context7.delegateYield(_loop(), "t1", 62); + case 62: _context7.next = 60; break; + case 64: _context7.next = 69; break; + case 66: _context7.prev = 66; _context7.t2 = _context7["catch"](57); + _iterator4.e(_context7.t2); + case 69: _context7.prev = 69; + _iterator4.f(); + return _context7.finish(69); + case 72: buildList = this.unLockCurrentUserChallenge(buildList); + case 73: return _context7.abrupt("return", buildList); + case 74: case "end": return _context7.stop(); @@ -26821,19 +27790,23 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee6, this, [[25, 46, 49, 52], [57, 66, 69, 72]]); })); + function buildUserChallengeList(_x19) { return _buildUserChallengeList.apply(this, arguments); } + return buildUserChallengeList; }() /** * Retrieve all ChallengeEntities */ + }, { key: "getAllChallengeEntities", value: function () { var _getAllChallengeEntities = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() { var query, _yield$this$_client$q4, challenges; + return _regenerator.default.wrap(function _callee7$(_context8) { while (1) { switch (_context8.prev = _context8.next) { @@ -26841,10 +27814,12 @@ var ChallengeService = /*#__PURE__*/function () { query = (0, _cozyClient.Q)(_doctypes.CHALLENGE_DOCTYPE); _context8.next = 3; return this._client.query(query); + case 3: _yield$this$_client$q4 = _context8.sent; challenges = _yield$this$_client$q4.data; return _context8.abrupt("return", challenges); + case 6: case "end": return _context8.stop(); @@ -26852,20 +27827,24 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee7, this); })); + function getAllChallengeEntities() { return _getAllChallengeEntities.apply(this, arguments); } + return getAllChallengeEntities; }() /** * Delete all ChallengeEntities * @throws {Error} */ + }, { key: "deleteAllChallengeEntities", value: function () { var _deleteAllChallengeEntities = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() { var challengeEntity, _iterator5, _step5, entity, errorMessage; + return _regenerator.default.wrap(function _callee8$(_context9) { while (1) { switch (_context9.prev = _context9.next) { @@ -26873,49 +27852,68 @@ var ChallengeService = /*#__PURE__*/function () { _context9.prev = 0; _context9.next = 3; return this.getAllChallengeEntities(); + case 3: challengeEntity = _context9.sent; + if (challengeEntity) { _context9.next = 6; break; } + return _context9.abrupt("return", true); + case 6: _iterator5 = _createForOfIteratorHelper(challengeEntity); _context9.prev = 7; + _iterator5.s(); + case 9: if ((_step5 = _iterator5.n()).done) { _context9.next = 15; break; } + entity = _step5.value; _context9.next = 13; return this._client.destroy(entity); + case 13: _context9.next = 9; break; + case 15: _context9.next = 20; break; + case 17: _context9.prev = 17; _context9.t0 = _context9["catch"](7); + _iterator5.e(_context9.t0); + case 20: _context9.prev = 20; + _iterator5.f(); + return _context9.finish(20); + case 23: return _context9.abrupt("return", true); + case 26: _context9.prev = 26; _context9.t1 = _context9["catch"](0); errorMessage = "deleteAllChallengeEntities :".concat(JSON.stringify(_context9.t1)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context9.t1); throw _context9.t1; + case 33: case "end": return _context9.stop(); @@ -26923,20 +27921,25 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee8, this, [[0, 26], [7, 17, 20, 23]]); })); + function deleteAllChallengeEntities() { return _deleteAllChallengeEntities.apply(this, arguments); } + return deleteAllChallengeEntities; }() /** * Retrieve all UserChallengeEntities */ + }, { key: "getAllUserChallengeEntities", value: function () { var _getAllUserChallengeEntities = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() { var _this2 = this; + var query, _yield$this$_client$q5, userChallengeEntities, userChallenges; + return _regenerator.default.wrap(function _callee9$(_context10) { while (1) { switch (_context10.prev = _context10.next) { @@ -26944,6 +27947,7 @@ var ChallengeService = /*#__PURE__*/function () { query = (0, _cozyClient.Q)(_doctypes.USERCHALLENGE_DOCTYPE); _context10.next = 3; return this._client.query(query); + case 3: _yield$this$_client$q5 = _context10.sent; userChallengeEntities = _yield$this$_client$q5.data; @@ -26951,6 +27955,7 @@ var ChallengeService = /*#__PURE__*/function () { return _this2.parseUserChallengeEntityToUserChallenge(userChallengeEntity); }); return _context10.abrupt("return", userChallenges); + case 7: case "end": return _context10.stop(); @@ -26958,9 +27963,11 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee9, this); })); + function getAllUserChallengeEntities() { return _getAllUserChallengeEntities.apply(this, arguments); } + return getAllUserChallengeEntities; }() /** @@ -26968,11 +27975,13 @@ var ChallengeService = /*#__PURE__*/function () { * success return: UserChallenge, Dataload[] * failure throw error */ + }, { key: "initChallengeDuelProgress", value: function () { var _initChallengeDuelProgress = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(userChallenge) { var consumptionService, dataloads, userConsumption, _userChallenge, updatedUserChallenge, errorMessage; + return _regenerator.default.wrap(function _callee10$(_context11) { while (1) { switch (_context11.prev = _context11.next) { @@ -26981,6 +27990,7 @@ var ChallengeService = /*#__PURE__*/function () { _context11.prev = 1; _context11.next = 4; return this.getUserChallengeDataload(userChallenge); + case 4: dataloads = _context11.sent; userConsumption = (0, _math.getRoundFloat)(consumptionService.calculatePerformanceIndicatorValue(dataloads)); @@ -26991,20 +28001,25 @@ var ChallengeService = /*#__PURE__*/function () { }); _context11.next = 9; return this.updateUserChallenge(_userChallenge, _enums.UserChallengeUpdateFlag.DUEL_CONSUMPTION); + case 9: updatedUserChallenge = _context11.sent; return _context11.abrupt("return", { updatedUserChallenge: updatedUserChallenge, dataloads: dataloads }); + case 13: _context11.prev = 13; _context11.t0 = _context11["catch"](1); errorMessage = "Challenge service error on initChallengeDuelProgress: ".concat(JSON.stringify(_context11.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context11.t0); throw _context11.t0; + case 20: case "end": return _context11.stop(); @@ -27012,20 +28027,24 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee10, this, [[1, 13]]); })); + function initChallengeDuelProgress(_x20) { return _initChallengeDuelProgress.apply(this, arguments); } + return initChallengeDuelProgress; }() /** * Start UserChallenge and retrieve updated UserChallenge * @throws {Error} */ + }, { key: "startUserChallenge", value: function () { var _startUserChallenge = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(userChallenge) { var newChallenge, _yield$this$_client$c, updatedUserChallengeEntity, updatedUserChallenge, errorMessage; + return _regenerator.default.wrap(function _callee11$(_context12) { while (1) { switch (_context12.prev = _context12.next) { @@ -27045,19 +28064,24 @@ var ChallengeService = /*#__PURE__*/function () { _context12.prev = 1; _context12.next = 4; return this._client.create(_doctypes.USERCHALLENGE_DOCTYPE, newChallenge); + case 4: _yield$this$_client$c = _context12.sent; updatedUserChallengeEntity = _yield$this$_client$c.data; updatedUserChallenge = this.parseUserChallengeEntityToUserChallenge(updatedUserChallengeEntity); return _context12.abrupt("return", updatedUserChallenge); + case 10: _context12.prev = 10; _context12.t0 = _context12["catch"](1); errorMessage = "Challenge service error on startUserChallenge: ".concat(JSON.stringify(_context12.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context12.t0); throw _context12.t0; + case 17: case "end": return _context12.stop(); @@ -27065,9 +28089,11 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee11, this, [[1, 10]]); })); + function startUserChallenge(_x21) { return _startUserChallenge.apply(this, arguments); } + return startUserChallenge; }() /** @@ -27077,11 +28103,13 @@ var ChallengeService = /*#__PURE__*/function () { * @returns {UserChallenge} - updated userChallenge * @throws {Error} */ + }, { key: "updateUserChallenge", value: function () { var _updateUserChallenge = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(userChallenge, flag, quizWithUpdatedQuestions, fluidStatus, action) { var updatedUserChallenge, updatedDuel, updatedQuiz, updatedExploration, updatedAction, duelService, quizService, explorationService, actionService, updateQuizProgress, userAction, _yield$this$_client$s, userChallengeEntity, result, errorMessage; + return _regenerator.default.wrap(function _callee12$(_context13) { while (1) { switch (_context13.prev = _context13.next) { @@ -27097,12 +28125,15 @@ var ChallengeService = /*#__PURE__*/function () { _context13.t0 = flag; _context13.next = _context13.t0 === _enums.UserChallengeUpdateFlag.CHALLENGE ? 11 : _context13.t0 === _enums.UserChallengeUpdateFlag.DUEL_CONSUMPTION ? 11 : _context13.t0 === _enums.UserChallengeUpdateFlag.DUEL_UNLOCK ? 13 : _context13.t0 === _enums.UserChallengeUpdateFlag.DUEL_UPDATE_THRESHOLD ? 18 : _context13.t0 === _enums.UserChallengeUpdateFlag.DUEL_START ? 23 : _context13.t0 === _enums.UserChallengeUpdateFlag.DUEL_WIN ? 28 : _context13.t0 === _enums.UserChallengeUpdateFlag.DUEL_LOSS ? 33 : _context13.t0 === _enums.UserChallengeUpdateFlag.DUEL_RESET ? 38 : _context13.t0 === _enums.UserChallengeUpdateFlag.QUIZ_START ? 43 : _context13.t0 === _enums.UserChallengeUpdateFlag.QUIZ_DONE ? 48 : _context13.t0 === _enums.UserChallengeUpdateFlag.QUIZ_UPDATE ? 54 : _context13.t0 === _enums.UserChallengeUpdateFlag.QUIZ_RESET ? 56 : _context13.t0 === _enums.UserChallengeUpdateFlag.EXPLORATION_START ? 61 : _context13.t0 === _enums.UserChallengeUpdateFlag.EXPLORATION_UPDATE ? 66 : _context13.t0 === _enums.UserChallengeUpdateFlag.EXPLORATION_NOTIFICATION ? 71 : _context13.t0 === _enums.UserChallengeUpdateFlag.EXPLORATION_DONE ? 76 : _context13.t0 === _enums.UserChallengeUpdateFlag.ACTION_START ? 79 : _context13.t0 === _enums.UserChallengeUpdateFlag.ACTION_NOTIFICATION ? 83 : _context13.t0 === _enums.UserChallengeUpdateFlag.ACTION_DONE ? 86 : 89; break; + case 11: updatedUserChallenge = userChallenge; return _context13.abrupt("break", 91); + case 13: _context13.next = 15; return duelService.unlockUserDuel(userChallenge.duel); + case 15: updatedDuel = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27110,9 +28141,11 @@ var ChallengeService = /*#__PURE__*/function () { duel: updatedDuel }); return _context13.abrupt("break", 91); + case 18: _context13.next = 20; return duelService.updateUserDuelThreshold(userChallenge.duel, fluidStatus); + case 20: updatedDuel = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27120,9 +28153,11 @@ var ChallengeService = /*#__PURE__*/function () { duel: updatedDuel }); return _context13.abrupt("break", 91); + case 23: _context13.next = 25; return duelService.startUserDuel(userChallenge.duel); + case 25: updatedDuel = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27130,9 +28165,11 @@ var ChallengeService = /*#__PURE__*/function () { duel: updatedDuel }); return _context13.abrupt("break", 91); + case 28: _context13.next = 30; return duelService.endUserDuel(userChallenge.duel); + case 30: updatedDuel = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27144,9 +28181,11 @@ var ChallengeService = /*#__PURE__*/function () { success: _enums.UserChallengeSuccess.WIN }); return _context13.abrupt("break", 91); + case 33: _context13.next = 35; return duelService.endUserDuel(userChallenge.duel); + case 35: updatedDuel = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27158,9 +28197,11 @@ var ChallengeService = /*#__PURE__*/function () { success: _enums.UserChallengeSuccess.LOST }); return _context13.abrupt("break", 91); + case 38: _context13.next = 40; return duelService.resetUserDuel(userChallenge.duel); + case 40: updatedDuel = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27169,19 +28210,23 @@ var ChallengeService = /*#__PURE__*/function () { success: _enums.UserChallengeSuccess.ONGOING }); return _context13.abrupt("break", 91); + case 43: _context13.next = 45; return quizService.startUserQuiz(userChallenge.quiz); + case 45: updatedQuiz = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { quiz: updatedQuiz }); return _context13.abrupt("break", 91); + case 48: updateQuizProgress = Math.min(userChallenge.quiz.result, 5); _context13.next = 51; return quizService.endUserQuiz(userChallenge.quiz); + case 51: updatedQuiz = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27191,47 +28236,57 @@ var ChallengeService = /*#__PURE__*/function () { }) }); return _context13.abrupt("break", 91); + case 54: updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { quiz: quizWithUpdatedQuestions ? quizWithUpdatedQuestions : userChallenge.quiz }); return _context13.abrupt("break", 91); + case 56: _context13.next = 58; return quizService.resetUserQuiz(userChallenge.quiz); + case 58: updatedQuiz = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { quiz: updatedQuiz }); return _context13.abrupt("break", 91); + case 61: _context13.next = 63; return explorationService.startUserExploration(userChallenge.exploration); + case 63: updatedExploration = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { exploration: updatedExploration }); return _context13.abrupt("break", 91); + case 66: _context13.next = 68; return explorationService.updateUserExploration(userChallenge.exploration); + case 68: updatedExploration = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { exploration: updatedExploration }); return _context13.abrupt("break", 91); + case 71: _context13.next = 73; return explorationService.awaitNotificationUserExploration(userChallenge.exploration); + case 73: updatedExploration = _context13.sent; updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { exploration: updatedExploration }); return _context13.abrupt("break", 91); + case 76: updatedExploration = explorationService.endUserExploration(userChallenge.exploration); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27241,21 +28296,26 @@ var ChallengeService = /*#__PURE__*/function () { }) }); return _context13.abrupt("break", 91); + case 79: userAction = userChallenge.action; + if (action) { userAction = actionService.launchAction(action); } + updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { action: userAction }); return _context13.abrupt("break", 91); + case 83: updatedAction = actionService.awaitNotificationAction(userChallenge.action); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { action: updatedAction }); return _context13.abrupt("break", 91); + case 86: updatedAction = actionService.endAction(userChallenge.action); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -27265,26 +28325,33 @@ var ChallengeService = /*#__PURE__*/function () { }) }); return _context13.abrupt("break", 91); + case 89: updatedUserChallenge = userChallenge; return _context13.abrupt("break", 91); + case 91: _context13.prev = 91; _context13.next = 94; return this._client.save(updatedUserChallenge); + case 94: _yield$this$_client$s = _context13.sent; userChallengeEntity = _yield$this$_client$s.data; result = this.parseUserChallengeEntityToUserChallenge(userChallengeEntity); return _context13.abrupt("return", result); + case 100: _context13.prev = 100; _context13.t1 = _context13["catch"](91); errorMessage = "Update user challenge error: ".concat(JSON.stringify(_context13.t1)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context13.t1); throw _context13.t1; + case 107: case "end": return _context13.stop(); @@ -27292,9 +28359,11 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee12, this, [[91, 100]]); })); + function updateUserChallenge(_x22, _x23, _x24, _x25, _x26) { return _updateUserChallenge.apply(this, arguments); } + return updateUserChallenge; }() /** @@ -27302,6 +28371,7 @@ var ChallengeService = /*#__PURE__*/function () { * @param {UserChallenge} userChallenge - userChallenge to update * @param {UserChallengeUpdateFlag} flag - update flag */ + }, { key: "getUserChallengeDataload", value: function () { @@ -27315,6 +28385,7 @@ var ChallengeService = /*#__PURE__*/function () { _context14.next = 8; break; } + consumptionService = new _consumption.default(this._client); timePeriod = { startDate: userChallenge.duel.startDate, @@ -27324,15 +28395,20 @@ var ChallengeService = /*#__PURE__*/function () { }; _context14.next = 5; return consumptionService.getGraphData(timePeriod, _enums.TimeStep.DAY, userChallenge.duel.fluidTypes, undefined, undefined, true); + case 5: dataChart = _context14.sent; + if (!dataChart) { _context14.next = 8; break; } + return _context14.abrupt("return", dataChart.actualData); + case 8: return _context14.abrupt("return", []); + case 9: case "end": return _context14.stop(); @@ -27340,9 +28416,11 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee13, this); })); + function getUserChallengeDataload(_x27) { return _getUserChallengeDataload.apply(this, arguments); } + return getUserChallengeDataload; }() /** @@ -27350,6 +28428,7 @@ var ChallengeService = /*#__PURE__*/function () { * @param {UserChallenge} userChallenge - current userChallenge * @param {Dataload[]} dataloads - dataloads of current challenge */ + }, { key: "isChallengeDone", value: function () { @@ -27361,19 +28440,23 @@ var ChallengeService = /*#__PURE__*/function () { case 0: isDone = false; isWin = false; + if (userChallenge.state === _enums.UserChallengeState.DUEL && userChallenge.duel.state === _enums.UserDuelState.ONGOING && userChallenge.duel.duration) { fullDuration = userChallenge.duel.duration.days + (0, _date.getLagDays)(userChallenge.duel.fluidTypes) + 1; diffFromNow = userChallenge.duel.startDate ? userChallenge.duel.startDate.diff(_luxon.DateTime.local().setZone('utc', { keepLocalTime: true }), 'days').toObject().days : 0; diffFromNow = diffFromNow ? Math.abs(diffFromNow) : 0; + if (diffFromNow >= fullDuration) { isDone = true; + if (isDone && userChallenge.duel.userConsumption < userChallenge.duel.threshold) { isWin = true; } } else { duration = userChallenge.duel.duration.days; + if (dataloads.length === duration && dataloads[duration - 1].value !== -1) { isDone = true; dataloads.forEach(function (d) { @@ -27383,16 +28466,19 @@ var ChallengeService = /*#__PURE__*/function () { isDone = false; } }); + if (isDone && userChallenge.duel.userConsumption < userChallenge.duel.threshold) { isWin = true; } } } } + return _context15.abrupt("return", { isDone: isDone, isWin: isWin }); + case 4: case "end": return _context15.stop(); @@ -27400,14 +28486,17 @@ var ChallengeService = /*#__PURE__*/function () { } }, _callee14); })); + function isChallengeDone(_x28, _x29) { return _isChallengeDone.apply(this, arguments); } + return isChallengeDone; }() }]); return ChallengeService; }(); + exports.default = ChallengeService; /***/ }), @@ -27419,30 +28508,49 @@ exports.default = ChallengeService; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _questionMark = _interopRequireDefault(__webpack_require__("EC6H")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _StarsContainer = _interopRequireDefault(__webpack_require__("TEZG")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _challenge2 = __webpack_require__("F6Xr"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("Ge/O"); + var QuizBegin = function QuizBegin(_ref) { var userChallenge = _ref.userChallenge; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); + var launchQuiz = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var challengeService, userChallengeUpdated; @@ -27453,9 +28561,11 @@ var QuizBegin = function QuizBegin(_ref) { challengeService = new _challenge.default(client); _context.next = 3; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.QUIZ_START); + case 3: userChallengeUpdated = _context.sent; dispatch((0, _challenge2.updateUserChallengeList)(userChallengeUpdated)); + case 5: case "end": return _context.stop(); @@ -27463,10 +28573,12 @@ var QuizBegin = function QuizBegin(_ref) { } }, _callee); })); + return function launchQuiz() { return _ref2.apply(this, arguments); }; }(); + return /*#__PURE__*/_react.default.createElement("div", { className: "quiz-container" }, /*#__PURE__*/_react.default.createElement("div", { @@ -27488,6 +28600,7 @@ var QuizBegin = function QuizBegin(_ref) { className: "btnSecondary" }, t('duel.button_start'))))); }; + var _default = QuizBegin; exports.default = _default; @@ -27548,20 +28661,30 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _core = __webpack_require__("TTf+"); + var _finish = _interopRequireDefault(__webpack_require__("de6s")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("UQIE"); + var EcogestureSelectionEnd = function EcogestureSelectionEnd() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); return /*#__PURE__*/_react.default.createElement("div", { className: "eg-selection-end-container" @@ -27586,6 +28709,7 @@ var EcogestureSelectionEnd = function EcogestureSelectionEnd() { } }, t('ecogesture_selection.button_ok')))); }; + var _default = EcogestureSelectionEnd; exports.default = _default; @@ -28392,32 +29516,54 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _starResult = _interopRequireDefault(__webpack_require__("uv5W")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _challenge2 = __webpack_require__("F6Xr"); + var _global = __webpack_require__("b3rE"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("zqCP"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var ExplorationFinished = function ExplorationFinished(_ref) { var userChallenge = _ref.userChallenge; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); var navigate = (0, _reactRouterDom.useNavigate)(); @@ -28428,12 +29574,15 @@ var ExplorationFinished = function ExplorationFinished(_ref) { switch (_context.prev = _context.next) { case 0: challengeService = new _challenge.default(client); + if (!(userChallenge.exploration.state === _enums.UserExplorationState.NOTIFICATION)) { _context.next = 9; break; } + _context.next = 4; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.EXPLORATION_DONE); + case 4: updatedChallenge = _context.sent; _context.next = 7; @@ -28443,9 +29592,11 @@ var ExplorationFinished = function ExplorationFinished(_ref) { context: userChallenge.id, startDate: userChallenge.exploration.date }); + case 7: dispatch((0, _global.toggleChallengeExplorationNotification)(false)); dispatch((0, _challenge2.updateUserChallengeList)(updatedChallenge)); + case 9: case "end": return _context.stop(); @@ -28460,8 +29611,10 @@ var ExplorationFinished = function ExplorationFinished(_ref) { case 0: _context2.next = 2; return checkNotificationToEnd(); + case 2: navigate(-1); + case 3: case "end": return _context2.stop(); @@ -28494,6 +29647,7 @@ var ExplorationFinished = function ExplorationFinished(_ref) { className: "btnSecondary" }, t('exploration.button_confirm')))); }; + var _default = ExplorationFinished; exports.default = _default; @@ -29471,40 +30625,55 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + __webpack_require__("Z831"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var FormNavigation = function FormNavigation(_ref) { var step = _ref.step, - handlePrevious = _ref.handlePrevious, - handleNext = _ref.handleNext, - disableNextButton = _ref.disableNextButton, - disablePrevButton = _ref.disablePrevButton, - isEcogesture = _ref.isEcogesture, - isLastConnectStep = _ref.isLastConnectStep, - isLoading = _ref.isLoading; + handlePrevious = _ref.handlePrevious, + handleNext = _ref.handleNext, + disableNextButton = _ref.disableNextButton, + disablePrevButton = _ref.disablePrevButton, + isEcogesture = _ref.isEcogesture, + isLastConnectStep = _ref.isLastConnectStep, + isLoading = _ref.isLoading; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); + var handlePreviousClick = function handlePreviousClick() { handlePrevious(); }; + var handleNextClick = function handleNextClick() { - handleNext(); - // handle go back to connect for SGE + handleNext(); // handle go back to connect for SGE + if (isLastConnectStep) { navigate('/consumption/electricity'); } }; + var getSecondButtonLabel = (0, _react.useCallback)(function () { if (isLoading) { return t('profile_type.form.button_loading'); @@ -29528,6 +30697,7 @@ var FormNavigation = function FormNavigation(_ref) { disabled: disableNextButton }, getSecondButtonLabel())); }; + var _default = FormNavigation; exports.default = _default; @@ -29646,53 +30816,82 @@ exports.openFeedbackModal = openFeedbackModal; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _close = _interopRequireDefault(__webpack_require__("aodS")); + var _StyledIconButton = _interopRequireDefault(__webpack_require__("jZ8W")); + var _Loader = _interopRequireDefault(__webpack_require__("Ra/y")); + var _QuizExplanationModal = _interopRequireDefault(__webpack_require__("jPFj")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _quiz = _interopRequireDefault(__webpack_require__("CUhI")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _challenge2 = __webpack_require__("F6Xr"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("4hre"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { var userChallenge = _ref.userChallenge, - goBack = _ref.goBack, - question = _ref.question, - isLoading = _ref.isLoading; + goBack = _ref.goBack, + question = _ref.question, + isLoading = _ref.isLoading; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useState = (0, _react.useState)(''), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - userChoice = _useState2[0], - setUserChoice = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + userChoice = _useState2[0], + setUserChoice = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - openModal = _useState4[0], - setOpenModal = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + openModal = _useState4[0], + setOpenModal = _useState4[1]; + var _useState5 = (0, _react.useState)(0), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - answerIndex = _useState6[0], - setAnswerIndex = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + answerIndex = _useState6[0], + setAnswerIndex = _useState6[1]; + var quizService = new _quiz.default(client); var challengeService = new _challenge.default(client); + var validateQuestion = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var resultIndex, result, quizUpdated, userChallengeUpdated; @@ -29704,6 +30903,7 @@ var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { _context.next = 12; break; } + resultIndex = question.answers.findIndex(function (answer) { return answer.answerLabel === userChoice; }); @@ -29714,13 +30914,16 @@ var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { }); _context.next = 7; return quizService.updateUserQuiz(userChallenge.quiz, result[0].isTrue); + case 7: quizUpdated = _context.sent; _context.next = 10; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.QUIZ_UPDATE, quizUpdated); + case 10: userChallengeUpdated = _context.sent; dispatch((0, _challenge2.updateUserChallengeList)(userChallengeUpdated)); + case 12: case "end": return _context.stop(); @@ -29728,13 +30931,16 @@ var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { } }, _callee); })); + return function validateQuestion() { return _ref2.apply(this, arguments); }; }(); + var handleChange = function handleChange(e) { setUserChoice(e.target.value); }; + var finishQuiz = /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var userChallengeUpdated; @@ -29745,6 +30951,7 @@ var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { setOpenModal(false); _context2.next = 3; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.QUIZ_DONE); + case 3: userChallengeUpdated = _context2.sent; _context2.next = 6; @@ -29755,8 +30962,10 @@ var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { result: userChallenge.quiz.result.toString(), context: userChallenge.id }); + case 6: dispatch((0, _challenge2.updateUserChallengeList)(userChallengeUpdated)); + case 7: case "end": return _context2.stop(); @@ -29764,10 +30973,12 @@ var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { } }, _callee2); })); + return function finishQuiz() { return _ref3.apply(this, arguments); }; }(); + return /*#__PURE__*/_react.default.createElement("div", { className: "quiz-container" }, /*#__PURE__*/_react.default.createElement("div", { @@ -29813,6 +31024,7 @@ var QuizQuestionContentCustom = function QuizQuestionContentCustom(_ref) { } })); }; + var _default = QuizQuestionContentCustom; exports.default = _default; @@ -30081,81 +31293,122 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("RIqP")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _detectBrowser = __webpack_require__("e0ae"); + var _enums = __webpack_require__("gnxY"); + var _luxon = __webpack_require__("ExVU"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _dateChart = _interopRequireDefault(__webpack_require__("Ty7+")); + var _chart = __webpack_require__("idK9"); + var _hooks = __webpack_require__("Zlw4"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var Bar = function Bar(_ref) { var _yScale, _yScale2, _compareDataload$valu, _xScale; + var index = _ref.index, - dataload = _ref.dataload, - compare = _ref.compare, - compareDataload = _ref.compareDataload, - fluidType = _ref.fluidType, - timeStep = _ref.timeStep, - xScale = _ref.xScale, - yScale = _ref.yScale, - height = _ref.height, - isSwitching = _ref.isSwitching, - isDuel = _ref.isDuel, - isMultiMissingFluid = _ref.isMultiMissingFluid, - weekdays = _ref.weekdays, - _ref$clickable = _ref.clickable, - clickable = _ref$clickable === void 0 ? true : _ref$clickable, - average = _ref.average; + dataload = _ref.dataload, + compare = _ref.compare, + compareDataload = _ref.compareDataload, + fluidType = _ref.fluidType, + timeStep = _ref.timeStep, + xScale = _ref.xScale, + yScale = _ref.yScale, + height = _ref.height, + isSwitching = _ref.isSwitching, + isDuel = _ref.isDuel, + isMultiMissingFluid = _ref.isMultiMissingFluid, + weekdays = _ref.weekdays, + _ref$clickable = _ref.clickable, + clickable = _ref$clickable === void 0 ? true : _ref$clickable, + average = _ref.average; var dispatch = (0, _hooks.useAppDispatch)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - selectedDate = _useAppSelector.chart.selectedDate, - fluidStatus = _useAppSelector.global.fluidStatus; + return state.ecolyo; + }), + selectedDate = _useAppSelector.chart.selectedDate, + fluidStatus = _useAppSelector.global.fluidStatus; + var _useState = (0, _react.useState)(false), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - clicked = _useState2[0], - setClicked = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + clicked = _useState2[0], + setClicked = _useState2[1]; + var _useState3 = (0, _react.useState)(false), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - animationEnded = _useState4[0], - setAnimationEnded = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + animationEnded = _useState4[0], + setAnimationEnded = _useState4[1]; + var _useState5 = (0, _react.useState)(false), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - compareAnimationEnded = _useState6[0], - setCompareAnimationEnded = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + compareAnimationEnded = _useState6[0], + setCompareAnimationEnded = _useState6[1]; + var browser = (0, _detectBrowser.detect)(); var fluidStyle = fluidType === _enums.FluidType.MULTIFLUID ? 'MULTIFLUID' : _enums.FluidType[fluidType]; + var handleClick = function handleClick() { if (!isSwitching && !isDuel && clickable) { setClicked(true); dispatch((0, _chart.setSelectedDate)(dataload.date)); } }; + var onAnimationEnd = function onAnimationEnd() { setClicked(false); setAnimationEnded(true); }; + var onCompareAnimationEnd = function onCompareAnimationEnd() { setClicked(false); setCompareAnimationEnded(true); }; + /** Get date of each fluid to display placeholder bar for multifluid */ + + + var lastDataDates = fluidStatus.map(function (fluid) { + var _fluid$lastDataDate; + + return (_fluid$lastDataDate = fluid.lastDataDate) !== null && _fluid$lastDataDate !== void 0 ? _fluid$lastDataDate : _luxon.DateTime.local(0); + }); + + var lastDataDate = _luxon.DateTime.max.apply(_luxon.DateTime, (0, _toConsumableArray2.default)(lastDataDates)); + + var dataMissingUpcoming = Boolean(dataload.date > lastDataDate && dataload.date < _luxon.DateTime.local()); var value = dataload.value; - /** - * Use 10% of average as the placeholder if average is above 1, - * otherwise use a minimum of 1 as the placeholder. - */ - if (value === -1 && average) { - value = average > 1 ? average * 0.1 : 1; + /** Adjust value for upcoming data (placeholder bars) */ + + if (dataMissingUpcoming && average) { + if (average < 0) { + // Use 1 if average is negative + value = 1; + } else if (average > 1) { + // Use 10% of average if average is above 1 + value = average * 0.1; + } else { + value = average; + } } + var yScaleValue = (_yScale = yScale(value)) !== null && _yScale !== void 0 ? _yScale : 0; var yScaleCompareValue = (_yScale2 = yScale((_compareDataload$valu = compareDataload === null || compareDataload === void 0 ? void 0 : compareDataload.value) !== null && _compareDataload$valu !== void 0 ? _compareDataload$valu : 0)) !== null && _yScale2 !== void 0 ? _yScale2 : 0; var xScaleValue = (_xScale = xScale(dataload.date.toLocaleString(_luxon.DateTime.DATETIME_SHORT))) !== null && _xScale !== void 0 ? _xScale : 0; @@ -30163,40 +31416,41 @@ var Bar = function Bar(_ref) { var clickedAnim = clicked ? 'bounce-2 delay' : ''; var disabled = clickable ? '' : 'disabled'; var selected = isSelectedDate ? 'selected' : ''; + var getBarClass = function getBarClass() { var upcoming = dataload.value === -1 ? 'bar-UNCOMING' : ''; var edgeBrowser = browser && browser.name !== 'edge'; var bounce = edgeBrowser ? '1' : '3'; var baseStyles = "bar-".concat(fluidStyle, " ").concat(upcoming, " ").concat(weekdays, " ").concat(selected, " ").concat(disabled); + if (clicked) { return "".concat(baseStyles, " ").concat(clickedAnim); } + if (animationEnded) { return baseStyles; } + return "".concat(baseStyles, " bounce-").concat(bounce, " delay--").concat(index); }; + var getCompareBarClass = function getCompareBarClass() { var animate = "bounce-2 delay--".concat(clicked ? 0 : index); var animationClass = compareAnimationEnded ? '' : animate; return "bar-compare-".concat(fluidStyle, " ").concat(selected, " ").concat(animationClass, " ").concat(clickedAnim); }; + var barBackgroundClass = isSelectedDate; + var getBandWidth = function getBandWidth() { return compare ? xScale.bandwidth() / 2 : xScale.bandwidth(); }; - /** Get date of each fluid to display placeholder bar for multifluid */ - var lastDataDates = fluidStatus.map(function (fluid) { - var _fluid$lastDataDate; - return (_fluid$lastDataDate = fluid.lastDataDate) !== null && _fluid$lastDataDate !== void 0 ? _fluid$lastDataDate : _luxon.DateTime.local(0); - }); - var lastDataDate = _luxon.DateTime.max.apply(_luxon.DateTime, (0, _toConsumableArray2.default)(lastDataDates)); - var dataMissingUpcoming = Boolean(dataload.date > lastDataDate && dataload.date < _luxon.DateTime.local()); var topRoundedRect = function topRoundedRect(x, y, width, height) { var radius = height > 4 ? 4 : height / 4; return "\n M".concat(x, ",").concat(y + radius, "\n a").concat(radius, ",").concat(radius, " 0 0 1 ").concat(radius, ",").concat(-radius, "\n h").concat(width - 2 * radius, "\n a").concat(radius, ",").concat(radius, " 0 0 1 ").concat(radius, ",").concat(radius, "\n v").concat(height - radius, "\n h").concat(-width, "\n z"); }; + (0, _react.useEffect)(function () { if (isSelectedDate && !isDuel) { setClicked(true); @@ -30344,6 +31598,7 @@ var Bar = function Bar(_ref) { onAnimationEnd: onCompareAnimationEnd }))); }; + var _default = Bar; exports.default = _default; @@ -30400,57 +31655,80 @@ exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _FormNavigation = _interopRequireDefault(__webpack_require__("o73f")); + var _FormProgress = _interopRequireDefault(__webpack_require__("3/T/")); + __webpack_require__("UGT3"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _hooks = __webpack_require__("Zlw4"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var ProfileTypeFormNumberSelection = function ProfileTypeFormNumberSelection(_ref) { var step = _ref.step, - viewedStep = _ref.viewedStep, - currentProfileType = _ref.currentProfileType, - answerType = _ref.answerType, - setNextStep = _ref.setNextStep, - setPreviousStep = _ref.setPreviousStep; + viewedStep = _ref.viewedStep, + currentProfileType = _ref.currentProfileType, + answerType = _ref.answerType, + setNextStep = _ref.setNextStep, + setPreviousStep = _ref.setPreviousStep; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.profile; - }), - isProfileTypeCompleted = _useAppSelector.isProfileTypeCompleted; + return state.ecolyo.profile; + }), + isProfileTypeCompleted = _useAppSelector.isProfileTypeCompleted; + var _useState = (0, _react.useState)(''), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - answer = _useState2[0], - setAnswer = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + answer = _useState2[0], + setAnswer = _useState2[1]; + var _useState3 = (0, _react.useState)(0), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - index = _useState4[0], - setIndex = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + index = _useState4[0], + setIndex = _useState4[1]; + var decrement = function decrement() { setAnswer(answerType.choices[index - 1]); setIndex(function (prev) { return prev - 1; }); }; + var increment = function increment() { setAnswer(answerType.choices[index + 1]); setIndex(function (prev) { return prev + 1; }); }; + var handlePrevious = (0, _react.useCallback)(function () { setPreviousStep(); }, [setPreviousStep]); @@ -30508,6 +31786,7 @@ var ProfileTypeFormNumberSelection = function ProfileTypeFormNumberSelection(_re disableNextButton: answer === '' })); }; + var _default = ProfileTypeFormNumberSelection; exports.default = _default; @@ -30997,33 +32276,54 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _shield = _interopRequireDefault(__webpack_require__("CebB")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _StarsContainer = _interopRequireDefault(__webpack_require__("TEZG")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _usageEvent = _interopRequireDefault(__webpack_require__("dECN")); + var _challenge2 = __webpack_require__("F6Xr"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("1RIw"); + var ExplorationOngoing = function ExplorationOngoing(_ref) { var userChallenge = _ref.userChallenge; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var dispatch = (0, _hooks.useAppDispatch)(); var navigate = (0, _reactRouterDom.useNavigate)(); + var startExploration = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var challengeService, updatedChallenge; @@ -31035,14 +32335,18 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { _context.next = 6; break; } + challengeService = new _challenge.default(client); _context.next = 4; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.EXPLORATION_START); + case 4: updatedChallenge = _context.sent; dispatch((0, _challenge2.updateUserChallengeList)(updatedChallenge)); + case 6: navigate('/challenges'); + case 7: case "end": return _context.stop(); @@ -31050,10 +32354,12 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { } }, _callee); })); + return function startExploration() { return _ref2.apply(this, arguments); }; }(); + var validExploration = /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var challengeService, updatedChallenge; @@ -31064,6 +32370,7 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { challengeService = new _challenge.default(client); _context2.next = 3; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.EXPLORATION_DONE); + case 3: updatedChallenge = _context2.sent; _context2.next = 6; @@ -31073,9 +32380,11 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { context: userChallenge.id, startDate: userChallenge.exploration.date }); + case 6: dispatch((0, _challenge2.updateUserChallengeList)(updatedChallenge)); navigate('/challenges'); + case 8: case "end": return _context2.stop(); @@ -31083,10 +32392,12 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { } }, _callee2); })); + return function validExploration() { return _ref3.apply(this, arguments); }; }(); + var renderButton = function renderButton() { switch (userChallenge.exploration.type) { case _enums.UserExplorationType.DECLARATIVE: @@ -31103,6 +32414,7 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { }, className: "btnSecondary" }, t('exploration.button_come_back'))); + case _enums.UserExplorationType.ACTION: case _enums.UserExplorationType.ECOGESTURE: case _enums.UserExplorationType.CONSUMPTION: @@ -31113,6 +32425,7 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { }, t('exploration.button_start')); } }; + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { className: "exploration-container" }, /*#__PURE__*/_react.default.createElement("div", { @@ -31128,6 +32441,7 @@ var ExplorationOngoing = function ExplorationOngoing(_ref) { className: "exploration-explanation text-18-bold" }, /*#__PURE__*/_react.default.createElement("div", null, userChallenge.exploration.description), /*#__PURE__*/_react.default.createElement("div", null, userChallenge.exploration.complementary_description)), renderButton()))); }; + var _default = ExplorationOngoing; exports.default = _default; @@ -31140,36 +32454,58 @@ exports.default = _default; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _core = __webpack_require__("TTf+"); + var _CHALLENGE = _interopRequireDefault(__webpack_require__("jz85")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _Content = _interopRequireDefault(__webpack_require__("VOVi")); + var _CozyBar = _interopRequireDefault(__webpack_require__("CJMG")); + var _Header = _interopRequireDefault(__webpack_require__("frrP")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _hooks = __webpack_require__("Zlw4"); + var _profile = __webpack_require__("iyr4"); + __webpack_require__("6uf0"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var UnSubscribeView = function UnSubscribeView() { var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var navigate = (0, _reactRouterDom.useNavigate)(); var dispatch = (0, _hooks.useAppDispatch)(); + var _useState = (0, _react.useState)(0), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - headerHeight = _useState2[0], - setHeaderHeight = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + headerHeight = _useState2[0], + setHeaderHeight = _useState2[1]; + var unSubscribe = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { @@ -31180,6 +32516,7 @@ var UnSubscribeView = function UnSubscribeView() { sendAnalysisNotification: false })); navigate('/consumption'); + case 2: case "end": return _context.stop(); @@ -31187,10 +32524,12 @@ var UnSubscribeView = function UnSubscribeView() { } }, _callee); })); + return function unSubscribe() { return _ref.apply(this, arguments); }; }(); + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CozyBar.default, { titleKey: "common.title_analysis" }), /*#__PURE__*/_react.default.createElement(_Header.default, { @@ -31220,6 +32559,7 @@ var UnSubscribeView = function UnSubscribeView() { } }, t('unsubscribe.button_text'))))); }; + var _default = UnSubscribeView; exports.default = _default; @@ -31417,40 +32757,59 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE; var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _FormNavigation = _interopRequireDefault(__webpack_require__("o73f")); + var _FormProgress = _interopRequireDefault(__webpack_require__("3/T/")); + __webpack_require__("UGT3"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _hooks = __webpack_require__("Zlw4"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var ProfileTypeFormNumber = function ProfileTypeFormNumber(_ref) { var step = _ref.step, - viewedStep = _ref.viewedStep, - currentProfileType = _ref.currentProfileType, - answerType = _ref.answerType, - setNextStep = _ref.setNextStep, - setPreviousStep = _ref.setPreviousStep; + viewedStep = _ref.viewedStep, + currentProfileType = _ref.currentProfileType, + answerType = _ref.answerType, + setNextStep = _ref.setNextStep, + setPreviousStep = _ref.setPreviousStep; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.profile; - }), - isProfileTypeCompleted = _useAppSelector.isProfileTypeCompleted; + return state.ecolyo.profile; + }), + isProfileTypeCompleted = _useAppSelector.isProfileTypeCompleted; + var _useState = (0, _react.useState)(''), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - answer = _useState2[0], - setAnswer = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + answer = _useState2[0], + setAnswer = _useState2[1]; + var handlePrevious = (0, _react.useCallback)(function () { setPreviousStep(); }, [setPreviousStep]); @@ -31490,6 +32849,7 @@ var ProfileTypeFormNumber = function ProfileTypeFormNumber(_ref) { disableNextButton: answer === '' })); }; + var _default = ProfileTypeFormNumber; exports.default = _default; @@ -31524,54 +32884,78 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _cozyClient = __webpack_require__("SH7X"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _quiz = _interopRequireDefault(__webpack_require__("CUhI")); + var _hooks = __webpack_require__("Zlw4"); + var _QuizQuestionContent = _interopRequireDefault(__webpack_require__("TbeA")); + var _QuizQuestionContentCustom = _interopRequireDefault(__webpack_require__("oTlj")); + __webpack_require__("4hre"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var QuizQuestion = function QuizQuestion(_ref) { var userChallenge = _ref.userChallenge; var client = (0, _cozyClient.useClient)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo.global; - }), - fluidTypes = _useAppSelector.fluidTypes; + return state.ecolyo.global; + }), + fluidTypes = _useAppSelector.fluidTypes; + var navigate = (0, _reactRouterDom.useNavigate)(); var questionsIsLocked = userChallenge.quiz.questions.some(function (answer) { return answer.result == 0; }); + var _useState = (0, _react.useState)(), - _useState2 = (0, _slicedToArray2.default)(_useState, 2), - question = _useState2[0], - setQuestion = _useState2[1]; + _useState2 = (0, _slicedToArray2.default)(_useState, 2), + question = _useState2[0], + setQuestion = _useState2[1]; + var _useState3 = (0, _react.useState)(!questionsIsLocked), - _useState4 = (0, _slicedToArray2.default)(_useState3, 2), - isCustomQuest = _useState4[0], - setIsCustomQuest = _useState4[1]; + _useState4 = (0, _slicedToArray2.default)(_useState3, 2), + isCustomQuest = _useState4[0], + setIsCustomQuest = _useState4[1]; + var _useState5 = (0, _react.useState)(false), - _useState6 = (0, _slicedToArray2.default)(_useState5, 2), - customQuestionLoading = _useState6[0], - setCustomQuestionLoading = _useState6[1]; + _useState6 = (0, _slicedToArray2.default)(_useState5, 2), + customQuestionLoading = _useState6[0], + setCustomQuestionLoading = _useState6[1]; + var goBack = function goBack() { navigate('/challenges'); }; + (0, _react.useEffect)(function () { var subscribed = true; + function loadCustomQuestion() { return _loadCustomQuestion.apply(this, arguments); } + function _loadCustomQuestion() { _loadCustomQuestion = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var quizService, customQuestion; @@ -31582,12 +32966,15 @@ var QuizQuestion = function QuizQuestion(_ref) { quizService = new _quiz.default(client); _context.next = 3; return quizService.getCustomQuestion(userChallenge.quiz.customQuestion, fluidTypes); + case 3: customQuestion = _context.sent; + if (subscribed) { setQuestion(customQuestion); setCustomQuestionLoading(false); } + case 5: case "end": return _context.stop(); @@ -31597,10 +32984,12 @@ var QuizQuestion = function QuizQuestion(_ref) { })); return _loadCustomQuestion.apply(this, arguments); } + if (isCustomQuest) { setCustomQuestionLoading(true); loadCustomQuestion(); } + return function () { subscribed = false; }; @@ -31616,6 +33005,7 @@ var QuizQuestion = function QuizQuestion(_ref) { goBack: goBack })); }; + var _default = QuizQuestion; exports.default = _default; @@ -32831,30 +34221,50 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _starResult = _interopRequireDefault(__webpack_require__("uv5W")); + var _StyledIcon = _interopRequireDefault(__webpack_require__("I07j")); + var _cozyClient = __webpack_require__("SH7X"); + var _I18n = __webpack_require__("buk/"); + var _enums = __webpack_require__("gnxY"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _challenge2 = __webpack_require__("F6Xr"); + var _hooks = __webpack_require__("Zlw4"); + __webpack_require__("ANPW"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var QuizFinish = function QuizFinish(_ref) { var userChallenge = _ref.userChallenge; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + var client = (0, _cozyClient.useClient)(); var navigate = (0, _reactRouterDom.useNavigate)(); var dispatch = (0, _hooks.useAppDispatch)(); @@ -32869,9 +34279,11 @@ var QuizFinish = function QuizFinish(_ref) { case 0: _context.next = 2; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.QUIZ_RESET); + case 2: userChallengeUpdated = _context.sent; dispatch((0, _challenge2.updateUserChallengeList)(userChallengeUpdated)); + case 4: case "end": return _context.stop(); @@ -32879,6 +34291,7 @@ var QuizFinish = function QuizFinish(_ref) { } }, _callee); })), [dispatch, userChallenge, challengeService]); + var goBack = /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var userChallengeUpdated; @@ -32888,10 +34301,12 @@ var QuizFinish = function QuizFinish(_ref) { case 0: _context2.next = 2; return challengeService.updateUserChallenge(userChallenge, _enums.UserChallengeUpdateFlag.QUIZ_UPDATE, userChallenge.quiz); + case 2: userChallengeUpdated = _context2.sent; dispatch((0, _challenge2.updateUserChallengeList)(userChallengeUpdated)); navigate('/challenges'); + case 5: case "end": return _context2.stop(); @@ -32899,10 +34314,12 @@ var QuizFinish = function QuizFinish(_ref) { } }, _callee2); })); + return function goBack() { return _ref3.apply(this, arguments); }; }(); + return /*#__PURE__*/_react.default.createElement("div", { className: "quiz-container" }, /*#__PURE__*/_react.default.createElement("div", { @@ -32937,6 +34354,7 @@ var QuizFinish = function QuizFinish(_ref) { className: "btnSecondary" }, t('quiz.button_try_again'))))); }; + var _default = QuizFinish; exports.default = _default; @@ -33215,9 +34633,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var ChallengeCardOnGoing = function ChallengeCardOnGoing(_ref) { var userChallenge = _ref.userChallenge; @@ -34122,31 +35540,48 @@ if(false) {} var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.App = void 0; + var _core = __webpack_require__("TTf+"); + var _Navbar = _interopRequireDefault(__webpack_require__("ikYp")); + var _Routes = _interopRequireDefault(__webpack_require__("rqN/")); + var _SplashRoot = _interopRequireDefault(__webpack_require__("00oi")); + var _WelcomeModal = _interopRequireDefault(__webpack_require__("2s+2")); + var _cozyIntent = __webpack_require__("qvEe"); + var _Layout = __webpack_require__("Bh3+"); + var _react = _interopRequireWildcard(__webpack_require__("q1tI")); + var _reactRouterDom = __webpack_require__("SOjZ"); + var _hooks = __webpack_require__("Zlw4"); + var _theme = __webpack_require__("SlEa"); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + var App = function App(_ref) { var tracker = _ref.tracker; var location = (0, _reactRouterDom.useLocation)(); + var _useAppSelector = (0, _hooks.useAppSelector)(function (state) { - return state.ecolyo; - }), - termsStatus = _useAppSelector.global.termsStatus, - onboarding = _useAppSelector.profile.onboarding; + return state.ecolyo; + }), + termsStatus = _useAppSelector.global.termsStatus, + onboarding = _useAppSelector.profile.onboarding; + var webviewIntent = (0, _cozyIntent.useWebviewIntent)(); (0, _react.useEffect)(function () { tracker === null || tracker === void 0 ? void 0 : tracker.track(location); @@ -34169,6 +35604,7 @@ var App = function App(_ref) { termsStatus: termsStatus }))))); }; + exports.App = App; var _default = App; exports.default = _default; @@ -35887,20 +37323,29 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _Button = _interopRequireDefault(__webpack_require__("FtsS")); + var _Dialog = _interopRequireDefault(__webpack_require__("HhgX")); + var _I18n = __webpack_require__("buk/"); + var _react = _interopRequireDefault(__webpack_require__("q1tI")); + __webpack_require__("fdHv"); + var ChallengeNoFluidModal = function ChallengeNoFluidModal(_ref) { var open = _ref.open, - handleCloseClick = _ref.handleCloseClick; + handleCloseClick = _ref.handleCloseClick; + var _useI18n = (0, _I18n.useI18n)(), - t = _useI18n.t; + t = _useI18n.t; + return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, disableEscapeKeyDown: true, @@ -35926,6 +37371,7 @@ var ChallengeNoFluidModal = function ChallengeNoFluidModal(_ref) { className: "btnSecondary" }, t('challenge_no_fluid_modal.button_validate')))); }; + var _default = ChallengeNoFluidModal; exports.default = _default; @@ -36706,49 +38152,90 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE var _interopRequireDefault = __webpack_require__("TqRt"); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp")); + var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE")); + var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + var Sentry = _interopRequireWildcard(__webpack_require__("agHs")); + var _cozyClient = __webpack_require__("SH7X"); + var _cozyLogger = _interopRequireDefault(__webpack_require__("Vggm")); + var _challengeEntity2 = _interopRequireDefault(__webpack_require__("+LQo")); + var _duelEntity2 = _interopRequireDefault(__webpack_require__("NErO")); + var _explorationEntity2 = _interopRequireDefault(__webpack_require__("66aa")); + var _profileData = _interopRequireDefault(__webpack_require__("/Pxu")); + var _quizEntity2 = _interopRequireDefault(__webpack_require__("lMoa")); + var _doctypes = __webpack_require__("D2hQ"); + var _luxon = __webpack_require__("ExVU"); + var _migration = __webpack_require__("mfVY"); + var _migration2 = __webpack_require__("6QIQ"); + var _models = __webpack_require__("DVlV"); + var _challenge = _interopRequireDefault(__webpack_require__("kdea")); + var _duel = _interopRequireDefault(__webpack_require__("Vpb/")); + var _exploration = _interopRequireDefault(__webpack_require__("z8s1")); + var _fluid = _interopRequireDefault(__webpack_require__("z34f")); + var _konnectorStatus = _interopRequireDefault(__webpack_require__("TsVr")); + var _profile = _interopRequireDefault(__webpack_require__("2l2O")); + var _quiz = _interopRequireDefault(__webpack_require__("CUhI")); + var _date = __webpack_require__("XrP9"); + var _duration = __webpack_require__("P86i"); + var _hash = __webpack_require__("C6hV"); + var _logger = _interopRequireDefault(__webpack_require__("gjtA")); + var _profileEcogesture = _interopRequireDefault(__webpack_require__("4iQs")); + var _profileTypeEntity = _interopRequireDefault(__webpack_require__("aypK")); + var _terms = _interopRequireDefault(__webpack_require__("wPjT")); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + var logStack = _cozyLogger.default.namespace('initializationService'); + var InitializationService = /*#__PURE__*/function () { function InitializationService(_client, _setInitStep, _setInitStepError) { (0, _classCallCheck2.default)(this, InitializationService); @@ -36759,18 +38246,20 @@ var InitializationService = /*#__PURE__*/function () { this._setInitStep = _setInitStep; this._setInitStepError = _setInitStepError; } - /** * Check if profil exist * If not, the profil is created and migrations are set to latest * success return: profil * failure return: null */ + + (0, _createClass2.default)(InitializationService, [{ key: "initProfile", value: function () { var _initProfile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var startTime, profileService, loadedProfile, _yield$this$_client$c, newProfile, updatedProfile, errorMessage; + return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { @@ -36778,34 +38267,46 @@ var InitializationService = /*#__PURE__*/function () { startTime = performance.now(); profileService = new _profile.default(this._client); _context.prev = 2; + this._setInitStep(_models.InitSteps.PROFILE); + _context.next = 6; return profileService.getProfile(); + case 6: loadedProfile = _context.sent; + if (loadedProfile) { _context.next = 20; break; } + _context.next = 10; return this._client.create(_doctypes.PROFILE_DOCTYPE, _profileData.default); + case 10: _yield$this$_client$c = _context.sent; newProfile = _yield$this$_client$c.data; + if (!newProfile) { _context.next = 18; break; } - (0, _duration.logDuration)('[Initialization] Profile created', startTime); - // create schema to latest version + + (0, _duration.logDuration)('[Initialization] Profile created', startTime); // create schema to latest version + _context.next = 16; return (0, _migration.initSchemaDoctype)(this._client, _migration2.migrations.length); + case 16: _context.next = 20; break; + case 18: this._setInitStepError(_models.InitStepsErrors.PROFILE_ERROR); + throw new Error('initProfile: Profile not created'); + case 20: _context.next = 22; return profileService.updateProfile({ @@ -36813,19 +38314,26 @@ var InitializationService = /*#__PURE__*/function () { keepLocalTime: true }) }); + case 22: updatedProfile = _context.sent; (0, _duration.logDuration)('[Initialization] Profile loaded and updated in', startTime); return _context.abrupt("return", updatedProfile); + case 27: _context.prev = 27; _context.t0 = _context["catch"](2); + this._setInitStepError(_models.InitStepsErrors.PROFILE_ERROR); + errorMessage = "Initialization error - initProfile: :".concat(JSON.stringify(_context.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context.t0); throw _context.t0; + case 35: case "end": return _context.stop(); @@ -36833,9 +38341,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee, this, [[2, 27]]); })); + function initProfile() { return _initProfile.apply(this, arguments); } + return initProfile; }() /** @@ -36844,6 +38354,7 @@ var InitializationService = /*#__PURE__*/function () { * success return: profileType * failure return: null */ + }, { key: "initProfileType", value: function () { @@ -36858,19 +38369,26 @@ var InitializationService = /*#__PURE__*/function () { _context2.prev = 2; _context2.next = 5; return profileTypeEntityService.getProfileType(); + case 5: loadedProfileType = _context2.sent; (0, _duration.logDuration)('[Initialization] ProfileType loaded', startTime); return _context2.abrupt("return", loadedProfileType); + case 10: _context2.prev = 10; _context2.t0 = _context2["catch"](2); + this._setInitStepError(_models.InitStepsErrors.PROFILETYPE_ERROR); + errorMessage = "Initialization error - initProfileType: ".concat(JSON.stringify(_context2.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context2.t0); throw _context2.t0; + case 18: case "end": return _context2.stop(); @@ -36878,9 +38396,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee2, this, [[2, 10]]); })); + function initProfileType() { return _initProfileType.apply(this, arguments); } + return initProfileType; }() }, { @@ -36897,19 +38417,26 @@ var InitializationService = /*#__PURE__*/function () { _context3.prev = 2; _context3.next = 5; return profileEcogestureService.getProfileEcogesture(); + case 5: loadedProfileEcogesture = _context3.sent; (0, _duration.logDuration)('[Initialization] ProfileEcogesture loaded', startTime); return _context3.abrupt("return", loadedProfileEcogesture); + case 10: _context3.prev = 10; _context3.t0 = _context3["catch"](2); + this._setInitStepError(_models.InitStepsErrors.PROFILETYPE_ERROR); + errorMessage = "Initialization error - initProfileEcogesture: ".concat(JSON.stringify(_context3.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context3.t0); throw _context3.t0; + case 18: case "end": return _context3.stop(); @@ -36917,9 +38444,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee3, this, [[2, 10]]); })); + function initProfileEcogesture() { return _initProfileEcogesture.apply(this, arguments); } + return initProfileEcogesture; }() }, { @@ -36927,6 +38456,7 @@ var InitializationService = /*#__PURE__*/function () { value: function () { var _initFluidPrices = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() { var startTime, triggerQuery, _yield$this$_client$q, _yield$this$_client$q2, trigger; + return _regenerator.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { @@ -36938,16 +38468,20 @@ var InitializationService = /*#__PURE__*/function () { }); _context4.next = 5; return this._client.query(triggerQuery); + case 5: _yield$this$_client$q = _context4.sent; _yield$this$_client$q2 = (0, _slicedToArray2.default)(_yield$this$_client$q.data, 1); trigger = _yield$this$_client$q2[0]; + if (trigger !== null && trigger !== void 0 && trigger._id) { this._client.getStackClient().fetchJSON('POST', "/jobs/triggers/".concat(trigger._id, "/launch")); + (0, _duration.logDuration)('[Initialization] fluidPrices service launched successfully', startTime); } else { (0, _duration.logDuration)('[Initialization] FluidPrices service trigger not found', startTime); } + case 9: case "end": return _context4.stop(); @@ -36955,9 +38489,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee4, this); })); + function initFluidPrices() { return _initFluidPrices.apply(this, arguments); } + return initFluidPrices; }() }, { @@ -36965,136 +38501,191 @@ var InitializationService = /*#__PURE__*/function () { value: function () { var _initChallengeEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(hash) { var startTime, challengeHash, challengeService, loadedChallengeEntity, _iterator, _step, challengeEntity, checkCount, errorMessage, _iterator2, _step2, _challengeEntity, _checkCount, _errorMessage; + return _regenerator.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: startTime = performance.now(); + this._setInitStep(_models.InitSteps.CHALLENGES); + challengeHash = (0, _hash.hashFile)(_challengeEntity2.default); challengeService = new _challenge.default(this._client); // Populate data if none challengeEntity exists + _context5.next = 6; return challengeService.getAllChallengeEntities(); + case 6: loadedChallengeEntity = _context5.sent; + if (!(!loadedChallengeEntity || (loadedChallengeEntity === null || loadedChallengeEntity === void 0 ? void 0 : loadedChallengeEntity.length) === 0)) { _context5.next = 44; break; } + _context5.prev = 8; _iterator = _createForOfIteratorHelper(_challengeEntity2.default); _context5.prev = 10; + _iterator.s(); + case 12: if ((_step = _iterator.n()).done) { _context5.next = 18; break; } + challengeEntity = _step.value; _context5.next = 16; return this._client.create(_doctypes.CHALLENGE_DOCTYPE, challengeEntity); + case 16: _context5.next = 12; break; + case 18: _context5.next = 23; break; + case 20: _context5.prev = 20; _context5.t0 = _context5["catch"](10); + _iterator.e(_context5.t0); + case 23: _context5.prev = 23; + _iterator.f(); + return _context5.finish(23); + case 26: _context5.next = 28; return challengeService.getAllChallengeEntities(); + case 28: checkCount = _context5.sent; + if (!(!checkCount || (checkCount === null || checkCount === void 0 ? void 0 : checkCount.length) !== _challengeEntity2.default.length)) { _context5.next = 32; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initChallengeEntity: Created challenge entities does not match'); + case 32: (0, _duration.logDuration)('[Initialization] Challenge entities created', startTime); return _context5.abrupt("return", challengeHash); + case 36: _context5.prev = 36; _context5.t1 = _context5["catch"](8); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + errorMessage = "Initialization error - initChallengeEntity: ".concat(JSON.stringify(_context5.t1)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context5.t1); throw _context5.t1; + case 44: if (!(hash !== challengeHash)) { _context5.next = 85; break; } + _context5.prev = 45; _context5.next = 48; return challengeService.deleteAllChallengeEntities(); + case 48: // Population with the data _iterator2 = _createForOfIteratorHelper(_challengeEntity2.default); _context5.prev = 49; + _iterator2.s(); + case 51: if ((_step2 = _iterator2.n()).done) { _context5.next = 57; break; } + _challengeEntity = _step2.value; _context5.next = 55; return this._client.create(_doctypes.CHALLENGE_DOCTYPE, _challengeEntity); + case 55: _context5.next = 51; break; + case 57: _context5.next = 62; break; + case 59: _context5.prev = 59; _context5.t2 = _context5["catch"](49); + _iterator2.e(_context5.t2); + case 62: _context5.prev = 62; + _iterator2.f(); + return _context5.finish(62); + case 65: _context5.next = 67; return challengeService.getAllChallengeEntities(); + case 67: _checkCount = _context5.sent; + if (!(!_checkCount || (_checkCount === null || _checkCount === void 0 ? void 0 : _checkCount.length) !== _challengeEntity2.default.length)) { _context5.next = 71; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initChallengeEntity: Created challenge entities does not match'); + case 71: (0, _duration.logDuration)('[Initialization] Challenge entities updated', startTime); return _context5.abrupt("return", challengeHash); + case 75: _context5.prev = 75; _context5.t3 = _context5["catch"](45); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + _errorMessage = "Initialization error - initChallengeEntity: ".concat(JSON.stringify(_context5.t3)); logStack('error', _errorMessage); + _logger.default.error(_errorMessage); + Sentry.captureException(_context5.t3); throw _context5.t3; + case 83: _context5.next = 87; break; + case 85: // Doctype already up to date (0, _duration.logDuration)('[Initialization] Challenge Entity loaded', startTime); return _context5.abrupt("return", challengeHash); + case 87: case "end": return _context5.stop(); @@ -37102,9 +38693,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee5, this, [[8, 36], [10, 20, 23, 26], [45, 75], [49, 59, 62, 65]]); })); + function initChallengeEntity(_x) { return _initChallengeEntity.apply(this, arguments); } + return initChallengeEntity; }() }, { @@ -37112,6 +38705,7 @@ var InitializationService = /*#__PURE__*/function () { value: function () { var _initDuelEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(hash) { var startTime, hashDuelEntity, duelService, loadedDuelTypes, _iterator3, _step3, duelEntity, checkCount, errorMessage, _iterator4, _step4, _duelEntity, _checkCount2, _errorMessage2; + return _regenerator.default.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { @@ -37119,128 +38713,180 @@ var InitializationService = /*#__PURE__*/function () { startTime = performance.now(); hashDuelEntity = (0, _hash.hashFile)(_duelEntity2.default); duelService = new _duel.default(this._client); // Populate data if none DuelEntity exists + _context6.next = 5; return duelService.getAllDuelEntities(); + case 5: loadedDuelTypes = _context6.sent; + if (!(!loadedDuelTypes || (loadedDuelTypes === null || loadedDuelTypes === void 0 ? void 0 : loadedDuelTypes.length) === 0)) { _context6.next = 43; break; } + _context6.prev = 7; _iterator3 = _createForOfIteratorHelper(_duelEntity2.default); _context6.prev = 9; + _iterator3.s(); + case 11: if ((_step3 = _iterator3.n()).done) { _context6.next = 17; break; } + duelEntity = _step3.value; _context6.next = 15; return this._client.create(_doctypes.DUEL_DOCTYPE, duelEntity); + case 15: _context6.next = 11; break; + case 17: _context6.next = 22; break; + case 19: _context6.prev = 19; _context6.t0 = _context6["catch"](9); + _iterator3.e(_context6.t0); + case 22: _context6.prev = 22; + _iterator3.f(); + return _context6.finish(22); + case 25: _context6.next = 27; return duelService.getAllDuelEntities(); + case 27: checkCount = _context6.sent; + if (!(!checkCount || (checkCount === null || checkCount === void 0 ? void 0 : checkCount.length) !== _duelEntity2.default.length)) { _context6.next = 31; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initDuelEntity: Created duel entities does not match'); + case 31: (0, _duration.logDuration)('[Initialization] UserDuel entities created', startTime); return _context6.abrupt("return", hashDuelEntity); + case 35: _context6.prev = 35; _context6.t1 = _context6["catch"](7); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + errorMessage = "Initialization error - initDuelEntity: ".concat(JSON.stringify(_context6.t1)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context6.t1); throw _context6.t1; + case 43: if (!(hash !== hashDuelEntity)) { _context6.next = 84; break; } + _context6.prev = 44; _context6.next = 47; return duelService.deleteAllDuelEntities(); + case 47: // Population with the data _iterator4 = _createForOfIteratorHelper(_duelEntity2.default); _context6.prev = 48; + _iterator4.s(); + case 50: if ((_step4 = _iterator4.n()).done) { _context6.next = 56; break; } + _duelEntity = _step4.value; _context6.next = 54; return this._client.create(_doctypes.DUEL_DOCTYPE, _duelEntity); + case 54: _context6.next = 50; break; + case 56: _context6.next = 61; break; + case 58: _context6.prev = 58; _context6.t2 = _context6["catch"](48); + _iterator4.e(_context6.t2); + case 61: _context6.prev = 61; + _iterator4.f(); + return _context6.finish(61); + case 64: _context6.next = 66; return duelService.getAllDuelEntities(); + case 66: _checkCount2 = _context6.sent; + if (!(!_checkCount2 || (_checkCount2 === null || _checkCount2 === void 0 ? void 0 : _checkCount2.length) !== _duelEntity2.default.length)) { _context6.next = 70; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initDuelEntity: Created duel entities does not match'); + case 70: (0, _duration.logDuration)('[Initialization] UserDuel entities updated', startTime); return _context6.abrupt("return", hashDuelEntity); + case 74: _context6.prev = 74; _context6.t3 = _context6["catch"](44); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + _errorMessage2 = "Initialization error - initDuelEntity: ".concat(JSON.stringify(_context6.t3)); logStack('error', _errorMessage2); + _logger.default.error(_errorMessage2); + Sentry.captureException(_context6.t3); throw _context6.t3; + case 82: _context6.next = 86; break; + case 84: // Doctype already up to date (0, _duration.logDuration)('[Initialization] Duel Entity loaded', startTime); return _context6.abrupt("return", hashDuelEntity); + case 86: case "end": return _context6.stop(); @@ -37248,9 +38894,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee6, this, [[7, 35], [9, 19, 22, 25], [44, 74], [48, 58, 61, 64]]); })); + function initDuelEntity(_x2) { return _initDuelEntity.apply(this, arguments); } + return initDuelEntity; }() }, { @@ -37258,6 +38906,7 @@ var InitializationService = /*#__PURE__*/function () { value: function () { var _initQuizEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(hash) { var startTime, quizHash, quizService, loadedQuizEntity, _iterator5, _step5, quizEntity, checkCount, errorMessage, _iterator6, _step6, _quizEntity, _checkCount3, _errorMessage3; + return _regenerator.default.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { @@ -37265,128 +38914,180 @@ var InitializationService = /*#__PURE__*/function () { startTime = performance.now(); quizHash = (0, _hash.hashFile)(_quizEntity2.default); quizService = new _quiz.default(this._client); // Populate data if none quizEntity exists + _context7.next = 5; return quizService.getAllQuizEntities(); + case 5: loadedQuizEntity = _context7.sent; + if (!(!loadedQuizEntity || (loadedQuizEntity === null || loadedQuizEntity === void 0 ? void 0 : loadedQuizEntity.length) === 0)) { _context7.next = 43; break; } + _context7.prev = 7; _iterator5 = _createForOfIteratorHelper(_quizEntity2.default); _context7.prev = 9; + _iterator5.s(); + case 11: if ((_step5 = _iterator5.n()).done) { _context7.next = 17; break; } + quizEntity = _step5.value; _context7.next = 15; return this._client.create(_doctypes.QUIZ_DOCTYPE, quizEntity); + case 15: _context7.next = 11; break; + case 17: _context7.next = 22; break; + case 19: _context7.prev = 19; _context7.t0 = _context7["catch"](9); + _iterator5.e(_context7.t0); + case 22: _context7.prev = 22; + _iterator5.f(); + return _context7.finish(22); + case 25: _context7.next = 27; return quizService.getAllQuizEntities(); + case 27: checkCount = _context7.sent; + if (!(!checkCount || (checkCount === null || checkCount === void 0 ? void 0 : checkCount.length) !== _quizEntity2.default.length)) { _context7.next = 31; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initQuizEntity: Created quiz entities does not match'); + case 31: (0, _duration.logDuration)('[Initialization] Quiz entities created', startTime); return _context7.abrupt("return", quizHash); + case 35: _context7.prev = 35; _context7.t1 = _context7["catch"](7); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + errorMessage = "Initialization error - initQuizEntity: ".concat(JSON.stringify(_context7.t1)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context7.t1); throw _context7.t1; + case 43: if (!(hash !== quizHash)) { _context7.next = 84; break; } + _context7.prev = 44; _context7.next = 47; return quizService.deleteAllQuizEntities(); + case 47: // Population with the data _iterator6 = _createForOfIteratorHelper(_quizEntity2.default); _context7.prev = 48; + _iterator6.s(); + case 50: if ((_step6 = _iterator6.n()).done) { _context7.next = 56; break; } + _quizEntity = _step6.value; _context7.next = 54; return this._client.create(_doctypes.QUIZ_DOCTYPE, _quizEntity); + case 54: _context7.next = 50; break; + case 56: _context7.next = 61; break; + case 58: _context7.prev = 58; _context7.t2 = _context7["catch"](48); + _iterator6.e(_context7.t2); + case 61: _context7.prev = 61; + _iterator6.f(); + return _context7.finish(61); + case 64: _context7.next = 66; return quizService.getAllQuizEntities(); + case 66: _checkCount3 = _context7.sent; + if (!(!_checkCount3 || (_checkCount3 === null || _checkCount3 === void 0 ? void 0 : _checkCount3.length) !== _quizEntity2.default.length)) { _context7.next = 70; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initQuizEntity: Created quiz entities does not match'); + case 70: (0, _duration.logDuration)('[Initialization] Quiz entities updated', startTime); return _context7.abrupt("return", quizHash); + case 74: _context7.prev = 74; _context7.t3 = _context7["catch"](44); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + _errorMessage3 = "Initialization error - initQuizEntity: ".concat(JSON.stringify(_context7.t3)); logStack('error', _errorMessage3); + _logger.default.error(_errorMessage3); + Sentry.captureException(_context7.t3); throw _context7.t3; + case 82: _context7.next = 86; break; + case 84: // Doctype already up to date (0, _duration.logDuration)('[Initialization] Quiz Entity loaded', startTime); return _context7.abrupt("return", quizHash); + case 86: case "end": return _context7.stop(); @@ -37394,9 +39095,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee7, this, [[7, 35], [9, 19, 22, 25], [44, 74], [48, 58, 61, 64]]); })); + function initQuizEntity(_x3) { return _initQuizEntity.apply(this, arguments); } + return initQuizEntity; }() }, { @@ -37404,6 +39107,7 @@ var InitializationService = /*#__PURE__*/function () { value: function () { var _initExplorationEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(hash) { var startTime, explorationHash, explorationService, loadedExplorationEntity, _iterator7, _step7, explorationEntity, checkCount, errorMessage, _iterator8, _step8, _explorationEntity, _checkCount4, _errorMessage4; + return _regenerator.default.wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { @@ -37411,128 +39115,180 @@ var InitializationService = /*#__PURE__*/function () { startTime = performance.now(); explorationHash = (0, _hash.hashFile)(_explorationEntity2.default); explorationService = new _exploration.default(this._client); // Populate data if none explorationEntity exists + _context8.next = 5; return explorationService.getAllExplorationEntities(); + case 5: loadedExplorationEntity = _context8.sent; + if (!(!loadedExplorationEntity || (loadedExplorationEntity === null || loadedExplorationEntity === void 0 ? void 0 : loadedExplorationEntity.length) === 0)) { _context8.next = 43; break; } + _context8.prev = 7; _iterator7 = _createForOfIteratorHelper(_explorationEntity2.default); _context8.prev = 9; + _iterator7.s(); + case 11: if ((_step7 = _iterator7.n()).done) { _context8.next = 17; break; } + explorationEntity = _step7.value; _context8.next = 15; return this._client.create(_doctypes.EXPLORATION_DOCTYPE, explorationEntity); + case 15: _context8.next = 11; break; + case 17: _context8.next = 22; break; + case 19: _context8.prev = 19; _context8.t0 = _context8["catch"](9); + _iterator7.e(_context8.t0); + case 22: _context8.prev = 22; + _iterator7.f(); + return _context8.finish(22); + case 25: _context8.next = 27; return explorationService.getAllExplorationEntities(); + case 27: checkCount = _context8.sent; + if (!(!checkCount || (checkCount === null || checkCount === void 0 ? void 0 : checkCount.length) !== _explorationEntity2.default.length)) { _context8.next = 31; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initExplorationEntity: Created exploration entities does not match'); + case 31: (0, _duration.logDuration)('[Initialization] Exploration entities created', startTime); return _context8.abrupt("return", explorationHash); + case 35: _context8.prev = 35; _context8.t1 = _context8["catch"](7); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + errorMessage = "Initialization error - initExplorationEntity: ".concat(JSON.stringify(_context8.t1)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context8.t1); throw _context8.t1; + case 43: if (!(hash !== explorationHash)) { _context8.next = 84; break; } + _context8.prev = 44; _context8.next = 47; return explorationService.deleteAllExplorationEntities(); + case 47: // Population with the data _iterator8 = _createForOfIteratorHelper(_explorationEntity2.default); _context8.prev = 48; + _iterator8.s(); + case 50: if ((_step8 = _iterator8.n()).done) { _context8.next = 56; break; } + _explorationEntity = _step8.value; _context8.next = 54; return this._client.create(_doctypes.EXPLORATION_DOCTYPE, _explorationEntity); + case 54: _context8.next = 50; break; + case 56: _context8.next = 61; break; + case 58: _context8.prev = 58; _context8.t2 = _context8["catch"](48); + _iterator8.e(_context8.t2); + case 61: _context8.prev = 61; + _iterator8.f(); + return _context8.finish(61); + case 64: _context8.next = 66; return explorationService.getAllExplorationEntities(); + case 66: _checkCount4 = _context8.sent; + if (!(!_checkCount4 || (_checkCount4 === null || _checkCount4 === void 0 ? void 0 : _checkCount4.length) !== _explorationEntity2.default.length)) { _context8.next = 70; break; } + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initExplorationEntity: Created exploration entities does not match'); + case 70: (0, _duration.logDuration)('[Initialization] Exploration entities updated', startTime); return _context8.abrupt("return", explorationHash); + case 74: _context8.prev = 74; _context8.t3 = _context8["catch"](44); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + _errorMessage4 = "Initialization error - initExplorationEntity: ".concat(JSON.stringify(_context8.t3)); logStack('error', _errorMessage4); + _logger.default.error(_errorMessage4); + Sentry.captureException(_context8.t3); throw _context8.t3; + case 82: _context8.next = 86; break; + case 84: // Doctype already up to date (0, _duration.logDuration)('[Initialization] Exploration Entity loaded', startTime); return _context8.abrupt("return", explorationHash); + case 86: case "end": return _context8.stop(); @@ -37540,9 +39296,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee8, this, [[7, 35], [9, 19, 22, 25], [44, 74], [48, 58, 61, 64]]); })); + function initExplorationEntity(_x4) { return _initExplorationEntity.apply(this, arguments); } + return initExplorationEntity; }() }, { @@ -37557,33 +39315,43 @@ var InitializationService = /*#__PURE__*/function () { startTime = performance.now(); _context9.prev = 1; actualAnalysisDate = (0, _date.getActualAnalysisDate)(); + if (!(profile.monthlyAnalysisDate && actualAnalysisDate <= profile.monthlyAnalysisDate)) { _context9.next = 8; break; } + (0, _duration.logDuration)('[Initialization] Analysis information from profile loaded', startTime); return _context9.abrupt("return", { monthlyAnalysisDate: profile.monthlyAnalysisDate, haveSeenLastAnalysis: profile.haveSeenLastAnalysis }); + case 8: (0, _duration.logDuration)('[Initialization] Analysis information from profile updated', startTime); return _context9.abrupt("return", { monthlyAnalysisDate: actualAnalysisDate, haveSeenLastAnalysis: profile.isFirstConnection }); + case 10: _context9.next = 20; break; + case 12: _context9.prev = 12; _context9.t0 = _context9["catch"](1); + this._setInitStepError(_models.InitStepsErrors.ANALYSIS_ERROR); + errorMessage = "Initialization error - initAnalysis: ".concat(JSON.stringify(_context9.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context9.t0); throw _context9.t0; + case 20: case "end": return _context9.stop(); @@ -37591,9 +39359,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee9, this, [[1, 12]]); })); + function initAnalysis(_x5) { return _initAnalysis.apply(this, arguments); } + return initAnalysis; }() /** @@ -37601,6 +39371,7 @@ var InitializationService = /*#__PURE__*/function () { * success return: FluidType[] * failure throw error */ + }, { key: "initFluidTypes", value: function () { @@ -37615,30 +39386,43 @@ var InitializationService = /*#__PURE__*/function () { _context10.prev = 2; _context10.next = 5; return kss.getKonnectorAccountStatus(); + case 5: fluidtypes = _context10.sent; + if (!fluidtypes) { _context10.next = 11; break; } + (0, _duration.logDuration)('[Initialization] Fluid Types loaded', startTime); return _context10.abrupt("return", fluidtypes); + case 11: this._setInitStepError(_models.InitStepsErrors.CONSOS_ERROR); + throw new Error('initFluidTypes: FluidTypes not found'); + case 13: _context10.next = 24; break; + case 15: _context10.prev = 15; _context10.t0 = _context10["catch"](2); + this._setInitStepError(_models.InitStepsErrors.CONSOS_ERROR); + _logger.default.error('Initialization error - : ', _context10.t0); + errorMessage = "Initialization error - initFluidTypes: ".concat(JSON.stringify(_context10.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context10.t0); throw _context10.t0; + case 24: case "end": return _context10.stop(); @@ -37646,9 +39430,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee10, this, [[2, 15]]); })); + function initFluidTypes() { return _initFluidTypes.apply(this, arguments); } + return initFluidTypes; }() /** @@ -37656,6 +39442,7 @@ var InitializationService = /*#__PURE__*/function () { * success return: FluidStatus[] * failure throw error */ + }, { key: "initFluidStatus", value: function () { @@ -37668,32 +39455,46 @@ var InitializationService = /*#__PURE__*/function () { startTime = performance.now(); fs = new _fluid.default(this._client); _context11.prev = 2; + this._setInitStep(_models.InitSteps.CONSOS); + _context11.next = 6; return fs.getFluidStatus(); + case 6: fluidStatus = _context11.sent; + if (!fluidStatus) { _context11.next = 12; break; } + (0, _duration.logDuration)('[Initialization] Fluid Status loaded', startTime); return _context11.abrupt("return", fluidStatus); + case 12: this._setInitStepError(_models.InitStepsErrors.CONSOS_ERROR); + throw new Error('initFluidStatus: fluidStatus not found'); + case 14: _context11.next = 24; break; + case 16: _context11.prev = 16; _context11.t0 = _context11["catch"](2); + this._setInitStepError(_models.InitStepsErrors.CONSOS_ERROR); + errorMessage = "Initialization error - initFluidStatus: ".concat(JSON.stringify(_context11.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context11.t0); throw _context11.t0; + case 24: case "end": return _context11.stop(); @@ -37701,9 +39502,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee11, this, [[2, 16]]); })); + function initFluidStatus() { return _initFluidStatus.apply(this, arguments); } + return initFluidStatus; }() /** @@ -37711,6 +39514,7 @@ var InitializationService = /*#__PURE__*/function () { * success return: UserChallenge[] * failure throw error */ + }, { key: "initUserChallenges", value: function () { @@ -37725,29 +39529,41 @@ var InitializationService = /*#__PURE__*/function () { _context12.prev = 2; _context12.next = 5; return challengeService.buildUserChallengeList(fluidStatus); + case 5: userChallengeList = _context12.sent; + if (!userChallengeList) { _context12.next = 11; break; } + (0, _duration.logDuration)('[Initialization] initUserChallenges', startTime); return _context12.abrupt("return", userChallengeList); + case 11: this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + throw new Error('initUserChallenges: userChallengeList not found'); + case 13: _context12.next = 23; break; + case 15: _context12.prev = 15; _context12.t0 = _context12["catch"](2); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + errorMessage = "Initialization error - initUserChallenges: ".concat(JSON.stringify(_context12.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context12.t0); throw _context12.t0; + case 23: case "end": return _context12.stop(); @@ -37755,9 +39571,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee12, this, [[2, 15]]); })); + function initUserChallenges(_x6) { return _initUserChallenges.apply(this, arguments); } + return initUserChallenges; }() /** @@ -37765,11 +39583,13 @@ var InitializationService = /*#__PURE__*/function () { * success return: UserChallenge, Dataload[] * failure throw error */ + }, { key: "initDuelProgress", value: function () { var _initDuelProgress = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(userChallenge) { var startTime, challengeService, _yield$challengeServi, updatedUserChallenge, dataloads, errorMessage; + return _regenerator.default.wrap(function _callee13$(_context13) { while (1) { switch (_context13.prev = _context13.next) { @@ -37779,6 +39599,7 @@ var InitializationService = /*#__PURE__*/function () { _context13.prev = 2; _context13.next = 5; return challengeService.initChallengeDuelProgress(userChallenge); + case 5: _yield$challengeServi = _context13.sent; updatedUserChallenge = _yield$challengeServi.updatedUserChallenge; @@ -37788,15 +39609,21 @@ var InitializationService = /*#__PURE__*/function () { updatedUserChallenge: updatedUserChallenge, dataloads: dataloads }); + case 12: _context13.prev = 12; _context13.t0 = _context13["catch"](2); + this._setInitStepError(_models.InitStepsErrors.CHALLENGES_ERROR); + errorMessage = "Initialization error - : ".concat(JSON.stringify(_context13.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context13.t0); throw _context13.t0; + case 20: case "end": return _context13.stop(); @@ -37804,9 +39631,11 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee13, this, [[2, 12]]); })); + function initDuelProgress(_x7) { return _initDuelProgress.apply(this, arguments); } + return initDuelProgress; }() }, { @@ -37820,82 +39649,111 @@ var InitializationService = /*#__PURE__*/function () { case 0: startTime = performance.now(); _context14.prev = 1; + this._setInitStep(_models.InitSteps.CONSENT); + termService = new _terms.default(this._client); _context14.next = 6; return termService.isConsentVersionUpToDate(); + case 6: isUpToDate = _context14.sent; _context14.next = 9; return termService.getLastTerm(); + case 9: lastTerm = _context14.sent; + if (lastTerm) { _context14.next = 13; break; } + _logger.default.info('[Initialization] Init first terms'); + return _context14.abrupt("return", { accepted: false, versionType: 'init' }); + case 13: if (!isUpToDate) { _context14.next = 22; break; } + _context14.next = 16; return termService.isLastTermValidated(); + case 16: isLastConsentValidated = _context14.sent; + if (!isLastConsentValidated) { _context14.next = 20; break; } + _logger.default.info('[Initialization] Last Consent successfully loaded and valid'); + return _context14.abrupt("return", { accepted: true, versionType: 'init' }); + case 20: _logger.default.info('[Initialization] Consent not up-to-date'); + return _context14.abrupt("return", { accepted: false, versionType: 'init' }); + case 22: _context14.next = 24; return termService.getTermsVersionType(); + case 24: versionType = _context14.sent; + if (!(versionType === 'minor')) { _context14.next = 28; break; } + _logger.default.info('[Initialization] Minor Terms update detected'); + return _context14.abrupt("return", { accepted: false, versionType: 'minor' }); + case 28: _logger.default.info('[Initialization] Major Terms update detected'); + return _context14.abrupt("return", { accepted: false, versionType: 'major' }); + case 32: _context14.prev = 32; _context14.t0 = _context14["catch"](1); + this._setInitStepError(_models.InitStepsErrors.CONSENT_ERROR); + errorMessage = "Initialization error - initConsent: ".concat(JSON.stringify(_context14.t0)); logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(_context14.t0); throw _context14.t0; + case 40: _context14.prev = 40; (0, _duration.logDuration)('[Initialization] initConsent finished', startTime); return _context14.finish(40); + case 43: case "end": return _context14.stop(); @@ -37903,14 +39761,17 @@ var InitializationService = /*#__PURE__*/function () { } }, _callee14, this, [[1, 32, 40, 43]]); })); + function initConsent() { return _initConsent.apply(this, arguments); } + return initConsent; }() }]); return InitializationService; }(); + exports.default = InitializationService; /***/ }), diff --git a/index.html b/index.html index c20e48f94..1ec9cd9ba 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.c10fac216b392b151e4c.js"></script><script src="app/ecolyo.fc48bb071a134285cc64.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.fbf1f65c47dc10085503.js"></script><script src="app/ecolyo.b5adf37933213ac662df.js"></script></div></body></html> \ No newline at end of file diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js index 73d93031a..7986fea38 100644 --- a/services/aggregatorUsageEvents/ecolyo.js +++ b/services/aggregatorUsageEvents/ecolyo.js @@ -44577,48 +44577,74 @@ function hasInvalidTimeData(obj) { var _interopRequireDefault = __webpack_require__(1); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__(2)); + var Sentry = _interopRequireWildcard(__webpack_require__(3)); + var _cozyClient = __webpack_require__(165); + var _cozyLogger = _interopRequireDefault(__webpack_require__(99)); + var _doctypes = __webpack_require__(711); + var _enums = __webpack_require__(119); + var _luxon = __webpack_require__(140); + var _consumption = _interopRequireDefault(__webpack_require__(746)); + var _duel = _interopRequireDefault(__webpack_require__(924)); + var _quiz = _interopRequireDefault(__webpack_require__(927)); + var _date = __webpack_require__(751); + var _logger = _interopRequireDefault(__webpack_require__(923)); + var _math = __webpack_require__(925); + var _utils = __webpack_require__(752); + var _action = _interopRequireDefault(__webpack_require__(928)); + var _exploration = _interopRequireDefault(__webpack_require__(935)); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + const logStack = _cozyLogger.default.namespace('challengeService'); + class ChallengeService { constructor(_client) { (0, _defineProperty2.default)(this, "_client", void 0); this._client = _client; } - /** * Retrieve list of Userchallenge and unlock the current challenge if the last one is done * If all challenges are locked, then unlock the first one * @param {UserChallenge[]} userChallenges - status of fluids */ + + unLockCurrentUserChallenge(userChallenges) { let isAllLocked = true; userChallenges.forEach((challenge, i) => { if (challenge.state != _enums.UserChallengeState.LOCKED) isAllLocked = false; + if (challenge.state === _enums.UserChallengeState.DONE) { var _userChallenges; + if (((_userChallenges = userChallenges[i + 1]) === null || _userChallenges === void 0 ? void 0 : _userChallenges.state) === _enums.UserChallengeState.LOCKED) { userChallenges[i + 1].state = _enums.UserChallengeState.UNLOCKED; } @@ -44627,11 +44653,12 @@ class ChallengeService { if (isAllLocked) userChallenges[0].state = _enums.UserChallengeState.UNLOCKED; return userChallenges; } - /** * Retrieve UserChallenge from the UserChallengeEntity * @param {UserChallengeEntity} userChallenges - status of fluids */ + + parseUserChallengeEntityToUserChallenge(userChallengeEntity) { const userChallenge = _objectSpread(_objectSpread({}, userChallengeEntity), {}, { startDate: userChallengeEntity.startDate ? _luxon.DateTime.fromISO(userChallengeEntity.startDate, { @@ -44651,13 +44678,15 @@ class ChallengeService { }) : null }) }); + return userChallenge; } - /** * Retrieve UserChallenge from the UserChallengeEntity * @param {UserChallengeEntity} userChallenges - status of fluids */ + + parseChallengeEntityToUserChallenge(challenge, duel, quiz, exploration) { const userChallenge = { id: challenge.id, @@ -44684,26 +44713,29 @@ class ChallengeService { }; return userChallenge; } - /** * * @param {UserExploration | ExplorationEntity} exploration - Exploration to be tested * @returns {boolean} isValid */ + + async isExplorationConditionVerified(exploration, fluidStatus) { let isValid = false; - const fluidCondition = exploration.fluid_condition; - // check if the fluid is connected + const fluidCondition = exploration.fluid_condition; // check if the fluid is connected + if (fluidStatus[fluidCondition[0]].status !== _enums.FluidState.KONNECTOR_NOT_FOUND && fluidStatus[fluidCondition[0]].status !== _enums.FluidState.NOT_CONNECTED) { isValid = true; } + return isValid; } - /** * * @param {ChallengeEntity} challenge - get all relations entities of a challenge */ + + async getRelationEntities(challenge) { const duelEntityRelation = (0, _utils.getRelationship)(challenge, 'duel'); const quizEntityRelation = (0, _utils.getRelationship)(challenge, 'quiz'); @@ -44715,16 +44747,17 @@ class ChallengeService { }; return result; } - /** * Get a UserChallenge from its Entity and verify the exploration if there is a condition and if it's verified */ + + async getUpdatedUserChallengeIfExplorationConditionIsValid(exploration, challenge, duel, quiz, fluidStatus) { - let userChallenge = null; - // Check if it's a conditional exploration + let userChallenge = null; // Check if it's a conditional exploration + if (exploration.fluid_condition.length > 0) { - const isConditionVerified = await this.isExplorationConditionVerified(exploration, fluidStatus); - // if condition is verified, add exploration to UserChallenge and return it + const isConditionVerified = await this.isExplorationConditionVerified(exploration, fluidStatus); // if condition is verified, add exploration to UserChallenge and return it + if (isConditionVerified) { userChallenge = this.parseChallengeEntityToUserChallenge(challenge, duel, quiz, exploration); return userChallenge; @@ -44740,32 +44773,43 @@ class ChallengeService { * Exploration related to given challenge * @returns {UserChallenge[]} - buildList */ + + async processExploration(explorationEntities, explorationEntityRelation, challenge, duel, quiz, buildList, fluidStatus) { const explorationService = new _exploration.default(this._client); + for (const explorationRelation of explorationEntityRelation) { const exploration = explorationService.getUserExplorationfromExplorationEntities(explorationEntities || [], explorationRelation._id); const userChallenge = await this.getUpdatedUserChallengeIfExplorationConditionIsValid(exploration, challenge, duel, quiz, fluidStatus); + if (userChallenge) { buildList.push(userChallenge); break; } } + return buildList; } /** * Checks if the exploration condition exists and is valid when updating the buildList */ + + async loopVerificationExplorationCondition(userChallenge, challengeEntityList, fluidStatus) { if (userChallenge.exploration.state === _enums.UserExplorationState.UNLOCKED) { const currentEntity = challengeEntityList.filter(challenge => challenge.id === userChallenge.id); const relationsArray = currentEntity[0].relationships.exploration; const explorationService = new _exploration.default(this._client); + let updatedUserChallenge = _objectSpread({}, userChallenge); + for (const relation of relationsArray.data) { const newExploEntity = await explorationService.getExplorationEntityById(relation._id); const newUserExplo = explorationService.parseExplorationEntityToUserExploration(newExploEntity); + if (newExploEntity.fluid_condition.length > 0) { const isConditionValid = await this.isExplorationConditionVerified(newExploEntity, fluidStatus); + if (isConditionValid) { updatedUserChallenge = _objectSpread(_objectSpread({}, updatedUserChallenge), {}, { exploration: newUserExplo @@ -44779,14 +44823,17 @@ class ChallengeService { break; } } + return updatedUserChallenge; } + return userChallenge; } - /** * Retrieve UserChallenge list with all challenges */ + + async buildUserChallengeList(fluidStatus) { const queryChallengeEntity = (0, _cozyClient.Q)(_doctypes.CHALLENGE_DOCTYPE).include(['duel']); const querySeasonEntityIncludeQuiz = (0, _cozyClient.Q)(_doctypes.CHALLENGE_DOCTYPE).include(['quiz']); @@ -44805,30 +44852,30 @@ class ChallengeService { const duelService = new _duel.default(this._client); const quizService = new _quiz.default(this._client); const explorationService = new _exploration.default(this._client); - let buildList = []; - // Case UserChallengeList is empty + let buildList = []; // Case UserChallengeList is empty + if (challengeEntityList.length > 0 && userChallengeList.length === 0) { for (const challenge of challengeEntityList) { const relationEntities = await this.getRelationEntities(challenge); const duel = duelService.getDuelfromDuelEntities(duelEntities || [], relationEntities.duelEntityRelation._id); - const quiz = quizService.getUserQuizfromQuizEntities(quizEntities || [], relationEntities.quizEntityRelation._id); - // Only one exploration relation + const quiz = quizService.getUserQuizfromQuizEntities(quizEntities || [], relationEntities.quizEntityRelation._id); // Only one exploration relation + if (relationEntities.explorationEntityRelation.length === 1) { const exploration = explorationService.getUserExplorationfromExplorationEntities(explorationEntities || [], relationEntities.explorationEntityRelation[0]._id); const userChallenge = this.parseChallengeEntityToUserChallenge(challenge, duel, quiz, exploration); buildList.push(userChallenge); - } - // Several explorations with fluid condition + } // Several explorations with fluid condition else { await this.processExploration(explorationEntities, relationEntities.explorationEntityRelation, challenge, duel, quiz, buildList, fluidStatus); } } + buildList = this.unLockCurrentUserChallenge(buildList); - } - // Case UserChallengeList is existing + } // Case UserChallengeList is existing else if (challengeEntityList.length > 0 && userChallengeList.length > 0) { for (const challenge of challengeEntityList) { const userChallengeIndex = userChallengeList.findIndex(entity => entity.id === challenge.id); + if (userChallengeIndex >= 0) { let userChallenge = userChallengeList[userChallengeIndex]; userChallenge = await this.loopVerificationExplorationCondition(userChallenge, challengeEntityList, fluidStatus); @@ -44840,14 +44887,17 @@ class ChallengeService { await this.processExploration(explorationEntities, relationEntities.explorationEntityRelation, challenge, duel, quiz, buildList, fluidStatus); } } + buildList = this.unLockCurrentUserChallenge(buildList); } + return buildList; } - /** * Retrieve all ChallengeEntities */ + + async getAllChallengeEntities() { const query = (0, _cozyClient.Q)(_doctypes.CHALLENGE_DOCTYPE); const { @@ -44855,31 +44905,37 @@ class ChallengeService { } = await this._client.query(query); return challenges; } - /** * Delete all ChallengeEntities * @throws {Error} */ + + async deleteAllChallengeEntities() { try { const challengeEntity = await this.getAllChallengeEntities(); if (!challengeEntity) return true; + for (const entity of challengeEntity) { await this._client.destroy(entity); } + return true; } catch (error) { const errorMessage = `deleteAllChallengeEntities :${JSON.stringify(error)}`; logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(error); throw error; } } - /** * Retrieve all UserChallengeEntities */ + + async getAllUserChallengeEntities() { const query = (0, _cozyClient.Q)(_doctypes.USERCHALLENGE_DOCTYPE); const { @@ -44888,22 +44944,26 @@ class ChallengeService { const userChallenges = userChallengeEntities.map(userChallengeEntity => this.parseUserChallengeEntityToUserChallenge(userChallengeEntity)); return userChallenges; } - /** * Retrieve dataloads for ongoing duel * success return: UserChallenge, Dataload[] * failure throw error */ + + async initChallengeDuelProgress(userChallenge) { const consumptionService = new _consumption.default(this._client); + try { const dataloads = await this.getUserChallengeDataload(userChallenge); const userConsumption = (0, _math.getRoundFloat)(consumptionService.calculatePerformanceIndicatorValue(dataloads)); + const _userChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { duel: _objectSpread(_objectSpread({}, userChallenge.duel), {}, { userConsumption: userConsumption }) }); + const updatedUserChallenge = await this.updateUserChallenge(_userChallenge, _enums.UserChallengeUpdateFlag.DUEL_CONSUMPTION); return { updatedUserChallenge, @@ -44912,16 +44972,19 @@ class ChallengeService { } catch (error) { const errorMessage = `Challenge service error on initChallengeDuelProgress: ${JSON.stringify(error)}`; logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(error); throw error; } } - /** * Start UserChallenge and retrieve updated UserChallenge * @throws {Error} */ + + async startUserChallenge(userChallenge) { const newChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { state: _enums.UserChallengeState.ONGOING, @@ -44935,6 +44998,7 @@ class ChallengeService { }).startOf('day'), success: _enums.UserChallengeSuccess.ONGOING }); + try { const { data: updatedUserChallengeEntity @@ -44944,12 +45008,13 @@ class ChallengeService { } catch (error) { const errorMessage = `Challenge service error on startUserChallenge: ${JSON.stringify(error)}`; logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(error); throw error; } } - /** * Update UserChallenge depending on the flag and retrieve it * @param {UserChallenge} userChallenge - userChallenge to update @@ -44957,6 +45022,8 @@ class ChallengeService { * @returns {UserChallenge} - updated userChallenge * @throws {Error} */ + + async updateUserChallenge(userChallenge, flag, quizWithUpdatedQuestions, fluidStatus, action) { let updatedUserChallenge; let updatedDuel = userChallenge.duel; @@ -44967,11 +45034,13 @@ class ChallengeService { const quizService = new _quiz.default(this._client); const explorationService = new _exploration.default(this._client); const actionService = new _action.default(this._client); + switch (flag) { case _enums.UserChallengeUpdateFlag.CHALLENGE: case _enums.UserChallengeUpdateFlag.DUEL_CONSUMPTION: updatedUserChallenge = userChallenge; break; + case _enums.UserChallengeUpdateFlag.DUEL_UNLOCK: updatedDuel = await duelService.unlockUserDuel(userChallenge.duel); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -44979,6 +45048,7 @@ class ChallengeService { duel: updatedDuel }); break; + case _enums.UserChallengeUpdateFlag.DUEL_UPDATE_THRESHOLD: updatedDuel = await duelService.updateUserDuelThreshold(userChallenge.duel, fluidStatus); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -44986,6 +45056,7 @@ class ChallengeService { duel: updatedDuel }); break; + case _enums.UserChallengeUpdateFlag.DUEL_START: updatedDuel = await duelService.startUserDuel(userChallenge.duel); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -44993,6 +45064,7 @@ class ChallengeService { duel: updatedDuel }); break; + case _enums.UserChallengeUpdateFlag.DUEL_WIN: updatedDuel = await duelService.endUserDuel(userChallenge.duel); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -45004,6 +45076,7 @@ class ChallengeService { success: _enums.UserChallengeSuccess.WIN }); break; + case _enums.UserChallengeUpdateFlag.DUEL_LOSS: updatedDuel = await duelService.endUserDuel(userChallenge.duel); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -45015,6 +45088,7 @@ class ChallengeService { success: _enums.UserChallengeSuccess.LOST }); break; + case _enums.UserChallengeUpdateFlag.DUEL_RESET: updatedDuel = await duelService.resetUserDuel(userChallenge.duel); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -45023,12 +45097,14 @@ class ChallengeService { success: _enums.UserChallengeSuccess.ONGOING }); break; + case _enums.UserChallengeUpdateFlag.QUIZ_START: updatedQuiz = await quizService.startUserQuiz(userChallenge.quiz); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { quiz: updatedQuiz }); break; + case _enums.UserChallengeUpdateFlag.QUIZ_DONE: { const updateQuizProgress = Math.min(userChallenge.quiz.result, 5); @@ -45041,35 +45117,41 @@ class ChallengeService { }); break; } + case _enums.UserChallengeUpdateFlag.QUIZ_UPDATE: updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { quiz: quizWithUpdatedQuestions ? quizWithUpdatedQuestions : userChallenge.quiz }); break; + case _enums.UserChallengeUpdateFlag.QUIZ_RESET: updatedQuiz = await quizService.resetUserQuiz(userChallenge.quiz); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { quiz: updatedQuiz }); break; + case _enums.UserChallengeUpdateFlag.EXPLORATION_START: updatedExploration = await explorationService.startUserExploration(userChallenge.exploration); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { exploration: updatedExploration }); break; + case _enums.UserChallengeUpdateFlag.EXPLORATION_UPDATE: updatedExploration = await explorationService.updateUserExploration(userChallenge.exploration); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { exploration: updatedExploration }); break; + case _enums.UserChallengeUpdateFlag.EXPLORATION_NOTIFICATION: updatedExploration = await explorationService.awaitNotificationUserExploration(userChallenge.exploration); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { exploration: updatedExploration }); break; + case _enums.UserChallengeUpdateFlag.EXPLORATION_DONE: updatedExploration = explorationService.endUserExploration(userChallenge.exploration); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -45079,21 +45161,26 @@ class ChallengeService { }) }); break; + case _enums.UserChallengeUpdateFlag.ACTION_START: let userAction = userChallenge.action; + if (action) { userAction = actionService.launchAction(action); } + updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { action: userAction }); break; + case _enums.UserChallengeUpdateFlag.ACTION_NOTIFICATION: updatedAction = actionService.awaitNotificationAction(userChallenge.action); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { action: updatedAction }); break; + case _enums.UserChallengeUpdateFlag.ACTION_DONE: updatedAction = actionService.endAction(userChallenge.action); updatedUserChallenge = _objectSpread(_objectSpread({}, userChallenge), {}, { @@ -45103,10 +45190,12 @@ class ChallengeService { }) }); break; + default: updatedUserChallenge = userChallenge; break; } + try { const { data: userChallengeEntity @@ -45116,17 +45205,20 @@ class ChallengeService { } catch (error) { const errorMessage = `Update user challenge error: ${JSON.stringify(error)}`; logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(error); throw error; } } - /** * Retrieve the dataload for a UserChallenge with duel ongoing * @param {UserChallenge} userChallenge - userChallenge to update * @param {UserChallengeUpdateFlag} flag - update flag */ + + async getUserChallengeDataload(userChallenge) { if (userChallenge.duel.startDate) { const consumptionService = new _consumption.default(this._client); @@ -45137,34 +45229,41 @@ class ChallengeService { }) }; const dataChart = await consumptionService.getGraphData(timePeriod, _enums.TimeStep.DAY, userChallenge.duel.fluidTypes, undefined, undefined, true); + if (dataChart) { return dataChart.actualData; } } + return []; } - /** * Define if challenge is done and if is win or lost * @param {UserChallenge} userChallenge - current userChallenge * @param {Dataload[]} dataloads - dataloads of current challenge */ + + async isChallengeDone(userChallenge, dataloads) { let isDone = false; let isWin = false; + if (userChallenge.state === _enums.UserChallengeState.DUEL && userChallenge.duel.state === _enums.UserDuelState.ONGOING && userChallenge.duel.duration) { const fullDuration = userChallenge.duel.duration.days + (0, _date.getLagDays)(userChallenge.duel.fluidTypes) + 1; let diffFromNow = userChallenge.duel.startDate ? userChallenge.duel.startDate.diff(_luxon.DateTime.local().setZone('utc', { keepLocalTime: true }), 'days').toObject().days : 0; diffFromNow = diffFromNow ? Math.abs(diffFromNow) : 0; + if (diffFromNow >= fullDuration) { isDone = true; + if (isDone && userChallenge.duel.userConsumption < userChallenge.duel.threshold) { isWin = true; } } else { const duration = userChallenge.duel.duration.days; + if (dataloads.length === duration && dataloads[duration - 1].value !== -1) { isDone = true; dataloads.forEach(d => { @@ -45172,18 +45271,22 @@ class ChallengeService { isDone = false; } }); + if (isDone && userChallenge.duel.userConsumption < userChallenge.duel.threshold) { isWin = true; } } } } + return { isDone, isWin }; } + } + exports.default = ChallengeService; /***/ }), @@ -98124,6 +98227,11 @@ var _config = _interopRequireDefault(__webpack_require__(750)); class ConfigService { getFluidConfig() { return _config.default.fluidConfig; + } // Wrapping Math.random for testing purposes + + + random() { + return Math.random(); } /** * @@ -98133,11 +98241,13 @@ class ConfigService { getCronArgs(min = 8, max = 9) { - const randomHour = Math.floor(Math.random() * (max - min + 1) + min); // NOSONAR + const randomHour = Math.floor(this.random() * (max - min + 1) + min); // NOSONAR - const randomMinutes = Math.floor(Math.random() * 59); // NOSONAR + const randomMinutes = Math.floor(this.random() * 60); // NOSONAR - return `0 ${randomMinutes} ${randomHour} * * *`; + const randomSeconds = Math.floor(this.random() * 60); // NOSONAR + + return `${randomSeconds} ${randomMinutes} ${randomHour} * * *`; } } @@ -100833,30 +100943,44 @@ exports.default = PerformanceIndicatorService; var _interopRequireDefault = __webpack_require__(1); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__(2)); + var _cozyClient = __webpack_require__(165); + var _doctypes = __webpack_require__(711); + var _enums = __webpack_require__(119); + var _lodash = __webpack_require__(139); + var _luxon = __webpack_require__(140); + var _logger = _interopRequireDefault(__webpack_require__(923)); + var _utils = __webpack_require__(752); + var _consumption = _interopRequireDefault(__webpack_require__(746)); -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + class QuizService { constructor(_client) { (0, _defineProperty2.default)(this, "_client", void 0); this._client = _client; } - /** * Retrieve all quiz entities from db */ + + async getAllQuizEntities() { const query = (0, _cozyClient.Q)(_doctypes.QUIZ_DOCTYPE); const { @@ -100864,11 +100988,12 @@ class QuizService { } = await this._client.query(query); return quizs; } - /** * Retrieve quiz entities from db given the id * @param {string} quizId - ID of the searched quiz */ + + async getQuizEntityById(quizId) { const query = (0, _cozyClient.Q)(_doctypes.QUIZ_DOCTYPE).where({ _id: quizId @@ -100878,27 +101003,31 @@ class QuizService { } = await this._client.query(query); return data === null || data === void 0 ? void 0 : data[0]; } - /** * Delete all quiz entities from the db * @returns {boolean} - true when deleted with success * @throws {Error} */ + + async deleteAllQuizEntities() { const quizzes = await this.getAllQuizEntities(); + if (quizzes) { for (let index = 0; index < quizzes.length; index++) { await this._client.destroy(quizzes[index]); } } + return true; } - /** * Return quiz created from quiz entity * @param {QuizEntity[]} quizEntityList - userQuiz to update * @param {string} searchId - userQuiz to update */ + + getUserQuizfromQuizEntities(quizEntityList, searchId) { let quiz = { id: '', @@ -100916,39 +101045,47 @@ class QuizService { startDate: null, result: 0 }; + if (quizEntityList.length > 0) { const quizEntityIndex = quizEntityList.findIndex(entity => entity.id === searchId); + if (quizEntityIndex >= 0) { const quizEntity = quizEntityList[quizEntityIndex]; quiz = this.parseQuizEntityToUserQuiz(quizEntity); } } + return quiz; } - /** * Return UserQuestion created from QuestionEntity */ + + parseQuestionEntityToQuestion(question) { const userQuestion = _objectSpread(_objectSpread({}, question), {}, { result: _enums.UserQuestionState.UNLOCKED }); + return userQuestion; } - /** * Return UserCustomQuestion created from CustomQuestionEntity */ + + parseCustomQuestionEntityToCustomQuestion(customQuestion) { const userCustomQuestion = _objectSpread(_objectSpread({}, customQuestion), {}, { result: _enums.UserQuestionState.UNLOCKED }); + return userCustomQuestion; } - /** * Return UserQuiz created from QuizEntity */ + + parseQuizEntityToUserQuiz(quiz) { const userQuestions = []; quiz.questions.forEach(question => { @@ -100968,11 +101105,12 @@ class QuizService { }; return userQuiz; } - /** * Return quiz with updated state to UserQuizState.ONGOING and randomize question and answers * @param {UserQuiz} userQuiz - userQuiz to update */ + + async startUserQuiz(userQuiz) { const questions = userQuiz.questions.map(question => _objectSpread(_objectSpread({}, question), {}, { answers: (0, _lodash.shuffle)(question.answers) @@ -100989,13 +101127,17 @@ class QuizService { * Return quiz with updated state to UserQuizState.UNLOCKED and updated questions with false result * @param {UserQuiz} userQuiz - userQuiz to update */ + + async resetUserQuiz(userQuiz) { const updatedQuestions = userQuiz.questions.map(question => _objectSpread(_objectSpread({}, question), {}, { result: _enums.UserQuestionState.UNLOCKED })); + const updatedCustomQuestion = _objectSpread(_objectSpread({}, userQuiz.customQuestion), {}, { result: _enums.UserQuestionState.UNLOCKED }); + return _objectSpread(_objectSpread({}, userQuiz), {}, { customQuestion: updatedCustomQuestion, questions: updatedQuestions, @@ -101003,22 +101145,25 @@ class QuizService { state: _enums.UserQuizState.UNLOCKED }); } - /** * Return quiz with updated state to UserQuizState.DONE * @param {UserQuiz} userQuiz - userQuiz to update */ + + async endUserQuiz(userQuiz) { const updatedUserQuiz = _objectSpread(_objectSpread({}, userQuiz), {}, { state: _enums.UserQuizState.DONE }); + return updatedUserQuiz; } - /** * Return quiz with result and updated question or customQuestion if no index is passed * @param {UserQuiz} userQuiz - userQuiz to update */ + + async updateUserQuiz(userQuiz, questionResult, questionIndex) { const result = questionResult ? _enums.UserQuestionState.CORRECT : _enums.UserQuestionState.UNCORRECT; const updatedQuestions = userQuiz.questions.map((question, index) => { @@ -101027,21 +101172,25 @@ class QuizService { result: result }); } + return question; }); + const updatedCustomQuestion = _objectSpread(_objectSpread({}, userQuiz.customQuestion), {}, { result: result }); + return _objectSpread(_objectSpread({}, userQuiz), {}, { questions: updatedQuestions, customQuestion: questionIndex === undefined ? updatedCustomQuestion : userQuiz.customQuestion, result: questionResult ? Math.min(userQuiz.result + 1, 5) : userQuiz.result }); } - /** * Build a custom question with the customQuestionEntity */ + + async getCustomQuestion(customQuestionEntity, fluidType) { let answers; const explanation = 'Vous pouvez vérifier cette information sur l’écran Conso.'; @@ -101049,10 +101198,11 @@ class QuizService { let useFluidType = fluidType; let questionLabel = customQuestionEntity.questionLabel; let unit = '€'; + if (customQuestionEntity.singleFluid === true) { let unitLabel = 'kWh'; - let fluidLabel = "d'électricité"; - // Define the right fluidType + let fluidLabel = "d'électricité"; // Define the right fluidType + if (fluidType.includes(_enums.FluidType.ELECTRICITY)) { useFluidType = [_enums.FluidType.ELECTRICITY]; unit = 'kWh'; @@ -101065,11 +101215,13 @@ class QuizService { unit = 'L'; unitLabel = 'litre'; fluidLabel = "d'eau"; - } - // Adapt the question + } // Adapt the question + + questionLabel = questionLabel.replace('#unit', unitLabel); questionLabel = questionLabel.replace('#fluid', fluidLabel); } + if (customQuestionEntity.type === _enums.CustomQuestionType.DATE) { // Interval const intervalAsnwer = await this.getMaxLoadOnLastInterval(customQuestionEntity.timeStep, finalInterval, useFluidType); @@ -101085,6 +101237,7 @@ class QuizService { const averageLoad = await this.getAverageOnGivenPeriod(customQuestionEntity.timeStep, finalInterval, useFluidType, customQuestionEntity.period.weekday ? customQuestionEntity.period.weekday : undefined, customQuestionEntity.singleFluid); answers = this.getAnswersForNumberValue(averageLoad, unit); } + const finalQuestion = { questionLabel: questionLabel, answers: answers, @@ -101093,17 +101246,20 @@ class QuizService { }; return finalQuestion; } - /** * Get the interval needed for the further calculs */ + + getTimePeriodFromInterval(interval, period) { const today = _luxon.DateTime.local().setZone('utc', { keepLocalTime: true }); + let startTime = today; let endTime = today; const isPeriod = Object.keys(period).length !== 0; + switch (interval) { case _enums.TimeStep.WEEK: startTime = isPeriod ? _luxon.DateTime.fromObject(period).startOf('week') : today.startOf('week').minus({ @@ -101113,6 +101269,7 @@ class QuizService { week: 1 }); break; + case _enums.TimeStep.MONTH: startTime = isPeriod ? _luxon.DateTime.fromObject(period).startOf('month') : today.startOf('month').minus({ month: 1 @@ -101121,6 +101278,7 @@ class QuizService { month: 1 }); break; + case _enums.TimeStep.YEAR: startTime = isPeriod ? _luxon.DateTime.fromObject(period).startOf('year') : today.startOf('year').minus({ year: 1 @@ -101130,23 +101288,27 @@ class QuizService { }); break; } + const timePeriod = { startDate: startTime, endDate: endTime }; return timePeriod; } - /** * Finds max load on given past time period * when no max load is found looks x month/year back for a max value * if nothing is found fall back on most recent data */ + + async getMaxLoadOnLastInterval(timeStep, interval, fluidType) { var _graphData; + let dateMax = _luxon.DateTime.local().setZone('utc', { keepLocalTime: true }); + let max = 0; const consumptionService = new _consumption.default(this._client); const limit = { @@ -101154,44 +101316,56 @@ class QuizService { reached: false }; let graphData = await consumptionService.getGraphData(interval, timeStep, fluidType); + if ((_graphData = graphData) !== null && _graphData !== void 0 && _graphData.actualData) { var _graphData4; + max = Math.max(...graphData.actualData.map(d => d.value)); + if (max == -1) { const newInterval = _objectSpread({}, interval); + let objectTimeStep; + switch (timeStep) { case _enums.TimeStep.MONTH: objectTimeStep = { month: 1 }; break; + case _enums.TimeStep.YEAR: objectTimeStep = { year: 1 }; break; + default: objectTimeStep = { week: 1 }; } + do { var _graphData2, _graphData3; + newInterval.startDate = newInterval.startDate.minus(objectTimeStep); newInterval.endDate = newInterval.endDate.minus(objectTimeStep); limit.date = newInterval.startDate; graphData = await consumptionService.getGraphData(newInterval, timeStep, fluidType); + if (limit.date < _luxon.DateTime.now().minus({ year: 5 })) { limit.reached = true; } + if ((_graphData3 = graphData) !== null && _graphData3 !== void 0 && _graphData3.actualData) { max = Math.max(...graphData.actualData.map(d => d.value)); } } while (max == -1 && (_graphData2 = graphData) !== null && _graphData2 !== void 0 && _graphData2.actualData && !limit.reached); } + if (limit.reached) { const newInterval = { startDate: _luxon.DateTime.local().setZone('utc', { @@ -101205,6 +101379,7 @@ class QuizService { }; graphData = await consumptionService.getGraphData(newInterval, timeStep, fluidType); } + if ((_graphData4 = graphData) !== null && _graphData4 !== void 0 && _graphData4.actualData) { max = Math.max(...graphData.actualData.map(d => d.value)); graphData.actualData.forEach(d => { @@ -101212,20 +101387,25 @@ class QuizService { }); } } + return { date: dateMax, value: max }; } - /** * Calcul the average value on a given period */ + + async getAverageOnGivenPeriod(timeStep, interval, fluidType, weekday, singleFluid) { const consumptionService = new _consumption.default(this._client); + _logger.default.info('GetAverageOnGivenPeriod is about to call getgraphdata'); + const graphData = await consumptionService.getGraphData(interval, timeStep, fluidType, undefined, undefined, !singleFluid); let average = 0; + if (graphData !== null && graphData !== void 0 && graphData.actualData) { let total = 0; let length = 0; @@ -101241,19 +101421,23 @@ class QuizService { if (d.value >= 0) { total += d.value; } + length += 1; } }); average = total / length; } + return average; } - /** * Generate wrong date answer following the right one */ + + getAnswersForInterval(rightDate, timeStep, interval) { let wrongAnswer = [1, -1]; + switch (timeStep) { case _enums.TimeStep.MONTH: if (rightDate.month === interval.startDate.month) { @@ -101261,6 +101445,7 @@ class QuizService { } else if (rightDate.month === interval.endDate.month) { wrongAnswer = [-1, -2]; } + return [{ answerLabel: rightDate.setLocale('fr-FR').toLocaleString({ month: 'long', @@ -101284,6 +101469,7 @@ class QuizService { }), isTrue: false }]; + case _enums.TimeStep.DAY: case _enums.TimeStep.WEEK: default: @@ -101292,6 +101478,7 @@ class QuizService { } else if (rightDate.day === interval.endDate.day) { wrongAnswer = [-1, -2]; } + return [{ answerLabel: rightDate.setLocale('fr-FR').toLocaleString({ month: 'long', @@ -101320,21 +101507,24 @@ class QuizService { }]; } } - /** * Generate wrong value answer following the right one */ + + getAnswersForNumberValue(maxLoad, unit) { - const coefList = [0.6, 0.7, 0.8, 0.12, 0.13]; - // Pick a random number in the coefList and remove it from array + const coefList = [0.6, 0.7, 0.8, 0.12, 0.13]; // Pick a random number in the coefList and remove it from array + const index1 = Math.floor(Math.random() * coefList.length); // NOSONAR + const roll = coefList.splice(index1, 1); - const coef1 = roll[0]; - // Pick a second number in the coefList + const coef1 = roll[0]; // Pick a second number in the coefList + const index2 = Math.floor(Math.random() * coefList.length); // NOSONAR + const roll2 = coefList.splice(index2, 1); - const coef2 = roll2[0]; - // Format answers + const coef2 = roll2[0]; // Format answers + const load = Math.round(maxLoad * 100) / 100; const wrongAnswer1 = Math.round(load * coef1 * 100) / 100; const wrongAnswer2 = Math.round(load * coef2 * 100) / 100; @@ -101349,7 +101539,9 @@ class QuizService { isTrue: false }]; } + } + exports.default = QuizService; /***/ }), @@ -101360,19 +101552,30 @@ exports.default = QuizService; var _interopRequireDefault = __webpack_require__(1); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__(2)); + var _enums = __webpack_require__(119); + var _lodash = __webpack_require__(139); + var _luxon = __webpack_require__(140); + var _utils = __webpack_require__(752); + var _challenge = _interopRequireDefault(__webpack_require__(164)); + var _ecogesture = _interopRequireDefault(__webpack_require__(929)); -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + class ActionService { constructor(_client) { (0, _defineProperty2.default)(this, "_client", void 0); @@ -101382,19 +101585,21 @@ class ActionService { this._ecogestureService = new _ecogesture.default(this._client); this._challengeService = new _challenge.default(this._client); } - /** * Get the list of available actions */ + + async getAvailableActionList() { const userChallenges = await this._challengeService.getAllUserChallengeEntities(); const ecogestures = await this._ecogestureService.getAllEcogestures(); const actionsListIds = ecogestures.filter(ecogesture => ecogesture.action === true).map(action => action._id); const actionsDone = userChallenges.map(challenge => challenge.action).filter(action => action.state === _enums.UserActionState.DONE).map(action => { var _action$ecogesture; + return (_action$ecogesture = action.ecogesture) === null || _action$ecogesture === void 0 ? void 0 : _action$ecogesture.id; - }); - // Remove actions Done from the list + }); // Remove actions Done from the list + if (actionsDone.length > 0) { actionsListIds.forEach(id => { if (actionsDone.includes(id)) { @@ -101403,48 +101608,60 @@ class ActionService { } }); } + const actionsList = await this._ecogestureService.getEcogesturesByIds(actionsListIds); return actionsList; } - /** * Get default ecogestures */ + + async getDefaultActions() { const actionIds = ['ECOGESTURE0030', 'ECOGESTURE0014', 'ECOGESTURE0010']; const defaultActions = await this._ecogestureService.getEcogesturesByIds(actionIds); return defaultActions; } - /** Complete the list with unfinished default ecogestures */ + + async keepListComplete(actionList) { const defaultActions = await this.getDefaultActions(); let i = 0; + while (actionList.length < 3) { actionList.push(defaultActions[i]); i++; } + return actionList; } + completeWithNoSeason(filteredList, actionList) { if (filteredList.length < 3) { const noSeasonList = actionList.filter(action => action.season === _enums.Season.NONE); let i = 0; + while (filteredList.length < 3 && i < 3) { if (noSeasonList[i]) { filteredList.push(noSeasonList[i]); } + i++; } } + return filteredList; } /** * filterBySeason - Filter action list depending on current season */ + + filterBySeason(actionList) { let filteredList = []; const currentSeason = (0, _utils.getSeason)(); + if (currentSeason === _enums.Season.SUMMER) { filteredList = actionList.filter(action => action.season === _enums.Season.SUMMER); filteredList = this.completeWithNoSeason(filteredList, actionList).slice(0, 3); @@ -101454,21 +101671,25 @@ class ActionService { } else { filteredList = actionList.filter(action => action.season === _enums.Season.NONE); } + return filteredList; } - /** * getCustomActions - Filter action by fluid and season and sort them by difficulty first and efficiency second */ + + async getCustomActions(connectedFluids) { const availableActions = await this.getAvailableActionList(); const filteredByFluid = availableActions.filter(action => action.fluidTypes.some(fluid => connectedFluids.includes(fluid))); let filteredBySeason = this.filterBySeason(filteredByFluid); + if (filteredBySeason.length > 3) { filteredBySeason = filteredBySeason.slice(0, 3); } else if (filteredBySeason.length < 3) { filteredBySeason = await this.keepListComplete(filteredBySeason); } + const sortedByDifficultyAndEfficiency = (0, _lodash.orderBy)(filteredBySeason, [action => { return action.difficulty; }, action => { @@ -101476,10 +101697,11 @@ class ActionService { }], ['asc', 'desc']); return sortedByDifficultyAndEfficiency; } - /** * launchAction - parse ecogesture to UserAction and launch it */ + + launchAction(ecogesture) { const userAction = { ecogesture: ecogesture, @@ -101494,30 +101716,39 @@ class ActionService { * awaitNotificationAction * @returns {UserAction} updated user action */ + + awaitNotificationAction(userAction) { const updatedUserAction = _objectSpread(_objectSpread({}, userAction), {}, { state: _enums.UserActionState.NOTIFICATION }); + return updatedUserAction; } /** * endAction * @returns {UserAction} updated user action */ + + endAction(userAction) { const updatedUserAction = _objectSpread(_objectSpread({}, userAction), {}, { state: _enums.UserActionState.DONE }); + return updatedUserAction; } /** * isActionDone - Set Action state to notification if progress > actionDuration */ + + async isActionDone(currentChallenge) { if (currentChallenge.action.startDate && currentChallenge.action.ecogesture) { const startDate = currentChallenge.action.startDate; const duration = currentChallenge.action.ecogesture.actionDuration; const progress = -startDate.startOf('day').diffNow('days').days; + if (progress >= duration) { const challengeService = new _challenge.default(this._client); const userChallenge = await challengeService.updateUserChallenge(currentChallenge, _enums.UserChallengeUpdateFlag.ACTION_NOTIFICATION); @@ -101525,7 +101756,9 @@ class ActionService { } else return null; } else return null; } + } + exports.default = ActionService; /***/ }), @@ -111876,30 +112109,45 @@ var logger = minilog('harvest'); var _interopRequireDefault = __webpack_require__(1); + Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; + var _defineProperty2 = _interopRequireDefault(__webpack_require__(2)); + var Sentry = _interopRequireWildcard(__webpack_require__(3)); + var _cozyClient = __webpack_require__(165); + var _triggers = _interopRequireDefault(__webpack_require__(1118)); + var _triggers2 = __webpack_require__(940); + var _cozyLogger = _interopRequireDefault(__webpack_require__(99)); + var _doctypes = __webpack_require__(711); + var _fluidConfig = _interopRequireDefault(__webpack_require__(749)); + var _logger = _interopRequireDefault(__webpack_require__(923)); + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + const logStack = _cozyLogger.default.namespace('triggersService'); + class TriggerService { constructor(_client) { (0, _defineProperty2.default)(this, "_client", void 0); this._client = _client; } + createTriggerAttributes(account, konnector) { const configService = new _fluidConfig.default(); - const cronArgs = configService.getCronArgs(); + const cronArgs = configService.getCronArgs(7, 9); const triggerAttributes = (0, _triggers2.buildAttributes)({ account: account, cron: cronArgs, @@ -111908,11 +112156,13 @@ class TriggerService { }); return triggerAttributes; } + async createTrigger(account, konnector) { const triggerAttributes = this.createTriggerAttributes(account, konnector); const trigger = await (0, _triggers.default)(this._client).createTrigger(triggerAttributes); return trigger; } + async getTrigger(account, konnector) { const query = (0, _cozyClient.Q)(_doctypes.TRIGGERS_DOCTYPE).where({ 'message.account': account._id, @@ -111925,6 +112175,7 @@ class TriggerService { } = await this._client.query(query); return triggers[0] ? triggers[0] : null; } + async getTriggerForAccount(account) { const query = (0, _cozyClient.Q)(_doctypes.TRIGGERS_DOCTYPE).where({ 'message.account': account._id, @@ -111937,15 +112188,17 @@ class TriggerService { } = await this._client.query(query); return triggers[0] ? triggers[0] : null; } + async fetchTriggerState(trigger) { try { - const triggerState = await this._client.getStackClient().fetchJSON('GET', `/jobs/triggers/${trigger._id}`); - // eslint-disable-next-line camelcase + const triggerState = await this._client.getStackClient().fetchJSON('GET', `/jobs/triggers/${trigger._id}`); // eslint-disable-next-line camelcase + return triggerState.data.attributes.current_state ? triggerState.data.attributes.current_state : null; } catch (error) { throw new Error('Fetch trigger state failed'); } } + async deleteTrigger(trigger) { try { await this._client.destroy(trigger); @@ -111953,12 +112206,16 @@ class TriggerService { } catch (error) { const errorMessage = `Delete trigger failed: ${JSON.stringify(error)}`; logStack('error', errorMessage); + _logger.default.error(errorMessage); + Sentry.captureException(error); throw new Error('Delete trigger failed'); } } + } + exports.default = TriggerService; /***/ }), diff --git a/services/consumptionAlert/ecolyo.js b/services/consumptionAlert/ecolyo.js index 81b9df90a..06efcff55 100644 --- a/services/consumptionAlert/ecolyo.js +++ b/services/consumptionAlert/ecolyo.js @@ -96337,6 +96337,11 @@ var _config = _interopRequireDefault(__webpack_require__(750)); class ConfigService { getFluidConfig() { return _config.default.fluidConfig; + } // Wrapping Math.random for testing purposes + + + random() { + return Math.random(); } /** * @@ -96346,11 +96351,13 @@ class ConfigService { getCronArgs(min = 8, max = 9) { - const randomHour = Math.floor(Math.random() * (max - min + 1) + min); // NOSONAR + const randomHour = Math.floor(this.random() * (max - min + 1) + min); // NOSONAR + + const randomMinutes = Math.floor(this.random() * 60); // NOSONAR - const randomMinutes = Math.floor(Math.random() * 59); // NOSONAR + const randomSeconds = Math.floor(this.random() * 60); // NOSONAR - return `0 ${randomMinutes} ${randomHour} * * *`; + return `${randomSeconds} ${randomMinutes} ${randomHour} * * *`; } } diff --git a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js index c0bbfc054..1cc567b5c 100644 --- a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js +++ b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js @@ -96337,6 +96337,11 @@ var _config = _interopRequireDefault(__webpack_require__(750)); class ConfigService { getFluidConfig() { return _config.default.fluidConfig; + } // Wrapping Math.random for testing purposes + + + random() { + return Math.random(); } /** * @@ -96346,11 +96351,13 @@ class ConfigService { getCronArgs(min = 8, max = 9) { - const randomHour = Math.floor(Math.random() * (max - min + 1) + min); // NOSONAR + const randomHour = Math.floor(this.random() * (max - min + 1) + min); // NOSONAR + + const randomMinutes = Math.floor(this.random() * 60); // NOSONAR - const randomMinutes = Math.floor(Math.random() * 59); // NOSONAR + const randomSeconds = Math.floor(this.random() * 60); // NOSONAR - return `0 ${randomMinutes} ${randomHour} * * *`; + return `${randomSeconds} ${randomMinutes} ${randomHour} * * *`; } } diff --git a/services/fluidsPrices/ecolyo.js b/services/fluidsPrices/ecolyo.js index 2e15b76d8..54ad8cc98 100644 --- a/services/fluidsPrices/ecolyo.js +++ b/services/fluidsPrices/ecolyo.js @@ -96337,6 +96337,11 @@ var _config = _interopRequireDefault(__webpack_require__(750)); class ConfigService { getFluidConfig() { return _config.default.fluidConfig; + } // Wrapping Math.random for testing purposes + + + random() { + return Math.random(); } /** * @@ -96346,11 +96351,13 @@ class ConfigService { getCronArgs(min = 8, max = 9) { - const randomHour = Math.floor(Math.random() * (max - min + 1) + min); // NOSONAR + const randomHour = Math.floor(this.random() * (max - min + 1) + min); // NOSONAR + + const randomMinutes = Math.floor(this.random() * 60); // NOSONAR - const randomMinutes = Math.floor(Math.random() * 59); // NOSONAR + const randomSeconds = Math.floor(this.random() * 60); // NOSONAR - return `0 ${randomMinutes} ${randomHour} * * *`; + return `${randomSeconds} ${randomMinutes} ${randomHour} * * *`; } } diff --git a/services/monthlyReportNotification/ecolyo.js b/services/monthlyReportNotification/ecolyo.js index 22c5c7dc3..b8bf43916 100644 --- a/services/monthlyReportNotification/ecolyo.js +++ b/services/monthlyReportNotification/ecolyo.js @@ -96337,6 +96337,11 @@ var _config = _interopRequireDefault(__webpack_require__(750)); class ConfigService { getFluidConfig() { return _config.default.fluidConfig; + } // Wrapping Math.random for testing purposes + + + random() { + return Math.random(); } /** * @@ -96346,11 +96351,13 @@ class ConfigService { getCronArgs(min = 8, max = 9) { - const randomHour = Math.floor(Math.random() * (max - min + 1) + min); // NOSONAR + const randomHour = Math.floor(this.random() * (max - min + 1) + min); // NOSONAR + + const randomMinutes = Math.floor(this.random() * 60); // NOSONAR - const randomMinutes = Math.floor(Math.random() * 59); // NOSONAR + const randomSeconds = Math.floor(this.random() * 60); // NOSONAR - return `0 ${randomMinutes} ${randomHour} * * *`; + return `${randomSeconds} ${randomMinutes} ${randomHour} * * *`; } } diff --git a/vendors/ecolyo.c10fac216b392b151e4c.js b/vendors/ecolyo.fbf1f65c47dc10085503.js similarity index 99% rename from vendors/ecolyo.c10fac216b392b151e4c.js rename to vendors/ecolyo.fbf1f65c47dc10085503.js index 9ec5abef0..94600eeac 100644 --- a/vendors/ecolyo.c10fac216b392b151e4c.js +++ b/vendors/ecolyo.fbf1f65c47dc10085503.js @@ -120616,7 +120616,7 @@ module.exports = _typeof; "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "severityFromString", function() { return severityFromString; }); -/* harmony import */ var _sentry_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("USg8"); +/* harmony import */ var _sentry_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("PIsB"); /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("FbLj"); @@ -233743,22 +233743,6 @@ exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || /***/ }), -/***/ "USg8": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _severity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("nDts"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Severity", function() { return _severity__WEBPACK_IMPORTED_MODULE_0__["Severity"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SeverityLevels", function() { return _severity__WEBPACK_IMPORTED_MODULE_0__["SeverityLevels"]; }); - - - -//# sourceMappingURL=index.js.map - -/***/ }), - /***/ "USxY": /***/ (function(module, exports, __webpack_require__) { @@ -346409,40 +346393,6 @@ __webpack_require__("7DDg")('Uint32', 4, function (init) { }); -/***/ }), - -/***/ "nDts": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Severity", function() { return Severity; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SeverityLevels", function() { return SeverityLevels; }); -/** - * TODO(v7): Remove this enum and replace with SeverityLevel - */ -var Severity; -(function (Severity) { - /** JSDoc */ - Severity["Fatal"] = "fatal"; - /** JSDoc */ - Severity["Error"] = "error"; - /** JSDoc */ - Severity["Warning"] = "warning"; - /** JSDoc */ - Severity["Log"] = "log"; - /** JSDoc */ - Severity["Info"] = "info"; - /** JSDoc */ - Severity["Debug"] = "debug"; - /** JSDoc */ - Severity["Critical"] = "critical"; -})(Severity || (Severity = {})); -// TODO: in v7, these can disappear, because they now also exist in `@sentry/utils`. (Having them there rather than here -// is nice because then it enforces the idea that only types are exported from `@sentry/types`.) -var SeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical']; -//# sourceMappingURL=severity.js.map - /***/ }), /***/ "nE4i": -- GitLab