From 624bd13796c80e140df28199d1b24ee05d6bc72d Mon Sep 17 00:00:00 2001 From: Bastien DUMONT <bdumont@grandlyon.com> Date: Tue, 21 Jun 2022 10:54:07 +0200 Subject: [PATCH] publish: Merge branch 'feat/us675-matomo' of https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo into feat/US780-matomo-opt-out generated from commit 94fc5bbd338f5bdb97245cf8c101f620a5f67b2b --- ...6526.js => ecolyo.441aa495831667cae2aa.js} | 6 +- ...8840.js => ecolyo.fbbf1cc016e5765032d2.js} | 501 ++++++++++-------- img/icon.e4891962a18ac2a487b21f0381a5513f.svg | 6 - index.html | 2 +- services/aggregatorUsageEvents/ecolyo.js | 4 + services/consumptionAlert/ecolyo.js | 4 + services/fluidsPrices/ecolyo.js | 4 + services/monthlyReportNotification/ecolyo.js | 4 + ...84a8.js => ecolyo.b9c0a2c92e4192fd1e1d.js} | 98 ++++ 9 files changed, 397 insertions(+), 232 deletions(-) rename 8/{ecolyo.820137a1234dc80d6526.js => ecolyo.441aa495831667cae2aa.js} (99%) rename app/{ecolyo.9cb6e9ee88c6fd608840.js => ecolyo.fbbf1cc016e5765032d2.js} (99%) delete mode 100644 img/icon.e4891962a18ac2a487b21f0381a5513f.svg rename vendors/{ecolyo.c133f45a3d8ceb7c84a8.js => ecolyo.b9c0a2c92e4192fd1e1d.js} (99%) diff --git a/8/ecolyo.820137a1234dc80d6526.js b/8/ecolyo.441aa495831667cae2aa.js similarity index 99% rename from 8/ecolyo.820137a1234dc80d6526.js rename to 8/ecolyo.441aa495831667cae2aa.js index 445e4932d..4b05f3111 100644 --- a/8/ecolyo.820137a1234dc80d6526.js +++ b/8/ecolyo.441aa495831667cae2aa.js @@ -595,6 +595,8 @@ var _I18n = __webpack_require__("buk/"); __webpack_require__("bcWo"); +var _environment = _interopRequireDefault(__webpack_require__("X6DI")); + (function () { var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; enterModule && enterModule(module); @@ -608,6 +610,8 @@ var MatomoOptOut = function MatomoOptOut() { var _useI18n = (0, _I18n.useI18n)(), t = _useI18n.t; + var isDev = new _environment.default().isDev(); + var baseUrl = isDev ? 'http://localhost:9800' : 'https://statweb.grandlyon.com'; return /*#__PURE__*/_react.default.createElement("div", { className: "matomo-opt-out-container" }, /*#__PURE__*/_react.default.createElement("div", { @@ -618,7 +622,7 @@ var MatomoOptOut = function MatomoOptOut() { style: { height: '430px' }, - src: "http://localhost:9800/index.php?module=CoreAdminHome&action=optOut&language=fr&backgroundColor=121212&fontColor=e0e0e0&fontSize=&fontFamily=Lato" + src: "".concat(baseUrl, "/index.php?module=CoreAdminHome&action=optOut&language=fr&backgroundColor=121212&fontColor=e0e0e0&fontSize=&fontFamily=Lato") }))); }; diff --git a/app/ecolyo.9cb6e9ee88c6fd608840.js b/app/ecolyo.fbbf1cc016e5765032d2.js similarity index 99% rename from app/ecolyo.9cb6e9ee88c6fd608840.js rename to app/ecolyo.fbbf1cc016e5765032d2.js index a304480b2..d529818d9 100644 --- a/app/ecolyo.9cb6e9ee88c6fd608840.js +++ b/app/ecolyo.fbbf1cc016e5765032d2.js @@ -64,7 +64,7 @@ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { -/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"2":"93fc8a2ec6a748d89720","3":"a5046ce366de720cc2d2","4":"a5e19d9fad50251a6380","5":"a1b10ba94792ed59bca1","6":"48f6014169152fa21db1","7":"073d14598aea707536af","8":"820137a1234dc80d6526","9":"5b59416269de96b86a11","10":"fb88c15ad2d45fb10fc5"}[chunkId] + ".js" +/******/ return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"2":"93fc8a2ec6a748d89720","3":"a5046ce366de720cc2d2","4":"a5e19d9fad50251a6380","5":"a1b10ba94792ed59bca1","6":"48f6014169152fa21db1","7":"073d14598aea707536af","8":"441aa495831667cae2aa","9":"5b59416269de96b86a11","10":"fb88c15ad2d45fb10fc5"}[chunkId] + ".js" /******/ } /******/ /******/ // The require function @@ -701,7 +701,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI")); var _reactDom = __webpack_require__("i8i4"); -var _cozyClient = __webpack_require__("SH7X"); +var _cozyClient = _interopRequireWildcard(__webpack_require__("SH7X")); var _reactRedux = __webpack_require__("/MKj"); @@ -713,45 +713,82 @@ var _oauth = __webpack_require__("sDS3"); var _lodash = __webpack_require__("LvDl"); -var _client = __webpack_require__("1L0a"); +var _manifest = _interopRequireDefault(__webpack_require__("pZg0")); -var _bar = __webpack_require__("WL0o"); +var _doctypes = _interopRequireDefault(__webpack_require__("D2hQ")); + +var _history = __webpack_require__("LhCv"); + +var _reactRouterDom = __webpack_require__("55Ip"); + +var _matomoTracker = _interopRequireDefault(__webpack_require__("vMBp")); (function () { var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; enterModule && enterModule(module); })(); +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 __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { return a; }; var setupApp = (0, _lodash.memoize)(function () { - var root = document.querySelector('[role=application]'); - - var _getValues = (0, _bar.getValues)(root.dataset), - lang = _getValues.lang; + var history = (0, _history.createBrowserHistory)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any - var polyglot = (0, _I18n.initTranslation)(lang, function (lang) { + var root = document.querySelector('[role=application]'); + var data = JSON.parse(root.dataset.cozy); + var protocol = window.location.protocol; + var cozyUrl = "".concat(protocol, "//").concat(data.domain); + var locale = 'fr'; + var polyglot = (0, _I18n.initTranslation)(locale, function (lang) { return __webpack_require__("/KVF")("./".concat(lang)); }); - var client = (0, _client.getClient)(); + var client = new _cozyClient.default({ + uri: cozyUrl, + token: data.token, + appMetadata: { + slug: _manifest.default.name, + version: _manifest.default.version + }, + schema: _doctypes.default + }); var persistedState = {}; var store = (0, _store.default)(client, persistedState); - /** I don't know why I need to for this... But if I don't it seems that - * we have a race between configureStore and initBar resulting in - * an error from cozy-client "store is already defined" - */ + cozy.bar.init({ + appName: data.app.name, + appEditor: data.app.editor, + cozyClient: client, + iconPath: data.app.icon, + lang: data.locale, + replaceTitleOnMobile: false, + appSlug: data.app.slug, + appNamePrefix: data.app.prefix + }); + var tracker; + + if (window.Piwik) { + Piwik.getTracker(); + tracker = new _matomoTracker.default({ + cozyUrl: cozyUrl, + url: "https://statweb.grandlyon.com/", + siteId: 117, + history: history, + phpFilename: 'matomo.php' + }); + } - setTimeout(function () { - (0, _bar.initBar)(client); - }, 0); return { root: root, store: store, client: client, - lang: lang, - polyglot: polyglot + locale: locale, + polyglot: polyglot, + history: history, + tracker: tracker }; }); @@ -760,8 +797,10 @@ var init = function init() { root = _setupApp.root, store = _setupApp.store, client = _setupApp.client, - lang = _setupApp.lang, - polyglot = _setupApp.polyglot; + locale = _setupApp.locale, + polyglot = _setupApp.polyglot, + history = _setupApp.history, + tracker = _setupApp.tracker; if ((0, _oauth.handleOAuthResponse)()) return; @@ -772,9 +811,11 @@ var init = function init() { }, /*#__PURE__*/_react.default.createElement(_cozyClient.CozyProvider, { client: client }, /*#__PURE__*/_react.default.createElement(_I18n.I18n, { - lang: lang, + lang: locale, polyglot: polyglot - }, /*#__PURE__*/_react.default.createElement(App, null)))), root); + }, /*#__PURE__*/_react.default.createElement(_reactRouterDom.HashRouter, history, /*#__PURE__*/_react.default.createElement(App, { + tracker: tracker + }))))), root); }; // initial rendering of the application @@ -2517,78 +2558,6 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE /***/ }), -/***/ "1L0a": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(module) { - -var _interopRequireDefault = __webpack_require__("TqRt"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getClient = void 0; - -var _cozyClient = _interopRequireDefault(__webpack_require__("SH7X")); - -var _manifest = _interopRequireDefault(__webpack_require__("pZg0")); - -var _doctypes = _interopRequireDefault(__webpack_require__("D2hQ")); - -(function () { - var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; - enterModule && enterModule(module); -})(); - -var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { - return a; -}; - -/** - * Returns cozy client instance - * @returns {object} cozy client instance - */ -var getClient = function getClient() { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - var root = document.querySelector('[role=application]'); - var data = root.dataset; - var protocol = window.location.protocol; - var cozyUrl = "".concat(protocol, "//").concat(data.cozyDomain); - return new _cozyClient.default({ - uri: cozyUrl, - token: data.cozyToken, - appMetadata: { - slug: _manifest.default.name, - version: _manifest.default.version - }, - schema: _doctypes.default - }); -}; - -exports.getClient = getClient; -; - -(function () { - var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined; - - if (!reactHotLoader) { - return; - } - - reactHotLoader.register(getClient, "getClient", "/home/bastien/ecolyo/src/utils/client.ts"); -})(); - -; - -(function () { - var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined; - leaveModule && leaveModule(module); -})(); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module))) - -/***/ }), - /***/ "1RIw": /***/ (function(module, exports, __webpack_require__) { @@ -21630,8 +21599,6 @@ var _react = _interopRequireWildcard(__webpack_require__("q1tI")); __webpack_require__("Tg1I"); -var _App = __webpack_require__("w0Hc"); - var _reactRedux = __webpack_require__("/MKj"); var _global = __webpack_require__("c4IZ"); @@ -21642,6 +21609,8 @@ var _screen = __webpack_require__("41Xj"); var _FeedbackModal = _interopRequireDefault(__webpack_require__("ak4Y")); +var _reactRouterDom = __webpack_require__("55Ip"); + (function () { var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; enterModule && enterModule(module); @@ -21662,6 +21631,7 @@ var Content = function Content(_ref) { _ref$background = _ref.background, background = _ref$background === void 0 ? 'inherit' : _ref$background; var dispatch = (0, _reactRedux.useDispatch)(); + var history = (0, _reactRouterDom.useHistory)(); var _useSelector = (0, _reactRedux.useSelector)(function (state) { return state.ecolyo.global; @@ -21684,20 +21654,18 @@ var Content = function Content(_ref) { * Handle Desktop scroll */ - var handleWindowScroll = function handleWindowScroll() { + var handleWindowScroll = (0, _react.useCallback)(function () { app && app.scrollTo(0, 0); window.scrollTo(0, 0); - }; // Set listners for scroll - + }, [app]); // Set listners for scroll (0, _react.useEffect)(function () { - var listner = _App.history.listen(handleWindowScroll); - + var listner = history.listen(handleWindowScroll); return function () { // remove listner subscription listner(); }; - }, []); + }, [handleWindowScroll, history]); (0, _react.useEffect)(function () { function handleResize() { if (innerWidth <= 768) { @@ -21729,8 +21697,8 @@ var Content = function Content(_ref) { }, children)); }; -__signature__(Content, "useDispatch{dispatch}\nuseSelector{{ screenType }}\nuseSelector{{ isFeedbacksOpen }}\nuseCallback{handleFeedbackModalClose}\nuseEffect{}\nuseEffect{}", function () { - return [_reactRedux.useDispatch, _reactRedux.useSelector, _reactRedux.useSelector]; +__signature__(Content, "useDispatch{dispatch}\nuseHistory{history}\nuseSelector{{ screenType }}\nuseSelector{{ isFeedbacksOpen }}\nuseCallback{handleFeedbackModalClose}\nuseCallback{handleWindowScroll}\nuseEffect{}\nuseEffect{}", function () { + return [_reactRedux.useDispatch, _reactRouterDom.useHistory, _reactRedux.useSelector, _reactRedux.useSelector]; }); var _default = Content; @@ -23117,109 +23085,6 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE /***/ }), -/***/ "WL0o": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(module) { - -var _interopRequireDefault = __webpack_require__("TqRt"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.initBar = exports.getValues = void 0; - -var _manifest = _interopRequireDefault(__webpack_require__("pZg0")); - -(function () { - var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; - enterModule && enterModule(module); -})(); - -var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { - return a; -}; - -var getDataOrDefault = function getDataOrDefault(data, defaultData) { - return /^\{\{\..*\}\}$/.test(data) ? defaultData : data; -}; //NOSONAR - -/** - * default data will allow to display correctly the cozy-bar - * in the standalone (without cozy-stack connexion) - */ - - -var getValues = function getValues(_ref) { - var cozyAppName = _ref.cozyAppName, - cozyAppNamePrefix = _ref.cozyAppNamePrefix, - cozyIconPath = _ref.cozyIconPath; - var defaultValues = { - appIconDefault: __webpack_require__("ZAKO"), - appNamePrefixDefault: _manifest.default.name_prefix, - appNameDefault: _manifest.default.name, - appLocaleDefault: 'fr' - }; - return { - appName: getDataOrDefault(cozyAppName, defaultValues.appNameDefault), - appNamePrefix: getDataOrDefault(cozyAppNamePrefix, defaultValues.appNamePrefixDefault), - iconPath: getDataOrDefault(cozyIconPath, defaultValues.appIconDefault), - lang: defaultValues.appLocaleDefault - }; -}; -/** - * Cozy bar initialization - * @param {object} client - cozy client - */ - - -exports.getValues = getValues; - -var initBar = function initBar(client) { - var root = document.querySelector('[role=application]'); - - var _getValues = getValues(root.dataset), - appName = _getValues.appName, - appNamePrefix = _getValues.appNamePrefix, - iconPath = _getValues.iconPath, - lang = _getValues.lang; - - cozy.bar.init({ - appName: appName, - appNamePrefix: appNamePrefix, - cozyClient: client, - iconPath: iconPath, - lang: lang, - replaceTitleOnMobile: false - }); -}; - -exports.initBar = initBar; -; - -(function () { - var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined; - - if (!reactHotLoader) { - return; - } - - reactHotLoader.register(getDataOrDefault, "getDataOrDefault", "/home/bastien/ecolyo/src/utils/bar.ts"); - reactHotLoader.register(getValues, "getValues", "/home/bastien/ecolyo/src/utils/bar.ts"); - reactHotLoader.register(initBar, "initBar", "/home/bastien/ecolyo/src/utils/bar.ts"); -})(); - -; - -(function () { - var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined; - leaveModule && leaveModule(module); -})(); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module))) - -/***/ }), - /***/ "WQDB": /***/ (function(module) { @@ -23460,6 +23325,11 @@ var EnvironmentService = /*#__PURE__*/function () { return 'https://ecolyo-agent-rec.grandlyon.com'; } } + }, { + key: "isDev", + value: function isDev() { + return false; + } }, { key: "__reactstandin__regenerateByEval", value: // @ts-ignore @@ -24457,13 +24327,6 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE /***/ }), -/***/ "ZAKO": -/***/ (function(module, exports) { - -module.exports = "/img/icon.e4891962a18ac2a487b21f0381a5513f.svg"; - -/***/ }), - /***/ "ZSA5": /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -38296,6 +38159,180 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE /***/ }), +/***/ "vMBp": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +var _interopRequireDefault = __webpack_require__("TqRt"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE")); + +var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ")); + +var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); + +var _appDataset = __webpack_require__("uVqs"); + +(function () { + var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; + enterModule && enterModule(module); +})(); + +var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { + return a; +}; + +var MatomoTracker = /*#__PURE__*/function () { + function MatomoTracker(_ref) { + var cozyUrl = _ref.cozyUrl, + url = _ref.url, + siteId = _ref.siteId, + history = _ref.history, + _ref$phpFilename = _ref.phpFilename, + phpFilename = _ref$phpFilename === void 0 ? 'matomo.php' : _ref$phpFilename; + (0, _classCallCheck2.default)(this, MatomoTracker); + (0, _defineProperty2.default)(this, "cozyUrl", void 0); + (0, _defineProperty2.default)(this, "url", void 0); + (0, _defineProperty2.default)(this, "siteId", void 0); + (0, _defineProperty2.default)(this, "phpFilename", void 0); + (0, _defineProperty2.default)(this, "history", void 0); + (0, _defineProperty2.default)(this, "unlistenFromHistory", void 0); + + if (url === undefined || siteId === undefined) { + throw new Error('MatomoTracker cannot be initialized! SiteId and url are mandatory.'); + } + + this.cozyUrl = cozyUrl; + this.url = url; + this.siteId = siteId; + this.phpFilename = phpFilename; + this.history = history; + + this.unlistenFromHistory = function () { + return null; + }; + + this.init(); + } + + (0, _createClass2.default)(MatomoTracker, [{ + key: "init", + value: function init() { + if (typeof window !== 'undefined') { + window._paq = window._paq || []; + MatomoTracker.push(['enableHeartBeatTimer', 30]); + MatomoTracker.push(['setSiteId', this.siteId]); + MatomoTracker.push(['setReferrerUrl', 'https://ecolyo.com']); + MatomoTracker.push(['setTrackerUrl', "".concat(this.url + this.phpFilename)]); + MatomoTracker.push(['enableLinkTracking']); + } + + return { + push: MatomoTracker.push, + track: this.track, + connectToHistory: this.connectToHistory, + disconnectFromHistory: this.disconnectFromHistory + }; + } + }, { + key: "configure", + value: function configure() { + var cozyDomain; + var userId; + var root = document.querySelector('[role=application]'); + + if (root && root.dataset) { + cozyDomain = (0, _appDataset.readCozyDataFromDOM)('cozyDomain'); + } + + if (cozyDomain) { + userId = cozyDomain; + var indexOfPort = cozyDomain.indexOf(':'); + + if (indexOfPort >= 0) { + userId = userId.substring(0, indexOfPort); + } + } + } + }, { + key: "connectToHistory", + value: function connectToHistory() { + var _this = this; + + this.unlistenFromHistory = this.history.listen(function (loc) { + _this.track(loc); + }); + } + }, { + key: "disconnectFromHistory", + value: function disconnectFromHistory() { + if (this.unlistenFromHistory) { + this.unlistenFromHistory(); + return true; + } + + return false; + } + }, { + key: "track", + value: function track(loc) { + console.log(loc); + + if (typeof window === 'undefined') { + return; + } + + var currentPath = loc.hash.substring(1); + MatomoTracker.push(['setDocumentTitle', currentPath.substring(1)]); + MatomoTracker.push(['setCustomUrl', 'https://ecolyo.com' + currentPath]); + MatomoTracker.push(['trackPageView']); + } + }, { + key: "__reactstandin__regenerateByEval", + value: // @ts-ignore + function __reactstandin__regenerateByEval(key, code) { + // @ts-ignore + this[key] = eval(code); + } + }], [{ + key: "push", + value: function push(args) { + window._paq.push(args); + } + }]); + return MatomoTracker; +}(); + +exports.default = MatomoTracker; +; + +(function () { + var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined; + + if (!reactHotLoader) { + return; + } + + reactHotLoader.register(MatomoTracker, "MatomoTracker", "/home/bastien/ecolyo/src/utils/matomoTracker.ts"); +})(); + +; + +(function () { + var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined; + leaveModule && leaveModule(module); +})(); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module))) + +/***/ }), + /***/ "vOAL": /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -38351,14 +38388,12 @@ var _interopRequireDefault = __webpack_require__("TqRt"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.history = exports.default = exports.App = void 0; +exports.default = exports.App = void 0; -var _react = _interopRequireDefault(__webpack_require__("q1tI")); +var _react = _interopRequireWildcard(__webpack_require__("q1tI")); var _reactRouterDom = __webpack_require__("55Ip"); -var _history = __webpack_require__("LhCv"); - var _Layout = __webpack_require__("Bh3+"); var _reactRedux = __webpack_require__("/MKj"); @@ -38375,19 +38410,24 @@ var _SplashScreenError = _interopRequireDefault(__webpack_require__("7RpM")); var _WelcomeModal = _interopRequireDefault(__webpack_require__("TabY")); +var _environment = _interopRequireDefault(__webpack_require__("X6DI")); + (function () { var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; enterModule && enterModule(module); })(); +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 __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { return a; }; -var history = (0, _history.createBrowserHistory)(); -exports.history = history; +var App = function App(_ref) { + var tracker = _ref.tracker; -var App = function App() { var _useSelector = (0, _reactRedux.useSelector)(function (state) { return state.ecolyo.profile; }), @@ -38399,6 +38439,20 @@ var App = function App() { }), termsStatus = _useSelector2.termsStatus; + var isDev = new _environment.default().isDev(); + console.log(isDev); + (0, _react.useEffect)(function () { + if (tracker // && !isDev + ) { + if (termsStatus.accepted) { + tracker.connectToHistory(); + } + + return function () { + tracker.disconnectFromHistory(); + }; + } + }, [termsStatus.accepted, tracker]); return /*#__PURE__*/_react.default.createElement(_reactRouterDom.HashRouter, history, /*#__PURE__*/_react.default.createElement(_Layout.Layout, null, /*#__PURE__*/_react.default.createElement(_SplashRoot.default, { splashComponent: _SplashScreen.default, splashErrorComponent: _SplashScreenError.default @@ -38414,7 +38468,7 @@ var App = function App() { exports.App = App; -__signature__(App, "useSelector{{ onboarding, isProfileEcogestureCompleted }}\nuseSelector{{ termsStatus }}", function () { +__signature__(App, "useSelector{{ onboarding, isProfileEcogestureCompleted }}\nuseSelector{{ termsStatus }}\nuseEffect{}", function () { return [_reactRedux.useSelector, _reactRedux.useSelector]; }); @@ -38430,7 +38484,6 @@ exports.default = _default2; return; } - reactHotLoader.register(history, "history", "/home/bastien/ecolyo/src/components/App.tsx"); reactHotLoader.register(App, "App", "/home/bastien/ecolyo/src/components/App.tsx"); reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/App.tsx"); })(); diff --git a/img/icon.e4891962a18ac2a487b21f0381a5513f.svg b/img/icon.e4891962a18ac2a487b21f0381a5513f.svg deleted file mode 100644 index 7c0e38096..000000000 --- a/img/icon.e4891962a18ac2a487b21f0381a5513f.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M8.01323 15.059C14.8544 12.3888 14.3227 8.59276 13.9682 2.93081C11.7705 2.8343 9.82099 2.15873 8.01323 1.03278C6.20546 2.15873 4.25592 2.8343 2.05825 2.93081C1.70378 8.59276 1.17209 12.3888 8.01323 15.059Z" fill="#1B1C22"/> -<path d="M8.01325 0L7.54979 0.288665C5.85495 1.34429 4.05006 1.96586 2.01981 2.05502L1.23259 2.08959L1.18335 2.87604C1.16873 3.10958 1.15353 3.34193 1.13842 3.57294C0.97583 6.05878 0.823332 8.39029 1.50758 10.3994C2.29645 12.7158 4.12651 14.483 7.69452 15.8756L8.01325 16V15.059C1.44034 12.4935 1.67345 8.88869 2.01622 3.58822C2.03021 3.37192 2.04438 3.1528 2.05827 2.93081C4.25595 2.8343 6.20549 2.15873 8.01325 1.03277V0Z" fill="#FFC600"/> -<path d="M8.01323 0L8.4767 0.288665C10.1715 1.34429 11.9764 1.96586 14.0067 2.05502L14.7939 2.08959L14.8431 2.87604C14.8578 3.10958 14.873 3.34193 14.8881 3.57294C15.0507 6.05878 15.2032 8.39029 14.5189 10.3994C13.73 12.7158 11.9 14.483 8.33197 15.8756L8.01323 16V15.059C14.5862 12.4935 14.353 8.88869 14.0103 3.58822C13.9963 3.37192 13.9821 3.1528 13.9682 2.93081C11.7705 2.8343 9.821 2.15873 8.01323 1.03277V0Z" fill="#DB8300"/> -<path d="M5.85148 5.51416H6.16248C6.28668 5.51416 6.4058 5.56292 6.49363 5.64973C6.58146 5.73653 6.6308 5.85427 6.6308 5.97703V10.6758H5.38316V5.97703C5.38316 5.85427 5.4325 5.73653 5.52033 5.64973C5.60815 5.56292 5.72727 5.51416 5.85148 5.51416ZM8.01233 7.80214H8.32333C8.44754 7.80214 8.56666 7.85091 8.65448 7.93771C8.74231 8.02452 8.79165 8.14225 8.79165 8.26502V10.6758H7.54401V8.26502C7.54401 8.14225 7.59335 8.02452 7.68118 7.93771C7.76901 7.85091 7.88813 7.80214 8.01233 7.80214ZM10.302 6.91708H10.613C10.7372 6.91708 10.8563 6.96584 10.9441 7.05265C11.032 7.13945 11.0813 7.25719 11.0813 7.37995V10.6758H9.83366V7.37995C9.83366 7.25719 9.883 7.13945 9.97083 7.05265C10.0587 6.96584 10.1778 6.91708 10.302 6.91708Z" fill="#FFC600"/> -</svg> diff --git a/index.html b/index.html index f2980e213..de62e6275 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,user-scalable=0,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}}</head><body><div role="application" class="application" data-cozy-token="{{.Token}}" data-cozy-domain="{{.Domain}}" data-cozy-locale="{{.Locale}}" data-cozy-app-name="{{.AppName}}" data-cozy-app-slug="{{.AppSlug}}" data-cozy-app-name-prefix="{{.AppNamePrefix}}" data-cozy-app-editor="{{.AppEditor}}" data-cozy-icon-path="{{.IconPath}}"><script src="vendors/ecolyo.c133f45a3d8ceb7c84a8.js"></script><script src="app/ecolyo.9cb6e9ee88c6fd608840.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,user-scalable=0,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.b9c0a2c92e4192fd1e1d.js"></script><script src="app/ecolyo.fbbf1cc016e5765032d2.js"></script></div></body></html> \ No newline at end of file diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js index aa313a6c3..498f5761b 100644 --- a/services/aggregatorUsageEvents/ecolyo.js +++ b/services/aggregatorUsageEvents/ecolyo.js @@ -94666,6 +94666,10 @@ class EnvironmentService { } } + isDev() { + return __DEVELOPMENT__; + } + // @ts-ignore __reactstandin__regenerateByEval(key, code) { // @ts-ignore diff --git a/services/consumptionAlert/ecolyo.js b/services/consumptionAlert/ecolyo.js index 0e310ac10..793860c91 100644 --- a/services/consumptionAlert/ecolyo.js +++ b/services/consumptionAlert/ecolyo.js @@ -77043,6 +77043,10 @@ class EnvironmentService { } } + isDev() { + return __DEVELOPMENT__; + } + // @ts-ignore __reactstandin__regenerateByEval(key, code) { // @ts-ignore diff --git a/services/fluidsPrices/ecolyo.js b/services/fluidsPrices/ecolyo.js index 0afc6eb65..aaa4288cd 100644 --- a/services/fluidsPrices/ecolyo.js +++ b/services/fluidsPrices/ecolyo.js @@ -75379,6 +75379,10 @@ class EnvironmentService { } } + isDev() { + return __DEVELOPMENT__; + } + // @ts-ignore __reactstandin__regenerateByEval(key, code) { // @ts-ignore diff --git a/services/monthlyReportNotification/ecolyo.js b/services/monthlyReportNotification/ecolyo.js index 2147d87e8..ff73f2e97 100644 --- a/services/monthlyReportNotification/ecolyo.js +++ b/services/monthlyReportNotification/ecolyo.js @@ -77043,6 +77043,10 @@ class EnvironmentService { } } + isDev() { + return __DEVELOPMENT__; + } + // @ts-ignore __reactstandin__regenerateByEval(key, code) { // @ts-ignore diff --git a/vendors/ecolyo.c133f45a3d8ceb7c84a8.js b/vendors/ecolyo.b9c0a2c92e4192fd1e1d.js similarity index 99% rename from vendors/ecolyo.c133f45a3d8ceb7c84a8.js rename to vendors/ecolyo.b9c0a2c92e4192fd1e1d.js index 99118756f..104047c3b 100644 --- a/vendors/ecolyo.c133f45a3d8ceb7c84a8.js +++ b/vendors/ecolyo.b9c0a2c92e4192fd1e1d.js @@ -315393,6 +315393,104 @@ __webpack_require__.r(__webpack_exports__); }); +/***/ }), + +/***/ "uVqs": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +var _interopRequireDefault = __webpack_require__("TqRt"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resetCache = exports.readCozyDataFromDOM = exports.readCozyData = exports.readApplicationDataset = void 0; + +var _memoize = _interopRequireDefault(__webpack_require__("44Ds")); + +(function () { + var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined; + enterModule && enterModule(module); +})(); + +var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { + return a; +}; + +var readApplicationDataset = (0, _memoize.default)(function () { + var root = document.querySelector('[role=application]'); + return root && root.dataset; +}); +exports.readApplicationDataset = readApplicationDataset; +var readCozyData = (0, _memoize.default)(function () { + var dataset = readApplicationDataset(); + + if (dataset && dataset.cozy) { + return JSON.parse(dataset.cozy); + } + + return null; +}); +/** + * Reads an attribute set by the stack from the DOM + * + * A cozy app must receives on data from the stack, typically on the + * [role=application] node. Here, we try first to read from data-cozy + * and we fallback on data-[attrName]. + */ + +exports.readCozyData = readCozyData; +var readCozyDataFromDOM = (0, _memoize.default)(function (attrName) { + var data = readCozyData(); + + if (data && data[attrName] !== undefined) { + return data[attrName] === 'true' || data[attrName] === 'false' ? JSON.parse(data[attrName]) : data[attrName]; + } + + var appDataset = readApplicationDataset(); + + if (!appDataset) { + return; + } + + var attrName2 = "cozy".concat(attrName[0].toUpperCase()).concat(attrName.substring(1)); + var value = appDataset[attrName2]; + return value === undefined ? undefined : value === '' || JSON.parse(value); +}); +exports.readCozyDataFromDOM = readCozyDataFromDOM; + +var resetCache = function resetCache() { + readCozyDataFromDOM.cache = new _memoize.default.Cache(); + readCozyData.cache = new _memoize.default.Cache(); + readApplicationDataset.cache = new _memoize.default.Cache(); +}; + +exports.resetCache = resetCache; +; + +(function () { + var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined; + + if (!reactHotLoader) { + return; + } + + reactHotLoader.register(readApplicationDataset, "readApplicationDataset", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js"); + reactHotLoader.register(readCozyData, "readCozyData", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js"); + reactHotLoader.register(readCozyDataFromDOM, "readCozyDataFromDOM", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js"); + reactHotLoader.register(resetCache, "resetCache", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js"); +})(); + +; + +(function () { + var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined; + leaveModule && leaveModule(module); +})(); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module))) + /***/ }), /***/ "uXMh": -- GitLab