diff --git a/1/ecolyo.dae40bc46f90e1129324.js b/1/ecolyo.812715c2a24f19cbdaae.js
similarity index 96%
rename from 1/ecolyo.dae40bc46f90e1129324.js
rename to 1/ecolyo.812715c2a24f19cbdaae.js
index 42bec0b4a5528147afac1dfb7c28e568941e4738..2d4345be80561d25a2fe9851bd84282f875e6777 100644
--- a/1/ecolyo.dae40bc46f90e1129324.js
+++ b/1/ecolyo.812715c2a24f19cbdaae.js
@@ -564,7 +564,8 @@ __webpack_require__("0OtY");
 var _FormLogin = _interopRequireDefault(__webpack_require__("PlmD"));
 
 var EpglForm = function EpglForm(_ref) {
-  var hasCreatedAccount = _ref.hasCreatedAccount;
+  var fluidStatus = _ref.fluidStatus,
+      hasCreatedAccount = _ref.hasCreatedAccount;
 
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
@@ -575,7 +576,9 @@ var EpglForm = function EpglForm(_ref) {
     className: "connection-form-title eglgrandlyon text-20-bold"
   }, t('auth.eglgrandlyon.with_account.title')), /*#__PURE__*/_react.default.createElement("div", {
     className: "connection-form-subtitle text-18-bold"
-  }, t('auth.eglgrandlyon.with_account.subtitle1')), /*#__PURE__*/_react.default.createElement(_FormLogin.default, null));
+  }, t('auth.eglgrandlyon.with_account.subtitle1')), /*#__PURE__*/_react.default.createElement(_FormLogin.default, {
+    fluidStatus: fluidStatus
+  }));
 };
 
 var _default = EpglForm;
@@ -924,8 +927,6 @@ 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");
@@ -944,29 +945,24 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
 
 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 SgeInit = function SgeInit(_ref) {
+  var fluidStatus = _ref.fluidStatus;
+
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
 
   var navigate = (0, _reactRouterDom.useNavigate)();
+  var konnectorSlug = fluidStatus.connection.konnectorConfig.slug;
+  var account = fluidStatus.connection.account;
 
   var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
     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;
+      sgeConnect = _useAppSelector.sgeConnect;
 
   var dispatch = (0, _hooks.useAppDispatch)();
 
-  var _useKonnectorAuth = (0, _useKonnectorAuth3.default)(currentFluidStatus.fluidType),
+  var _useKonnectorAuth = (0, _useKonnectorAuth3.default)(fluidStatus),
       _useKonnectorAuth2 = (0, _slicedToArray2.default)(_useKonnectorAuth, 2),
       connect = _useKonnectorAuth2[0],
       update = _useKonnectorAuth2[1];
@@ -1043,7 +1039,7 @@ var SgeInit = function SgeInit() {
       root: 'btn-highlight',
       label: 'text-16-bold'
     }
-  }, t("auth.".concat(konnectorSlug, ".connect"))), currentFluidStatus.firstDataDate && /*#__PURE__*/_react.default.createElement(_core.Button, {
+  }, t("auth.".concat(konnectorSlug, ".connect"))), fluidStatus.firstDataDate && /*#__PURE__*/_react.default.createElement(_core.Button, {
     classes: {
       root: 'btn-secondary',
       label: 'text-16-bold'
@@ -1571,7 +1567,9 @@ var ConsumptionView = function ConsumptionView(_ref) {
   })), !isMulti && /*#__PURE__*/_react.default.createElement("div", {
     className: "konnector-section"
   }, /*#__PURE__*/_react.default.createElement(_KonnectorViewerCard.default, {
+    fluidStatus: fluidStatus[fluidType],
     fluidType: fluidType,
+    isParam: true,
     isDisconnected: false,
     showOfflineData: true,
     setActive: setActive,
@@ -1580,7 +1578,9 @@ var ConsumptionView = function ConsumptionView(_ref) {
   }))), !showOfflineData && /*#__PURE__*/_react.default.createElement("div", {
     className: "konnector-section"
   }, isMulti ? /*#__PURE__*/_react.default.createElement(_KonnectorViewerList.default, null) : /*#__PURE__*/_react.default.createElement(_KonnectorViewerCard.default, {
+    fluidStatus: fluidStatus[fluidType],
     fluidType: fluidType,
+    isParam: false,
     isDisconnected: true,
     showOfflineData: false,
     setActive: setActive,
@@ -1592,7 +1592,7 @@ var ConsumptionView = function ConsumptionView(_ref) {
   }).map(function (issuedFluid) {
     return /*#__PURE__*/_react.default.createElement(_PartnerIssueModal.default, {
       key: issuedFluid.fluidType,
-      issuedFluid: issuedFluid.fluidType,
+      issuedFluid: issuedFluid,
       open: partnersIssueModal[getPartnerKey(issuedFluid.fluidType)],
       handleCloseClick: handleClosePartnerIssueModal
     });
@@ -1665,14 +1665,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
 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 Connection = function Connection(_ref) {
-  var fluidType = _ref.fluidType;
-
-  var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
-    return state.ecolyo.global;
-  }),
-      fluidStatus = _useAppSelector.fluidStatus;
-
-  var currentFluidStatus = fluidStatus[fluidType];
+  var fluidStatus = _ref.fluidStatus;
   var dispatch = (0, _hooks.useAppDispatch)();
   var handleSuccess = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
     var updatedConnection;
@@ -1680,11 +1673,11 @@ var Connection = function Connection(_ref) {
       while (1) {
         switch (_context.prev = _context.next) {
           case 0:
-            updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
+            updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
               shouldLaunchKonnector: true
             });
             dispatch((0, _global.updateFluidConnection)({
-              fluidType: fluidType,
+              fluidType: fluidStatus.fluidType,
               fluidConnection: updatedConnection
             }));
 
@@ -1694,10 +1687,15 @@ var Connection = function Connection(_ref) {
         }
       }
     }, _callee);
-  })), [dispatch, fluidType, currentFluidStatus.connection]);
+  })), [dispatch, fluidStatus.fluidType, fluidStatus.connection]);
   return /*#__PURE__*/_react.default.createElement("div", {
     className: "konnector-form"
-  }, fluidType === _enums.FluidType.ELECTRICITY && /*#__PURE__*/_react.default.createElement(_SgeInit.default, null), fluidType === _enums.FluidType.WATER && /*#__PURE__*/_react.default.createElement(_EpglInit.default, null), fluidType === _enums.FluidType.GAS && /*#__PURE__*/_react.default.createElement(_GrdfInit.default, {
+  }, fluidStatus.fluidType === _enums.FluidType.ELECTRICITY && /*#__PURE__*/_react.default.createElement(_SgeInit.default, {
+    fluidStatus: fluidStatus
+  }), fluidStatus.fluidType === _enums.FluidType.WATER && /*#__PURE__*/_react.default.createElement(_EpglInit.default, {
+    fluidStatus: fluidStatus
+  }), fluidStatus.fluidType === _enums.FluidType.GAS && /*#__PURE__*/_react.default.createElement(_GrdfInit.default, {
+    fluidStatus: fluidStatus,
     onSuccess: handleSuccess
   }));
 };
@@ -1786,35 +1784,54 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
 
 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 useKonnectorAuth = function useKonnectorAuth(fluidType, login, password) {
+var useKonnectorAuth = function useKonnectorAuth(fluidStatus, login, password) {
   var client = (0, _cozyClient.useClient)();
 
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
 
   var dispatch = (0, _hooks.useAppDispatch)();
+  var konnectorSlug = fluidStatus.connection.konnectorConfig.slug;
 
   var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
     return state.ecolyo.global;
   }),
-      sgeConnect = _useAppSelector.sgeConnect,
-      fluidStatus = _useAppSelector.fluidStatus;
-
-  var currentFluidStatus = fluidStatus[fluidType];
-  var konnectorSlug = currentFluidStatus.connection.konnectorConfig.slug;
+      sgeConnect = _useAppSelector.sgeConnect;
 
   var _useState = (0, _react2.useState)(''),
       _useState2 = (0, _slicedToArray2.default)(_useState, 2),
       connectError = _useState2[0],
       setError = _useState2[1];
 
+  var onSuccess = (0, _react2.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
+    var updatedConnection;
+    return _regenerator.default.wrap(function _callee$(_context) {
+      while (1) {
+        switch (_context.prev = _context.next) {
+          case 0:
+            updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
+              shouldLaunchKonnector: true
+            });
+            dispatch((0, _global.updateFluidConnection)({
+              fluidType: fluidStatus.fluidType,
+              fluidConnection: updatedConnection
+            }));
+
+          case 2:
+          case "end":
+            return _context.stop();
+        }
+      }
+    }, _callee);
+  })), [dispatch, fluidStatus.fluidType, fluidStatus.connection]);
+
   var sendUsageEventError = /*#__PURE__*/function () {
-    var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(slug) {
-      return _regenerator.default.wrap(function _callee$(_context) {
+    var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(slug) {
+      return _regenerator.default.wrap(function _callee2$(_context2) {
         while (1) {
-          switch (_context.prev = _context.next) {
+          switch (_context2.prev = _context2.next) {
             case 0:
-              return _context.abrupt("return", _usageEvent.default.addEvent(client, {
+              return _context2.abrupt("return", _usageEvent.default.addEvent(client, {
                 type: _enums.UsageEventType.KONNECTOR_CONNECT_EVENT,
                 target: slug,
                 result: 'error'
@@ -1822,28 +1839,28 @@ var useKonnectorAuth = function useKonnectorAuth(fluidType, login, password) {
 
             case 1:
             case "end":
-              return _context.stop();
+              return _context2.stop();
           }
         }
-      }, _callee);
+      }, _callee2);
     }));
 
     return function sendUsageEventError(_x) {
-      return _ref.apply(this, arguments);
+      return _ref2.apply(this, arguments);
     };
   }();
 
   var connect = /*#__PURE__*/function () {
-    var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
-      var connectionService, _ref3, _account, _trigger, updatedConnection;
+    var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
+      var connectionService, _ref4, _account, _trigger, updatedConnection;
 
-      return _regenerator.default.wrap(function _callee2$(_context2) {
+      return _regenerator.default.wrap(function _callee3$(_context3) {
         while (1) {
-          switch (_context2.prev = _context2.next) {
+          switch (_context3.prev = _context3.next) {
             case 0:
               connectionService = new _connection.default(client);
-              _context2.prev = 1;
-              _context2.next = 4;
+              _context3.prev = 1;
+              _context3.next = 4;
               return _usageEvent.default.addEvent(client, {
                 type: _enums.UsageEventType.KONNECTOR_ATTEMPT_EVENT,
                 target: konnectorSlug,
@@ -1852,95 +1869,95 @@ var useKonnectorAuth = function useKonnectorAuth(fluidType, login, password) {
 
             case 4:
               if (!(konnectorSlug === _enums.FluidSlugType.WATER)) {
-                _context2.next = 10;
+                _context3.next = 10;
                 break;
               }
 
-              _context2.next = 7;
+              _context3.next = 7;
               return connectionService.connectNewUser(konnectorSlug, {
                 login: login ? login : '',
                 password: password
               });
 
             case 7:
-              _context2.t0 = _context2.sent;
-              _context2.next = 13;
+              _context3.t0 = _context3.sent;
+              _context3.next = 13;
               break;
 
             case 10:
-              _context2.next = 12;
+              _context3.next = 12;
               return connectionService.connectNewUser(konnectorSlug, undefined, sgeConnect);
 
             case 12:
-              _context2.t0 = _context2.sent;
+              _context3.t0 = _context3.sent;
 
             case 13:
-              _ref3 = _context2.t0;
-              _account = _ref3.account;
-              _trigger = _ref3.trigger;
+              _ref4 = _context3.t0;
+              _account = _ref4.account;
+              _trigger = _ref4.trigger;
 
               if (!(!_trigger || !_account)) {
-                _context2.next = 20;
+                _context3.next = 20;
                 break;
               }
 
               setError(t('konnector_form.error_account_creation'));
               sendUsageEventError(konnectorSlug);
-              return _context2.abrupt("return", null);
+              return _context3.abrupt("return", null);
 
             case 20:
-              updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
+              updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
                 account: _account,
-                trigger: _trigger,
-                shouldLaunchKonnector: true
+                trigger: _trigger
               });
               (0, _chart.setLoading)(false);
               dispatch((0, _global.updateFluidConnection)({
-                fluidType: currentFluidStatus.fluidType,
+                fluidType: fluidStatus.fluidType,
                 fluidConnection: updatedConnection
               }));
-              _context2.next = 31;
+              onSuccess();
+              _context3.next = 32;
               break;
 
-            case 25:
-              _context2.prev = 25;
-              _context2.t1 = _context2["catch"](1);
+            case 26:
+              _context3.prev = 26;
+              _context3.t1 = _context3["catch"](1);
               (0, _chart.setLoading)(false);
               sendUsageEventError(konnectorSlug);
 
-              _logger.default.error(_context2.t1);
+              _logger.default.error(_context3.t1);
 
               Sentry.captureException(JSON.stringify({
-                error: _context2.t1
+                error: _context3.t1
               }));
 
-            case 31:
+            case 32:
             case "end":
-              return _context2.stop();
+              return _context3.stop();
           }
         }
-      }, _callee2, null, [[1, 25]]);
+      }, _callee3, null, [[1, 26]]);
     }));
 
     return function connect() {
-      return _ref2.apply(this, arguments);
+      return _ref3.apply(this, arguments);
     };
   }();
 
   var update = /*#__PURE__*/function () {
-    var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
+    var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
       var _account, auth, accountService, updatedAccount, updatedConnection;
 
-      return _regenerator.default.wrap(function _callee3$(_context3) {
+      return _regenerator.default.wrap(function _callee4$(_context4) {
         while (1) {
-          switch (_context3.prev = _context3.next) {
+          switch (_context4.prev = _context4.next) {
             case 0:
-              if (!currentFluidStatus.connection.account) {
-                _context3.next = 10;
+              if (!fluidStatus.connection.account) {
+                _context4.next = 11;
                 break;
               }
 
-              _account = currentFluidStatus.connection.account;
+              _account = fluidStatus.connection.account;
 
               if (konnectorSlug === _enums.FluidSlugType.WATER) {
                 auth = {
@@ -1960,30 +1977,30 @@ var useKonnectorAuth = function useKonnectorAuth(fluidType, login, password) {
 
               _account.auth = auth;
               accountService = new _account2.default(client);
-              _context3.next = 7;
+              _context4.next = 7;
               return accountService.updateAccount(_account);
 
             case 7:
-              updatedAccount = _context3.sent;
-              updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
-                account: updatedAccount,
-                shouldLaunchKonnector: true
+              updatedAccount = _context4.sent;
+              updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
+                account: updatedAccount
               });
               dispatch((0, _global.updateFluidConnection)({
-                fluidType: currentFluidStatus.fluidType,
+                fluidType: fluidStatus.fluidType,
                 fluidConnection: updatedConnection
               }));
+              onSuccess();
 
-            case 10:
+            case 11:
             case "end":
-              return _context3.stop();
+              return _context4.stop();
           }
         }
-      }, _callee3);
+      }, _callee4);
     }));
 
     return function update() {
-      return _ref4.apply(this, arguments);
+      return _ref5.apply(this, arguments);
     };
   }();
 
@@ -2127,7 +2144,9 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
 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,
+  var fluidStatus = _ref.fluidStatus,
+      isParam = _ref.isParam,
+      isDisconnected = _ref.isDisconnected,
       showOfflineData = _ref.showOfflineData,
       active = _ref.active,
       fluidType = _ref.fluidType,
@@ -2139,23 +2158,21 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
   var client = (0, _cozyClient.useClient)();
   var dispatch = (0, _hooks.useAppDispatch)();
   var navigate = (0, _reactRouterDom.useNavigate)();
+  var fluidSlug = fluidStatus.connection.konnectorConfig.slug;
+  var fluidState = fluidStatus.status;
+  var konnector = fluidStatus.connection.konnector;
+  var account = fluidStatus.connection.account;
+  var trigger = fluidStatus.connection.trigger;
 
   var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
     return state.ecolyo;
   }),
       currentChallenge = _useAppSelector.challenge.currentChallenge,
       _useAppSelector$globa = _useAppSelector.global,
-      fluidStatus = _useAppSelector$globa.fluidStatus,
+      statusArray = _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],
@@ -2166,7 +2183,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       isUpdating = _useState4[0],
       setIsUpdating = _useState4[1];
 
-  var _useState5 = (0, _react.useState)(fluidSlug !== _enums.FluidSlugType.GAS),
+  var _useState5 = (0, _react.useState)(fluidSlug !== _enums.FluidSlugType.GAS ? true : false),
       _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
       isLogging = _useState6[0],
       setIsLogging = _useState6[1];
@@ -2197,8 +2214,9 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
   var partnersInfoService = (0, _react.useMemo)(function () {
     return new _partnersInfo2.default(client);
   }, [client]);
-  var lastDataDate = fluidType !== _enums.FluidType.MULTIFLUID && currentFluidStatus.lastDataDate ? currentFluidStatus.lastDataDate.toLocaleString() + fluidType : fluidType;
-  var iconType = (0, _picto.getParamPicto)(currentFluidStatus.fluidType);
+  var lastDataDate = fluidType !== _enums.FluidType.MULTIFLUID && statusArray[fluidType].lastDataDate ? statusArray[fluidType].lastDataDate.toLocaleString() + fluidType : fluidType;
+  var iconType = (0, _picto.getParamPicto)(fluidStatus.fluidType);
+  var iconAddType = isParam ? (0, _picto.getParamPicto)(fluidStatus.fluidType) : (0, _picto.getAddPicto)(fluidStatus.fluidType);
 
   var toggleAccordion = function toggleAccordion() {
     setActive(function (prev) {
@@ -2336,7 +2354,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
   })), [refreshChallengeState, updateGlobalFluidStatus, setActive, partnersInfoService, fluidService, dispatch]);
   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, _updatedFluidStatus3;
+      var isGlobalLoginFailed, isEnedisCodeInseeError, shouldDeleteAccount, _fluidStatus$connecti, auth, accountService, _updatedFluidStatus3;
 
       return _regenerator.default.wrap(function _callee4$(_context4) {
         while (1) {
@@ -2346,71 +2364,62 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
               isGlobalLoginFailed = konnectorErrorDescription === _enums.KonnectorError.LOGIN_FAILED || konnectorErrorDescription === _enums.KonnectorError.UNKNOWN_ERROR || konnectorErrorDescription === _enums.KonnectorError.CHALLENGE_ASKED || konnectorErrorDescription === _enums.KonnectorError.CRITICAL; // CASE FOR ENEDIS CODE INSEE ERROR
 
               isEnedisCodeInseeError = !isUpdating && fluidType === _enums.FluidType.ELECTRICITY;
-              shouldDeleteAccount = account && !isSuccess && currentFluidStatus && currentFluidStatus.connection.account && (isGlobalLoginFailed || isEnedisCodeInseeError);
+              shouldDeleteAccount = account && !isSuccess && fluidStatus && fluidStatus.connection.account && (isGlobalLoginFailed || isEnedisCodeInseeError);
 
               if (!shouldDeleteAccount) {
-                _context4.next = 14;
+                _context4.next = 12;
                 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;
+              // KEEP CREDENTIALS FOR EGL
+              if (fluidSlug === _enums.FluidSlugType.WATER && (_fluidStatus$connecti = fluidStatus.connection.account) !== null && _fluidStatus$connecti !== void 0 && _fluidStatus$connecti.auth) {
+                auth = fluidStatus.connection.account.auth;
+                fluidStatus.connection.konnectorConfig.lastKnownCredentials = auth.login;
               } // DELETE ACCOUNT
 
 
               accountService = new _account.default(client);
-              _context4.next = 9;
+              _context4.next = 8;
               return accountService.deleteAccount(account);
 
-            case 9:
-              _context4.next = 11;
+            case 8:
+              _context4.next = 10;
               return handleAccountDeletion();
 
-            case 11:
-              // RESTORE LAST KNOWN CREDENTIALS
-              if (lastEpglLogin) {
-                dispatch((0, _global.setLastEpglLogin)({
-                  lastEpglLogin: lastEpglLogin
-                }));
-              }
-
-              _context4.next = 22;
+            case 10:
+              _context4.next = 20;
               break;
 
-            case 14:
-              if (!(isSuccess && currentFluidStatus.lastDataDate === null)) {
-                _context4.next = 17;
+            case 12:
+              if (!(isSuccess && fluidStatus.lastDataDate === null)) {
+                _context4.next = 15;
                 break;
               }
 
-              _context4.next = 17;
-              return _usageEvent.default.updateConnectionAttemptEvent(client, fluidSlug);
+              _context4.next = 15;
+              return _usageEvent.default.udpateConnectionAttemptEvent(client, fluidSlug);
 
-            case 17:
+            case 15:
               if (!(updatedFluidStatus.length > 0)) {
-                _context4.next = 22;
+                _context4.next = 20;
                 break;
               }
 
-              _context4.next = 20;
+              _context4.next = 18;
               return fluidService.getFluidStatus(partnersInfo);
 
-            case 20:
+            case 18:
               _updatedFluidStatus3 = _context4.sent;
               dispatch((0, _global.setFluidStatus)(_updatedFluidStatus3));
 
-            case 22:
+            case 20:
               setActive(false);
               setOpenModal(false); // TODO null state seems to be read before modal closing and display a success icon in modal
 
               setKonnectorState(null);
               setKonnectorErrorDescription(null);
 
-            case 26:
+            case 24:
             case "end":
               return _context4.stop();
           }
@@ -2421,7 +2430,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
     return function (_x) {
       return _ref5.apply(this, arguments);
     };
-  }(), [account, konnectorErrorDescription, currentFluidStatus, isUpdating, fluidType, setActive, fluidSlug, client, handleAccountDeletion, updatedFluidStatus.length, fluidService, partnersInfo, dispatch]);
+  }(), [account, konnectorErrorDescription, fluidStatus, isUpdating, fluidType, setActive, fluidSlug, client, handleAccountDeletion, updatedFluidStatus.length, fluidService, partnersInfo, dispatch]);
   var sendUsageEventSuccess = (0, _react.useCallback)( /*#__PURE__*/function () {
     var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(konnectorSlug, isConnexion) {
       return _regenerator.default.wrap(function _callee5$(_context5) {
@@ -2470,7 +2479,8 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       return _ref7.apply(this, arguments);
     };
   }(), [client]);
-  var toggleModalConnection = (0, _react.useCallback)(function () {
+
+  var toggleModalConnection = function toggleModalConnection() {
     switch (fluidType) {
       case _enums.FluidType.ELECTRICITY:
         navigate('/sge-connect');
@@ -2482,7 +2492,8 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
         dispatch((0, _modal.openConnectionModal)(true));
         break;
     }
-  }, [dispatch, fluidType, navigate]);
+  };
+
   var getConnectionCard = (0, _react.useCallback)(function () {
     if (showOfflineData && !account) {
       return /*#__PURE__*/_react.default.createElement(_core.Button, {
@@ -2499,18 +2510,19 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
         konnectorSlug: fluidSlug
       });
     } // Handle login failed for EGL
-    else if (fluidState === _enums.FluidState.ERROR_LOGIN_FAILED && fluidType === _enums.FluidType.WATER || account && currentFluidStatus.status !== _enums.FluidState.NOT_CONNECTED) {
+    else if (fluidState === _enums.FluidState.ERROR_LOGIN_FAILED && fluidType === _enums.FluidType.WATER || account && fluidStatus.status !== _enums.FluidState.NOT_CONNECTED) {
       return /*#__PURE__*/_react.default.createElement(_ConnectionResult.default, {
+        fluidStatus: fluidStatus,
         handleAccountDeletion: handleAccountDeletion,
         fluidType: fluidType,
         key: lastDataDate
       });
     } else {
       return /*#__PURE__*/_react.default.createElement(_Connection.default, {
-        fluidType: currentFluidStatus.fluidType
+        fluidStatus: fluidStatus
       });
     }
-  }, [account, currentFluidStatus.fluidType, currentFluidStatus.status, fluidSlug, fluidState, fluidType, handleAccountDeletion, isUpdating, lastDataDate, showOfflineData, t, toggleModalConnection]);
+  }, [fluidState, isUpdating, account, fluidStatus, fluidSlug, handleAccountDeletion, fluidType, lastDataDate]);
   var callbackResponse = (0, _react.useCallback)( /*#__PURE__*/function () {
     var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(_state) {
       var updatedConnection;
@@ -2523,11 +2535,11 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
                 break;
               }
 
-              updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
+              updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
                 shouldLaunchKonnector: false
               });
               dispatch((0, _global.updateFluidConnection)({
-                fluidType: currentFluidStatus.fluidType,
+                fluidType: fluidStatus.fluidType,
                 fluidConnection: updatedConnection
               }));
               _context7.t0 = Promise;
@@ -2558,40 +2570,40 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
     return function (_x6) {
       return _ref8.apply(this, arguments);
     };
-  }(), [dispatch, currentFluidStatus.connection, currentFluidStatus.fluidType, refreshChallengeState, updateGlobalFluidStatus]);
+  }(), [dispatch, fluidStatus.connection, fluidStatus.fluidType, refreshChallengeState, updateGlobalFluidStatus]);
   var displayKonnectorIcon = (0, _react.useCallback)(function () {
     return /*#__PURE__*/_react.default.createElement("div", {
       className: "konnector-icon"
     }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
-      icon: currentFluidStatus.connection.account ? iconType : _offlineParam.default,
+      icon: fluidStatus.connection.account ? iconType : _offlineParam.default,
       size: 49
-    }), currentFluidStatus.maintenance ? /*#__PURE__*/_react.default.createElement(_StyledIcon.default, {
+    }), fluidStatus.maintenance ? /*#__PURE__*/_react.default.createElement(_StyledIcon.default, {
       icon: _notif_maintenance.default,
       size: 24,
       className: "konnector-state-picto"
-    }) : (currentFluidStatus.status === _enums.FluidState.ERROR || isOutdatedData || currentFluidStatus.status === _enums.FluidState.ERROR_LOGIN_FAILED) && currentFluidStatus.connection.account && /*#__PURE__*/_react.default.createElement(_StyledIcon.default, {
+    }) : (fluidStatus.status === _enums.FluidState.ERROR || isOutdatedData || fluidStatus.status === _enums.FluidState.ERROR_LOGIN_FAILED) && fluidStatus.connection.account && /*#__PURE__*/_react.default.createElement(_StyledIcon.default, {
       icon: _notif_error.default,
       size: 24,
       className: "konnector-state-picto"
     }));
-  }, [currentFluidStatus.connection.account, currentFluidStatus.maintenance, currentFluidStatus.status, iconType, isOutdatedData]);
+  }, [fluidStatus.connection.account, fluidStatus.maintenance, fluidStatus.status, iconAddType, iconType, isOutdatedData]);
   var displayKonnectorHeader = (0, _react.useCallback)(function () {
-    if (currentFluidStatus.maintenance) {
+    if (fluidStatus.maintenance) {
       return /*#__PURE__*/_react.default.createElement("span", {
         className: "text-16-bold"
       }, t("konnector_options.partner_issue"));
-    } else if (isOutdatedData && currentFluidStatus.connection.account) {
+    } else if (isOutdatedData && fluidStatus.connection.account) {
       return /*#__PURE__*/_react.default.createElement("span", {
         className: "text-16-bold outdated"
       }, t('konnector_options.outdated', {
         isOutdatedData: isOutdatedData
       }));
-    } else if (currentFluidStatus.connection.account && !isOutdatedData) {
-      return t("FLUID.".concat(_enums.FluidType[currentFluidStatus.fluidType], ".LABEL"));
+    } else if (fluidStatus.connection.account && !isOutdatedData) {
+      return t("FLUID.".concat(_enums.FluidType[fluidStatus.fluidType], ".LABEL"));
     } else {
-      return t("konnector_options.label_offline_".concat(_enums.FluidType[currentFluidStatus.fluidType].toLowerCase()));
+      return t("konnector_options.label_offline_".concat(_enums.FluidType[fluidStatus.fluidType].toLowerCase()));
     }
-  }, [currentFluidStatus.connection.account, currentFluidStatus.fluidType, currentFluidStatus.maintenance, isOutdatedData, t]); // If user has selected accept button on Expired consent modal, then delete its account
+  }, [fluidStatus.connection.account, fluidStatus.fluidType, fluidStatus.maintenance, isOutdatedData, t]); // If user has selected accept button on Expired consent modal, then delete its account
 
   (0, _react.useEffect)(function () {
     function deleteAccountForConsentRefresh() {
@@ -2639,26 +2651,20 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
 
     function _getData() {
       _getData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
-        var updatedConnection, connectionFlow;
+        var connectionFlow;
         return _regenerator.default.wrap(function _callee9$(_context9) {
           while (1) {
             switch (_context9.prev = _context9.next) {
               case 0:
-                if (!(currentFluidStatus.connection.shouldLaunchKonnector && !(0, _triggers.isKonnectorRunning)(trigger))) {
+                if (!(fluidStatus.connection.shouldLaunchKonnector && !(0, _triggers.isKonnectorRunning)(trigger))) {
                   _context9.next = 8;
                   break;
                 }
 
                 if (subscribed) {
-                  if (currentFluidStatus.connection.isUpdating) setIsUpdating(true);
+                  if (fluidStatus.connection.isUpdating) setIsUpdating(true);
                   setOpenModal(true);
-                  updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
-                    shouldLaunchKonnector: false
-                  });
-                  dispatch((0, _global.updateFluidConnection)({
-                    fluidType: currentFluidStatus.fluidType,
-                    fluidConnection: updatedConnection
-                  }));
+                  fluidStatus.connection.shouldLaunchKonnector = false;
                 }
 
                 connectionFlow = new _ConnectionFlow.default(client, trigger, konnector);
@@ -2667,16 +2673,16 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
 
               case 5:
                 connectionFlow.jobWatcher.on(_flowEvents.ERROR_EVENT, function () {
-                  sendUsageEventError(fluidSlug, currentFluidStatus.lastDataDate === null);
+                  sendUsageEventError(fluidSlug, fluidStatus.lastDataDate === null);
                   setKonnectorErrorDescription(connectionFlow.jobWatcher.on()._error);
                   callbackResponse(_flowEvents.ERROR_EVENT);
                 });
                 connectionFlow.jobWatcher.on(_flowEvents.LOGIN_SUCCESS_EVENT, function () {
                   setIsLogging(false);
-                  sendUsageEventSuccess(fluidSlug, currentFluidStatus.lastDataDate === null);
+                  sendUsageEventSuccess(fluidSlug, fluidStatus.lastDataDate === null);
                 });
                 connectionFlow.jobWatcher.on(_flowEvents.SUCCESS_EVENT, function () {
-                  sendUsageEventSuccess(fluidSlug, currentFluidStatus.lastDataDate === null);
+                  sendUsageEventSuccess(fluidSlug, fluidStatus.lastDataDate === null);
                   callbackResponse(_flowEvents.SUCCESS_EVENT);
                 });
 
@@ -2692,19 +2698,19 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
 
     !shouldRefreshConsent && getData();
     var dateChartService = new _dateChart.default();
-    setIsOutdatedData(dateChartService.isDataOutdated(currentFluidStatus.lastDataDate, fluidType));
+    setIsOutdatedData(dateChartService.isDataOutdated(fluidStatus.lastDataDate, fluidType));
     return function () {
       subscribed = false;
     };
-  }, [callbackResponse, client, currentFluidStatus.connection, currentFluidStatus.fluidType, currentFluidStatus.lastDataDate, dispatch, fluidSlug, fluidType, konnector, sendUsageEventError, sendUsageEventSuccess, shouldRefreshConsent, trigger]);
+  }, [client, konnector, trigger, fluidStatus.connection, fluidStatus.connection.shouldLaunchKonnector, fluidStatus.connection.isUpdating, fluidStatus.fluidType, callbackResponse, setActive, fluidStatus.lastDataDate, fluidType, sendUsageEventError, fluidSlug, sendUsageEventSuccess, shouldRefreshConsent]);
   return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isDisconnected ? /*#__PURE__*/_react.default.createElement(_core.Accordion, {
     expanded: active,
     onChange: toggleAccordion,
     classes: {
-      root: "expansion-panel-root ".concat(!currentFluidStatus.maintenance && (currentFluidStatus.status === _enums.FluidState.ERROR || currentFluidStatus.status === _enums.FluidState.ERROR_LOGIN_FAILED) ? 'red-border' : '')
+      root: "expansion-panel-root ".concat(!fluidStatus.maintenance && (fluidStatus.status === _enums.FluidState.ERROR || fluidStatus.status === _enums.FluidState.ERROR_LOGIN_FAILED) ? 'red-border' : '')
     }
   }, /*#__PURE__*/_react.default.createElement(_core.AccordionSummary, {
-    "aria-label": t("konnector_options.accessibility.button_toggle_detail_".concat(_enums.FluidType[currentFluidStatus.fluidType].toLowerCase())),
+    "aria-label": t("konnector_options.accessibility.button_toggle_detail_".concat(_enums.FluidType[fluidStatus.fluidType].toLowerCase())),
     expandIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
       icon: _chevronDown.default,
       size: 16,
@@ -2715,7 +2721,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       content: 'expansion-panel-content'
     }
   }, displayKonnectorIcon(), /*#__PURE__*/_react.default.createElement("div", {
-    className: (0, _classnames.default)('text-16-bold konnector-title', (0, _defineProperty2.default)({}, "".concat(_enums.FluidType[currentFluidStatus.fluidType].toLowerCase(), "-connected"), currentFluidStatus.status !== _enums.FluidState.NOT_CONNECTED && !currentFluidStatus.maintenance))
+    className: (0, _classnames.default)('text-16-bold konnector-title', (0, _defineProperty2.default)({}, "".concat(_enums.FluidType[fluidStatus.fluidType].toLowerCase(), "-connected"), fluidStatus.status !== _enums.FluidState.NOT_CONNECTED && !fluidStatus.maintenance))
   }, displayKonnectorHeader())), /*#__PURE__*/_react.default.createElement(_core.AccordionDetails, {
     classes: {
       root: 'expansion-panel-details'
@@ -2726,7 +2732,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
     isLogging: isLogging,
     state: konnectorState,
     error: konnectorErrorDescription,
-    fluidType: currentFluidStatus.fluidType,
+    fluidType: fluidStatus.fluidType,
     handleCloseClick: handleConnectionEnd,
     handleAccountDeletion: handleAccountDeletion,
     account: account
@@ -3297,25 +3303,24 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
 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 GrdfInit = function GrdfInit(_ref) {
-  var onSuccess = _ref.onSuccess;
+  var fluidStatus = _ref.fluidStatus,
+      onSuccess = _ref.onSuccess;
   var client = (0, _cozyClient.useClient)();
   var dispatch = (0, _hooks.useAppDispatch)();
 
   var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
-    return state.ecolyo;
+    return state.ecolyo.modal;
   }),
-      isConnectionModalOpen = _useAppSelector.modal.isConnectionModalOpen,
-      fluidStatus = _useAppSelector.global.fluidStatus;
+      isConnectionModalOpen = _useAppSelector.isConnectionModalOpen;
 
   var _useState = (0, _react.useState)(false),
       _useState2 = (0, _slicedToArray2.default)(_useState, 2),
       showForm = _useState2[0],
       setShowForm = _useState2[1];
 
-  var currentFluidStatus = fluidStatus[_enums.FluidType.GAS];
-  var konnectorSlug = currentFluidStatus.connection.konnectorConfig.slug;
-  var siteLink = currentFluidStatus.connection.konnectorConfig.siteLink;
-  var konnector = currentFluidStatus.connection.konnector;
+  var konnectorSlug = fluidStatus.connection.konnectorConfig.slug;
+  var siteLink = fluidStatus.connection.konnectorConfig.siteLink;
+  var konnector = fluidStatus.connection.konnector;
   var handleSuccess = (0, _react.useCallback)( /*#__PURE__*/function () {
     var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(accountId) {
       var accountService, account, updatedConnection, triggersServices, trigger, _updatedConnection;
@@ -3341,12 +3346,12 @@ var GrdfInit = function GrdfInit(_ref) {
                 break;
               }
 
-              updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
+              updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
                 account: null,
                 trigger: null
               });
               dispatch((0, _global.updateFluidConnection)({
-                fluidType: currentFluidStatus.fluidType,
+                fluidType: fluidStatus.fluidType,
                 fluidConnection: updatedConnection
               }));
               _context.next = 10;
@@ -3367,12 +3372,12 @@ var GrdfInit = function GrdfInit(_ref) {
 
             case 15:
               trigger = _context.sent;
-              _updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
+              _updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
                 account: account,
                 trigger: trigger
               });
               dispatch((0, _global.updateFluidConnection)({
-                fluidType: currentFluidStatus.fluidType,
+                fluidType: fluidStatus.fluidType,
                 fluidConnection: _updatedConnection
               }));
               onSuccess();
@@ -3388,13 +3393,17 @@ var GrdfInit = function GrdfInit(_ref) {
     return function (_x) {
       return _ref2.apply(this, arguments);
     };
-  }(), [client, konnector, dispatch, currentFluidStatus.fluidType, currentFluidStatus.connection, onSuccess, konnectorSlug]);
+  }(), [client, konnector, dispatch, fluidStatus.fluidType, fluidStatus.connection, onSuccess, konnectorSlug]);
   var goToPartnerSite = (0, _react.useCallback)(function () {
     window.open(siteLink, '_blank');
   }, [siteLink]);
-  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showForm ? /*#__PURE__*/_react.default.createElement(_GrdfBill.default, null) : /*#__PURE__*/_react.default.createElement(_GrdfForm.default, null), /*#__PURE__*/_react.default.createElement(_GrdfConnectModal.default, {
+  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showForm ? /*#__PURE__*/_react.default.createElement(_GrdfBill.default, {
+    fluidStatus: fluidStatus
+  }) : /*#__PURE__*/_react.default.createElement(_GrdfForm.default, null), /*#__PURE__*/_react.default.createElement(_GrdfConnectModal.default, {
     open: isConnectionModalOpen,
     showForm: showForm,
+    konnector: konnector,
+    fluidStatus: fluidStatus,
     handleCloseClick: function handleCloseClick() {
       return dispatch((0, _modal.openConnectionModal)(false));
     },
@@ -3464,7 +3473,7 @@ var PartnerIssueModal = function PartnerIssueModal(_ref) {
       t = _useI18n.t;
 
   var getFluidTypeLabel = function getFluidTypeLabel() {
-    switch (issuedFluid) {
+    switch (issuedFluid.fluidType) {
       case _enums.FluidType.ELECTRICITY:
         return 'elec';
 
@@ -3480,7 +3489,7 @@ var PartnerIssueModal = function PartnerIssueModal(_ref) {
     open: open,
     disableEscapeKeyDown: true,
     onClose: function onClose(event, reason) {
-      event && reason !== 'backdropClick' && handleCloseClick(issuedFluid);
+      event && reason !== 'backdropClick' && handleCloseClick(issuedFluid.fluidType);
     },
     "aria-labelledby": 'accessibility-title',
     classes: {
@@ -3496,7 +3505,7 @@ var PartnerIssueModal = function PartnerIssueModal(_ref) {
     "aria-label": t('feedback.accessibility.button_close'),
     className: "modal-paper-close-button",
     onClick: function onClick() {
-      return handleCloseClick(issuedFluid);
+      return handleCloseClick(issuedFluid.fluidType);
     }
   }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
     icon: _close.default,
@@ -3520,7 +3529,7 @@ var PartnerIssueModal = function PartnerIssueModal(_ref) {
     }
   }), /*#__PURE__*/_react.default.createElement(_Button.default, {
     onClick: function onClick() {
-      return handleCloseClick(issuedFluid);
+      return handleCloseClick(issuedFluid.fluidType);
     },
     classes: {
       root: 'btn-highlight',
@@ -3782,8 +3791,6 @@ var _enums = __webpack_require__("gnxY");
 
 var _react2 = _interopRequireWildcard(__webpack_require__("q1tI"));
 
-var _hooks = __webpack_require__("Zlw4");
-
 var _picto = __webpack_require__("6DBe");
 
 __webpack_require__("GGWR");
@@ -3792,20 +3799,16 @@ 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; }
 
-var FormLogin = function FormLogin() {
+var FormLogin = function FormLogin(_ref) {
+  var fluidStatus = _ref.fluidStatus;
+
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
 
-  var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
-    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 konnectorSlug = fluidStatus.connection.konnectorConfig.slug;
+  var lastKnownCredentials = fluidStatus.connection.konnectorConfig.lastKnownCredentials;
+  var fluidName = _enums.FluidType[fluidStatus.fluidType];
+  var account = fluidStatus.connection.account;
 
   var _useState = (0, _react2.useState)(''),
       _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -3829,7 +3832,7 @@ var FormLogin = function FormLogin() {
 
   var icon = (0, _picto.getPartnerPicto)(konnectorSlug);
 
-  var _useKonnectorAuth = (0, _useKonnectorAuth3.default)(currentFluidStatus.fluidType, login, password),
+  var _useKonnectorAuth = (0, _useKonnectorAuth3.default)(fluidStatus, login, password),
       _useKonnectorAuth2 = (0, _slicedToArray2.default)(_useKonnectorAuth, 3),
       connect = _useKonnectorAuth2[0],
       update = _useKonnectorAuth2[1],
@@ -3860,7 +3863,7 @@ var FormLogin = function FormLogin() {
   };
 
   var handleSubmit = /*#__PURE__*/function () {
-    var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
+    var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
       return _regenerator.default.wrap(function _callee$(_context) {
         while (1) {
           switch (_context.prev = _context.next) {
@@ -3918,7 +3921,7 @@ var FormLogin = function FormLogin() {
     }));
 
     return function handleSubmit(_x) {
-      return _ref.apply(this, arguments);
+      return _ref2.apply(this, arguments);
     };
   }();
 
@@ -3933,11 +3936,11 @@ var FormLogin = function FormLogin() {
       if (authData.login) {
         setLogin(authData.login);
       }
-    } else if (lastEpglLogin) {
-      setLogin(lastEpglLogin);
+    } else if (lastKnownCredentials) {
+      setLogin(lastKnownCredentials);
       setError(t('konnector_form.error_login_failed'));
     }
-  }, [account, lastEpglLogin, t]);
+  }, [account, lastKnownCredentials, t]);
   return /*#__PURE__*/_react2.default.createElement("form", {
     className: "form",
     onSubmit: function onSubmit(e) {
@@ -4676,6 +4679,8 @@ var GrdfConnectModal = function GrdfConnectModal(_ref) {
 
   var open = _ref.open,
       showForm = _ref.showForm,
+      konnector = _ref.konnector,
+      fluidStatus = _ref.fluidStatus,
       handleCloseClick = _ref.handleCloseClick,
       setShowForm = _ref.setShowForm,
       goToPartnerSite = _ref.goToPartnerSite,
@@ -4753,7 +4758,9 @@ var GrdfConnectModal = function GrdfConnectModal(_ref) {
       }
     }, "< ".concat(t('auth.button_previous'))),
     rightButton: /*#__PURE__*/_react.default.createElement(_GrdfFormOAuth.default, {
-      onSuccess: handleSuccess
+      konnector: konnector,
+      onSuccess: handleSuccess,
+      fluidStatus: fluidStatus
     })
   }), _steps);
   return /*#__PURE__*/_react.default.createElement(_core.Dialog, {
@@ -6257,8 +6264,6 @@ 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");
@@ -6269,18 +6274,13 @@ var _modal = __webpack_require__("oKH6");
 
 __webpack_require__("0OtY");
 
-var GrdfBill = function GrdfBill() {
+var GrdfBill = function GrdfBill(_ref) {
+  var fluidStatus = _ref.fluidStatus;
+
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
 
   var dispatch = (0, _hooks.useAppDispatch)();
-
-  var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
-    return state.ecolyo.global;
-  }),
-      fluidStatus = _useAppSelector.fluidStatus;
-
-  var currentFluidStatus = fluidStatus[_enums.FluidType.GAS];
   return /*#__PURE__*/_react.default.createElement("div", {
     className: "connection-form"
   }, /*#__PURE__*/_react.default.createElement("p", {
@@ -6304,7 +6304,7 @@ var GrdfBill = function GrdfBill() {
       root: 'btn-highlight',
       label: 'text-16-bold'
     }
-  }, t('auth.grdfgrandlyon.connect')), currentFluidStatus.firstDataDate && /*#__PURE__*/_react.default.createElement(_Button.default, {
+  }, t('auth.grdfgrandlyon.connect')), fluidStatus.firstDataDate && /*#__PURE__*/_react.default.createElement(_Button.default, {
     classes: {
       root: 'btn-secondary',
       label: 'text-16-bold'
@@ -6752,9 +6752,10 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
 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 _fluidStatus$connecti2;
 
-  var handleAccountDeletion = _ref.handleAccountDeletion,
+  var fluidStatus = _ref.fluidStatus,
+      handleAccountDeletion = _ref.handleAccountDeletion,
       fluidType = _ref.fluidType;
 
   var _useI18n = (0, _I18n.useI18n)(),
@@ -6762,14 +6763,7 @@ var ConnectionResult = function ConnectionResult(_ref) {
 
   var client = (0, _cozyClient.useClient)();
   var dispatch = (0, _hooks.useAppDispatch)();
-
-  var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
-    return state.ecolyo.global;
-  }),
-      fluidStatus = _useAppSelector.fluidStatus;
-
-  var currentFluidStatus = fluidStatus[fluidType];
-  var account = currentFluidStatus.connection.account;
+  var account = fluidStatus.connection.account;
 
   var _useState = (0, _react.useState)(false),
       _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -6823,12 +6817,12 @@ var ConnectionResult = function ConnectionResult(_ref) {
               setStatus('');
               setLastExecutionDate('-');
               setKonnectorError('');
-              updatedConnection = _objectSpread(_objectSpread({}, currentFluidStatus.connection), {}, {
+              updatedConnection = _objectSpread(_objectSpread({}, fluidStatus.connection), {}, {
                 shouldLaunchKonnector: true,
                 isUpdating: true
               });
               dispatch((0, _global.updateFluidConnection)({
-                fluidType: currentFluidStatus.fluidType,
+                fluidType: fluidStatus.fluidType,
                 fluidConnection: updatedConnection
               }));
               setUpdating(false);
@@ -6941,8 +6935,8 @@ var ConnectionResult = function ConnectionResult(_ref) {
   })), [account, client, handleAccountDeletion]);
   var isOutdated = (0, _react.useCallback)(function () {
     var dateChartService = new _dateChart.default();
-    return dateChartService.isDataOutdated(currentFluidStatus.lastDataDate, currentFluidStatus.fluidType);
-  }, [currentFluidStatus]);
+    return dateChartService.isDataOutdated(fluidStatus.lastDataDate, fluidType);
+  }, [fluidStatus, fluidType]);
   var hasUpdatedToday = (0, _react.useCallback)(function () {
     var todayDate = _luxon.DateTime.local().setZone('utc', {
       keepLocalTime: true
@@ -6960,9 +6954,9 @@ var ConnectionResult = function ConnectionResult(_ref) {
   }, [lastExecutionDate]);
   var handleRefreshConsent = (0, _react.useCallback)(function (fluidType) {
     if (fluidType == _enums.FluidType.ELECTRICITY) {
-      var _currentFluidStatus$c;
+      var _fluidStatus$connecti;
 
-      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 = (_fluidStatus$connecti = fluidStatus.connection.account) === null || _fluidStatus$connecti === void 0 ? void 0 : _fluidStatus$connecti.auth; // store the previous account data since the onDelete will remove account from DB
 
       dispatch((0, _global.updateSgeStore)({
         currentStep: 0,
@@ -6980,27 +6974,27 @@ var ConnectionResult = function ConnectionResult(_ref) {
     } else {
       deleteAccountsAndTriggers();
     }
-  }, [deleteAccountsAndTriggers, dispatch, (_currentFluidStatus$c2 = currentFluidStatus.connection.account) === null || _currentFluidStatus$c2 === void 0 ? void 0 : _currentFluidStatus$c2.auth]);
+  }, [deleteAccountsAndTriggers, dispatch, (_fluidStatus$connecti2 = fluidStatus.connection.account) === null || _fluidStatus$connecti2 === void 0 ? void 0 : _fluidStatus$connecti2.auth]);
   (0, _react.useEffect)(function () {
-    var _currentFluidStatus$c3, _currentFluidStatus$c4, _currentFluidStatus$c5;
+    var _fluidStatus$connecti3, _fluidStatus$connecti4, _fluidStatus$connecti5;
 
-    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);
+    if ((_fluidStatus$connecti3 = fluidStatus.connection.triggerState) !== null && _fluidStatus$connecti3 !== void 0 && _fluidStatus$connecti3.last_success) {
+      var result = _luxon.DateTime.fromISO(fluidStatus.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) {
+    if (((_fluidStatus$connecti4 = fluidStatus.connection.triggerState) === null || _fluidStatus$connecti4 === void 0 ? void 0 : _fluidStatus$connecti4.status) === 'errored' && (_fluidStatus$connecti5 = fluidStatus.connection.triggerState) !== null && _fluidStatus$connecti5 !== void 0 && _fluidStatus$connecti5.last_error) {
       setStatus('errored');
-      setKonnectorError((0, _utils.getKonnectorUpdateError)(currentFluidStatus.connection.triggerState.last_error));
+      setKonnectorError((0, _utils.getKonnectorUpdateError)(fluidStatus.connection.triggerState.last_error));
     }
 
     if (isOutdated()) {
       setOutDatedDataDays(isOutdated());
     }
-  }, [currentFluidStatus.connection.triggerState, isOutdated]);
+  }, [fluidStatus.connection.triggerState, isOutdated]);
 
   var getFluidTypeTranslation = function getFluidTypeTranslation(fluidType) {
     switch (fluidType) {
@@ -7026,7 +7020,7 @@ var ConnectionResult = function ConnectionResult(_ref) {
 
   var getConnectionStatus = function getConnectionStatus() {
     // First check if there is partner error from backoffice
-    if (currentFluidStatus.maintenance) {
+    if (fluidStatus.maintenance) {
       return /*#__PURE__*/_react.default.createElement("div", {
         className: "connection-caption text-16-normal"
       }, /*#__PURE__*/_react.default.createElement("div", {
@@ -7049,7 +7043,7 @@ var ConnectionResult = function ConnectionResult(_ref) {
 
     if (outDatedDataDays) {
       return /*#__PURE__*/_react.default.createElement(DisplayDataOutdated, {
-        fluidStatus: currentFluidStatus,
+        fluidStatus: fluidStatus,
         fluidType: fluidType,
         lastExecutionDate: lastExecutionDate,
         hasUpdatedToday: hasUpdatedToday()
@@ -7066,7 +7060,7 @@ var ConnectionResult = function ConnectionResult(_ref) {
   return /*#__PURE__*/_react.default.createElement("div", {
     className: "connection-update-result"
   }, /*#__PURE__*/_react.default.createElement("div", {
-    className: status === 'errored' && !hasUpdatedToday() && !currentFluidStatus.maintenance ? 'connection-update-errored' : ''
+    className: status === 'errored' && !hasUpdatedToday() && !fluidStatus.maintenance ? 'connection-update-errored' : ''
   }, getConnectionStatus()), /*#__PURE__*/_react.default.createElement("div", {
     className: "inline-buttons"
   }, !consentError && /*#__PURE__*/_react.default.createElement(_Button.default, {
@@ -7149,7 +7143,7 @@ var DisplayDataOutdated = function DisplayDataOutdated(_ref5) {
 
 
 var DisplayAlreadyUpdatedToday = function DisplayAlreadyUpdatedToday(_ref6) {
-  var _fluidStatus$connecti;
+  var _fluidStatus$connecti6;
 
   var fluidStatus = _ref6.fluidStatus,
       fluidType = _ref6.fluidType,
@@ -7175,7 +7169,7 @@ var DisplayAlreadyUpdatedToday = function DisplayAlreadyUpdatedToday(_ref6) {
     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) + '.'));
+  }, lastExecutionDate.toLocaleString()), /*#__PURE__*/_react.default.createElement("div", null, (fluidStatus === null || fluidStatus === void 0 ? void 0 : (_fluidStatus$connecti6 = fluidStatus.connection) === null || _fluidStatus$connecti6 === void 0 ? void 0 : _fluidStatus$connecti6.konnector) && t('konnector_form.issue') + ' ' + getFluidTypeKonnectorTranslation(fluidType) + '.'));
 };
 /** Tells user to run a manual update */
 
@@ -7309,7 +7303,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; }
 
 var GrdfFormOAuth = function GrdfFormOAuth(_ref) {
-  var onSuccess = _ref.onSuccess;
+  var konnector = _ref.konnector,
+      onSuccess = _ref.onSuccess,
+      fluidStatus = _ref.fluidStatus;
   var IDLE = 'idle';
   var WAITING = 'waiting';
 
@@ -7321,11 +7317,8 @@ var GrdfFormOAuth = function GrdfFormOAuth(_ref) {
   var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
     return state.ecolyo.global;
   }),
-      shouldRefreshConsent = _useAppSelector.shouldRefreshConsent,
-      fluidStatus = _useAppSelector.fluidStatus;
+      shouldRefreshConsent = _useAppSelector.shouldRefreshConsent;
 
-  var currentFluidStatus = fluidStatus[_enums.FluidType.GAS];
-  var konnector = currentFluidStatus.connection.konnector;
   var dispatch = (0, _hooks.useAppDispatch)();
 
   var _useState = (0, _react.useState)(IDLE),
@@ -7343,7 +7336,7 @@ var GrdfFormOAuth = function GrdfFormOAuth(_ref) {
       while (1) {
         switch (_context.prev = _context.next) {
           case 0:
-            if (!(konnector !== null && konnector !== void 0 && konnector.slug && currentFluidStatus.lastDataDate === null)) {
+            if (!(konnector !== null && konnector !== void 0 && konnector.slug && fluidStatus.lastDataDate === null)) {
               _context.next = 3;
               break;
             }
@@ -7364,7 +7357,7 @@ var GrdfFormOAuth = function GrdfFormOAuth(_ref) {
         }
       }
     }, _callee);
-  })), [client, currentFluidStatus.lastDataDate, konnector]);
+  })), [client, fluidStatus.lastDataDate, konnector]);
   var handleAccountId = (0, _react.useCallback)(function (accountId) {
     endOAuth();
     onSuccess(accountId);
@@ -7542,8 +7535,6 @@ 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");
@@ -7554,18 +7545,13 @@ var _modal = __webpack_require__("oKH6");
 
 __webpack_require__("0OtY");
 
-var EpglBill = function EpglBill() {
+var EpglBill = function EpglBill(_ref) {
+  var fluidStatus = _ref.fluidStatus;
+
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
 
   var dispatch = (0, _hooks.useAppDispatch)();
-
-  var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
-    return state.ecolyo.global;
-  }),
-      fluidStatus = _useAppSelector.fluidStatus;
-
-  var currentFluidStatus = fluidStatus[_enums.FluidType.WATER];
   return /*#__PURE__*/_react.default.createElement("div", {
     className: "connection-form"
   }, /*#__PURE__*/_react.default.createElement("p", {
@@ -7589,7 +7575,7 @@ var EpglBill = function EpglBill() {
       root: 'btn-highlight',
       label: 'text-16-bold'
     }
-  }, t('auth.eglgrandlyon.connect')), currentFluidStatus.firstDataDate && /*#__PURE__*/_react.default.createElement(_Button.default, {
+  }, t('auth.eglgrandlyon.connect')), fluidStatus.firstDataDate && /*#__PURE__*/_react.default.createElement(_Button.default, {
     classes: {
       root: 'btn-secondary',
       label: 'text-16-bold'
@@ -7782,8 +7768,6 @@ var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp"));
 
 var _EpglConnectModal = _interopRequireDefault(__webpack_require__("b88j"));
 
-var _enums = __webpack_require__("gnxY");
-
 var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _hooks = __webpack_require__("Zlw4");
@@ -7800,17 +7784,16 @@ 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; }
 
-var EpglInit = function EpglInit() {
+var EpglInit = function EpglInit(_ref) {
+  var fluidStatus = _ref.fluidStatus;
   var dispatch = (0, _hooks.useAppDispatch)();
 
   var _useAppSelector = (0, _hooks.useAppSelector)(function (state) {
-    return state.ecolyo;
+    return state.ecolyo.modal;
   }),
-      isConnectionModalOpen = _useAppSelector.modal.isConnectionModalOpen,
-      fluidStatus = _useAppSelector.global.fluidStatus;
+      isConnectionModalOpen = _useAppSelector.isConnectionModalOpen;
 
-  var currentFluidStatus = fluidStatus[_enums.FluidType.WATER];
-  var siteLink = currentFluidStatus.connection.konnectorConfig.siteLink;
+  var siteLink = fluidStatus.connection.konnectorConfig.siteLink;
 
   var _useState = (0, _react.useState)(false),
       _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -7825,7 +7808,10 @@ var EpglInit = function EpglInit() {
   var goToPartnerSite = (0, _react.useCallback)(function () {
     window.open(siteLink, '_blank');
   }, [siteLink]);
-  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showForm ? /*#__PURE__*/_react.default.createElement(_EpglBill.default, null) : /*#__PURE__*/_react.default.createElement(_EpglForm.default, {
+  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showForm ? /*#__PURE__*/_react.default.createElement(_EpglBill.default, {
+    fluidStatus: fluidStatus
+  }) : /*#__PURE__*/_react.default.createElement(_EpglForm.default, {
+    fluidStatus: fluidStatus,
     hasCreatedAccount: hasCreatedAccount
   }), /*#__PURE__*/_react.default.createElement(_EpglConnectModal.default, {
     open: isConnectionModalOpen,
diff --git a/app/ecolyo.de8e029548e5b84f316c.js b/app/ecolyo.f5f869b26f47315244f4.js
similarity index 99%
rename from app/ecolyo.de8e029548e5b84f316c.js
rename to app/ecolyo.f5f869b26f47315244f4.js
index 40e9a1f3785587f1f160dd015f4c9037de95210f..c1e6da1cd9342272129999a20e1c77e150e968d8 100644
--- a/app/ecolyo.de8e029548e5b84f316c.js
+++ b/app/ecolyo.f5f869b26f47315244f4.js
@@ -64,7 +64,7 @@
 /******/
 /******/ 	// script path function
 /******/ 	function jsonpScriptSrc(chunkId) {
-/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"dae40bc46f90e1129324","2":"ee6e82fa75e665d74560","4":"d2bf69e982254c3ce239","5":"376cdd52c18eb6f092a0","6":"07e8fd2b54e9d8d82c0d","7":"03964c0031ba71f39f0a","8":"79baa4590f4f0a94be8c","9":"30da7dc1931663d9bbdf","10":"24e1a14cab96b50d3fbd"}[chunkId] + ".js"
+/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"812715c2a24f19cbdaae","2":"ee6e82fa75e665d74560","4":"d2bf69e982254c3ce239","5":"376cdd52c18eb6f092a0","6":"07e8fd2b54e9d8d82c0d","7":"03964c0031ba71f39f0a","8":"79baa4590f4f0a94be8c","9":"30da7dc1931663d9bbdf","10":"24e1a14cab96b50d3fbd"}[chunkId] + ".js"
 /******/ 	}
 /******/
 /******/ 	// The require function
@@ -23125,10 +23125,14 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE
 "use strict";
 
 
+var _interopRequireDefault = __webpack_require__("TqRt");
+
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.updateTermsStatus = exports.updateSgeStore = exports.updateFluidConnection = exports.updateEcogestureFilter = exports.toggleChallengeExplorationNotification = exports.toggleChallengeDuelNotification = exports.toggleChallengeActionNotification = exports.toggleAnalysisNotification = exports.showReleaseNotes = exports.setShouldRefreshConsent = exports.setPartnersInfo = exports.setLastEpglLogin = exports.setFluidStatus = exports.globalSlice = exports.changeScreenType = void 0;
+exports.updateTermsStatus = exports.updateSgeStore = exports.updateFluidConnection = exports.updateEcogestureFilter = exports.toggleChallengeExplorationNotification = exports.toggleChallengeDuelNotification = exports.toggleChallengeActionNotification = exports.toggleAnalysisNotification = exports.showReleaseNotes = exports.setShouldRefreshConsent = exports.setPartnersInfo = exports.setFluidStatus = exports.globalSlice = exports.changeScreenType = void 0;
+
+var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("RIqP"));
 
 var _toolkit = __webpack_require__("i7Pf");
 
@@ -23235,8 +23239,7 @@ var initialState = {
     pdlConfirm: false,
     shouldLaunchAccount: false
   },
-  ecogestureFilter: _enums.Usage.ALL,
-  lastEpglLogin: ''
+  ecogestureFilter: _enums.Usage.ALL
 };
 
 var getFluidTypesFromStatus = function getFluidTypesFromStatus(fluidStatus) {
@@ -23285,15 +23288,14 @@ var globalSlice = (0, _toolkit.createSlice)({
     setShouldRefreshConsent: function setShouldRefreshConsent(state, action) {
       state.shouldRefreshConsent = action.payload;
     },
-    updateFluidConnection: function updateFluidConnection(state, _ref) {
-      var _ref$payload = _ref.payload,
-          fluidType = _ref$payload.fluidType,
-          fluidConnection = _ref$payload.fluidConnection;
-      state.fluidStatus[fluidType].connection = fluidConnection;
-    },
-    setLastEpglLogin: function setLastEpglLogin(state, _ref2) {
-      var lastEpglLogin = _ref2.payload.lastEpglLogin;
-      state.lastEpglLogin = lastEpglLogin;
+    updateFluidConnection: function updateFluidConnection(state, action) {
+      var updatedFluidStatus = (0, _toConsumableArray2.default)(state.fluidStatus);
+      var fluidType = action.payload.fluidType;
+      var findIndex = state.fluidStatus.findIndex(function (fluid) {
+        return fluid.fluidType === fluidType;
+      });
+      updatedFluidStatus[findIndex].connection = action.payload.fluidConnection;
+      state.fluidStatus = updatedFluidStatus;
     },
     updateSgeStore: function updateSgeStore(state, action) {
       state.sgeConnect = action.payload;
@@ -23307,7 +23309,6 @@ exports.globalSlice = globalSlice;
 var _globalSlice$actions = globalSlice.actions,
     changeScreenType = _globalSlice$actions.changeScreenType,
     setFluidStatus = _globalSlice$actions.setFluidStatus,
-    setLastEpglLogin = _globalSlice$actions.setLastEpglLogin,
     setPartnersInfo = _globalSlice$actions.setPartnersInfo,
     setShouldRefreshConsent = _globalSlice$actions.setShouldRefreshConsent,
     showReleaseNotes = _globalSlice$actions.showReleaseNotes,
@@ -23330,7 +23331,6 @@ exports.toggleAnalysisNotification = toggleAnalysisNotification;
 exports.showReleaseNotes = showReleaseNotes;
 exports.setShouldRefreshConsent = setShouldRefreshConsent;
 exports.setPartnersInfo = setPartnersInfo;
-exports.setLastEpglLogin = setLastEpglLogin;
 exports.setFluidStatus = setFluidStatus;
 exports.changeScreenType = changeScreenType;
 
@@ -24394,9 +24394,9 @@ var UsageEventService = /*#__PURE__*/function () {
      */
 
   }, {
-    key: "updateConnectionAttemptEvent",
+    key: "udpateConnectionAttemptEvent",
     value: function () {
-      var _updateConnectionAttemptEvent = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(client, konnectorSlug) {
+      var _udpateConnectionAttemptEvent = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(client, konnectorSlug) {
         var query, _yield$client$query, _yield$client$query$d, usageEventEntity, updatedEvent, _yield$client$save, savedEvent, errorMessage;
 
         return _regenerator.default.wrap(function _callee3$(_context3) {
@@ -24444,7 +24444,7 @@ var UsageEventService = /*#__PURE__*/function () {
               case 16:
                 _context3.prev = 16;
                 _context3.t0 = _context3["catch"](0);
-                errorMessage = "UsageEvent service error on updateConnectionAttemptEvent: ".concat(JSON.stringify(_context3.t0));
+                errorMessage = "UsageEvent service error on udpateConnectionAttemptEvent: ".concat(JSON.stringify(_context3.t0));
                 logStack('error', errorMessage);
 
                 _logger.default.error(errorMessage);
@@ -24459,11 +24459,11 @@ var UsageEventService = /*#__PURE__*/function () {
         }, _callee3, null, [[0, 16]]);
       }));
 
-      function updateConnectionAttemptEvent(_x6, _x7) {
-        return _updateConnectionAttemptEvent.apply(this, arguments);
+      function udpateConnectionAttemptEvent(_x6, _x7) {
+        return _udpateConnectionAttemptEvent.apply(this, arguments);
       }
 
-      return updateConnectionAttemptEvent;
+      return udpateConnectionAttemptEvent;
     }()
     /**
      * updateUsageEventsAggregated
diff --git a/index.html b/index.html
index dea8b6bcf5d514686dfc75e433b582e9f2d21e3d..3b61e06ed3ef8f23a1a32d1fe35abd84deecb78b 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.e8305b3519e4c7b4170b.js"></script><script src="app/ecolyo.de8e029548e5b84f316c.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.c7b5649111024e54a69b.js"></script><script src="app/ecolyo.f5f869b26f47315244f4.js"></script></div></body></html>
\ No newline at end of file
diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js
index ba13c263ee883a9aa18e2d762b6834c84046452f..7201d37b822630185c0145200371880539134644 100644
--- a/services/aggregatorUsageEvents/ecolyo.js
+++ b/services/aggregatorUsageEvents/ecolyo.js
@@ -119802,7 +119802,7 @@ class UsageEventService {
    */
 
 
-  static async updateConnectionAttemptEvent(client, konnectorSlug) {
+  static async udpateConnectionAttemptEvent(client, konnectorSlug) {
     try {
       // Get last Connection attempt Event
       const query = (0, _cozyClient.Q)(_doctypes.USAGEEVENT_DOCTYPE).where({
@@ -119828,7 +119828,7 @@ class UsageEventService {
         return savedEvent;
       }
     } catch (error) {
-      const errorMessage = `UsageEvent service error on updateConnectionAttemptEvent: ${JSON.stringify(error)}`;
+      const errorMessage = `UsageEvent service error on udpateConnectionAttemptEvent: ${JSON.stringify(error)}`;
       logStack('error', errorMessage);
 
       _logger.default.error(errorMessage);
diff --git a/vendors/ecolyo.e8305b3519e4c7b4170b.js b/vendors/ecolyo.c7b5649111024e54a69b.js
similarity index 99%
rename from vendors/ecolyo.e8305b3519e4c7b4170b.js
rename to vendors/ecolyo.c7b5649111024e54a69b.js
index e6e8c1bd0771e0dab092a9294d73d860925c869a..908cf52f198d1361ed86e41e2ea3ea5bfa9117dc 100644
--- a/vendors/ecolyo.e8305b3519e4c7b4170b.js
+++ b/vendors/ecolyo.c7b5649111024e54a69b.js
@@ -28023,6 +28023,70 @@ var scheme = new Array(3).concat(
 /* harmony default export */ __webpack_exports__["default"] = (Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__["default"])(scheme));
 
 
+/***/ }),
+
+/***/ "2ZlZ":
+/***/ (function(module, exports, __webpack_require__) {
+
+var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+  Copyright (c) 2018 Jed Watson.
+  Licensed under the MIT License (MIT), see
+  http://jedwatson.github.io/classnames
+*/
+/* global define */
+
+(function () {
+	'use strict';
+
+	var hasOwn = {}.hasOwnProperty;
+
+	function classNames() {
+		var classes = [];
+
+		for (var i = 0; i < arguments.length; i++) {
+			var arg = arguments[i];
+			if (!arg) continue;
+
+			var argType = typeof arg;
+
+			if (argType === 'string' || argType === 'number') {
+				classes.push(arg);
+			} else if (Array.isArray(arg)) {
+				if (arg.length) {
+					var inner = classNames.apply(null, arg);
+					if (inner) {
+						classes.push(inner);
+					}
+				}
+			} else if (argType === 'object') {
+				if (arg.toString === Object.prototype.toString) {
+					for (var key in arg) {
+						if (hasOwn.call(arg, key) && arg[key]) {
+							classes.push(key);
+						}
+					}
+				} else {
+					classes.push(arg.toString());
+				}
+			}
+		}
+
+		return classes.join(' ');
+	}
+
+	if ( true && module.exports) {
+		classNames.default = classNames;
+		module.exports = classNames;
+	} else if (true) {
+		// register as 'classnames', consistent with npm package name
+		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+			return classNames;
+		}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+	} else {}
+}());
+
+
 /***/ }),
 
 /***/ "2ajD":
@@ -31309,7 +31373,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__);
 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("q1tI");
 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
-/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("TSYQ");
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("2ZlZ");
 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);
 /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("mwIZ");
 /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_5__);
@@ -50008,7 +50072,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _dedupe = _interopRequireDefault(__webpack_require__("A/WM"));
+var _dedupe = _interopRequireDefault(__webpack_require__("dogg"));
 
 var _useCozyDialog2 = _interopRequireDefault(__webpack_require__("mB6O"));
 
@@ -68679,126 +68743,6 @@ function getThemeProps(params) {
   return props;
 }
 
-/***/ }),
-
-/***/ "A/WM":
-/***/ (function(module, exports, __webpack_require__) {
-
-var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
-  Copyright (c) 2018 Jed Watson.
-  Licensed under the MIT License (MIT), see
-  http://jedwatson.github.io/classnames
-*/
-/* global define */
-
-(function () {
-	'use strict';
-
-	var classNames = (function () {
-		// don't inherit from Object so we can skip hasOwnProperty check later
-		// http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232
-		function StorageObject() {}
-		StorageObject.prototype = Object.create(null);
-
-		function _parseArray (resultSet, array) {
-			var length = array.length;
-
-			for (var i = 0; i < length; ++i) {
-				_parse(resultSet, array[i]);
-			}
-		}
-
-		var hasOwn = {}.hasOwnProperty;
-
-		function _parseNumber (resultSet, num) {
-			resultSet[num] = true;
-		}
-
-		function _parseObject (resultSet, object) {
-			if (object.toString === Object.prototype.toString) {
-				for (var k in object) {
-					if (hasOwn.call(object, k)) {
-						// set value to false instead of deleting it to avoid changing object structure
-						// https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions
-						resultSet[k] = !!object[k];
-					}
-				}
-			} else {
-				resultSet[object.toString()] = true;
-			}
-		}
-
-		var SPACE = /\s+/;
-		function _parseString (resultSet, str) {
-			var array = str.split(SPACE);
-			var length = array.length;
-
-			for (var i = 0; i < length; ++i) {
-				resultSet[array[i]] = true;
-			}
-		}
-
-		function _parse (resultSet, arg) {
-			if (!arg) return;
-			var argType = typeof arg;
-
-			// 'foo bar'
-			if (argType === 'string') {
-				_parseString(resultSet, arg);
-
-			// ['foo', 'bar', ...]
-			} else if (Array.isArray(arg)) {
-				_parseArray(resultSet, arg);
-
-			// { 'foo': true, ... }
-			} else if (argType === 'object') {
-				_parseObject(resultSet, arg);
-
-			// '130'
-			} else if (argType === 'number') {
-				_parseNumber(resultSet, arg);
-			}
-		}
-
-		function _classNames () {
-			// don't leak arguments
-			// https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
-			var len = arguments.length;
-			var args = Array(len);
-			for (var i = 0; i < len; i++) {
-				args[i] = arguments[i];
-			}
-
-			var classSet = new StorageObject();
-			_parseArray(classSet, args);
-
-			var list = [];
-
-			for (var k in classSet) {
-				if (classSet[k]) {
-					list.push(k)
-				}
-			}
-
-			return list.join(' ');
-		}
-
-		return _classNames;
-	})();
-
-	if ( true && module.exports) {
-		classNames.default = classNames;
-		module.exports = classNames;
-	} else if (true) {
-		// register as 'classnames', consistent with npm package name
-		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
-			return classNames;
-		}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
-				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
-	} else {}
-}());
-
-
 /***/ }),
 
 /***/ "A204":
@@ -76652,7 +76596,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
 
 var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _omit = _interopRequireDefault(__webpack_require__("Puqe"));
 
@@ -113180,7 +113124,7 @@ var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _useCozyDialog2 = _interopRequireDefault(__webpack_require__("mB6O"));
 
@@ -132680,7 +132624,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("QILm
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
@@ -163360,7 +163304,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
@@ -224948,9 +224892,9 @@ module.exports = isUndefined;
 /***/ (function(module, exports, __webpack_require__) {
 
 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
-  Copyright (c) 2018 Jed Watson.
-  Licensed under the MIT License (MIT), see
-  http://jedwatson.github.io/classnames
+	Copyright (c) 2018 Jed Watson.
+	Licensed under the MIT License (MIT), see
+	http://jedwatson.github.io/classnames
 */
 /* global define */
 
@@ -224958,6 +224902,7 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 	'use strict';
 
 	var hasOwn = {}.hasOwnProperty;
+	var nativeCodeString = '[native code]';
 
 	function classNames() {
 		var classes = [];
@@ -224978,14 +224923,15 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 					}
 				}
 			} else if (argType === 'object') {
-				if (arg.toString === Object.prototype.toString) {
-					for (var key in arg) {
-						if (hasOwn.call(arg, key) && arg[key]) {
-							classes.push(key);
-						}
-					}
-				} else {
+				if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
 					classes.push(arg.toString());
+					continue;
+				}
+
+				for (var key in arg) {
+					if (hasOwn.call(arg, key) && arg[key]) {
+						classes.push(key);
+					}
 				}
 			}
 		}
@@ -238362,7 +238308,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _Icon = _interopRequireDefault(__webpack_require__("y6ex"));
 
@@ -282295,6 +282241,70 @@ Apps.propTypes = {
 };
 /* harmony default export */ __webpack_exports__["default"] = (Apps);
 
+/***/ }),
+
+/***/ "d2Ux":
+/***/ (function(module, exports, __webpack_require__) {
+
+var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+  Copyright (c) 2018 Jed Watson.
+  Licensed under the MIT License (MIT), see
+  http://jedwatson.github.io/classnames
+*/
+/* global define */
+
+(function () {
+	'use strict';
+
+	var hasOwn = {}.hasOwnProperty;
+
+	function classNames() {
+		var classes = [];
+
+		for (var i = 0; i < arguments.length; i++) {
+			var arg = arguments[i];
+			if (!arg) continue;
+
+			var argType = typeof arg;
+
+			if (argType === 'string' || argType === 'number') {
+				classes.push(arg);
+			} else if (Array.isArray(arg)) {
+				if (arg.length) {
+					var inner = classNames.apply(null, arg);
+					if (inner) {
+						classes.push(inner);
+					}
+				}
+			} else if (argType === 'object') {
+				if (arg.toString === Object.prototype.toString) {
+					for (var key in arg) {
+						if (hasOwn.call(arg, key) && arg[key]) {
+							classes.push(key);
+						}
+					}
+				} else {
+					classes.push(arg.toString());
+				}
+			}
+		}
+
+		return classes.join(' ');
+	}
+
+	if ( true && module.exports) {
+		classNames.default = classNames;
+		module.exports = classNames;
+	} else if (true) {
+		// register as 'classnames', consistent with npm package name
+		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+			return classNames;
+		}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+	} else {}
+}());
+
+
 /***/ }),
 
 /***/ "d4HN":
@@ -287738,6 +287748,126 @@ function ordinal (number) {
 module.exports = buildFormatLocale
 
 
+/***/ }),
+
+/***/ "dogg":
+/***/ (function(module, exports, __webpack_require__) {
+
+var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+  Copyright (c) 2018 Jed Watson.
+  Licensed under the MIT License (MIT), see
+  http://jedwatson.github.io/classnames
+*/
+/* global define */
+
+(function () {
+	'use strict';
+
+	var classNames = (function () {
+		// don't inherit from Object so we can skip hasOwnProperty check later
+		// http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232
+		function StorageObject() {}
+		StorageObject.prototype = Object.create(null);
+
+		function _parseArray (resultSet, array) {
+			var length = array.length;
+
+			for (var i = 0; i < length; ++i) {
+				_parse(resultSet, array[i]);
+			}
+		}
+
+		var hasOwn = {}.hasOwnProperty;
+
+		function _parseNumber (resultSet, num) {
+			resultSet[num] = true;
+		}
+
+		function _parseObject (resultSet, object) {
+			if (object.toString === Object.prototype.toString) {
+				for (var k in object) {
+					if (hasOwn.call(object, k)) {
+						// set value to false instead of deleting it to avoid changing object structure
+						// https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions
+						resultSet[k] = !!object[k];
+					}
+				}
+			} else {
+				resultSet[object.toString()] = true;
+			}
+		}
+
+		var SPACE = /\s+/;
+		function _parseString (resultSet, str) {
+			var array = str.split(SPACE);
+			var length = array.length;
+
+			for (var i = 0; i < length; ++i) {
+				resultSet[array[i]] = true;
+			}
+		}
+
+		function _parse (resultSet, arg) {
+			if (!arg) return;
+			var argType = typeof arg;
+
+			// 'foo bar'
+			if (argType === 'string') {
+				_parseString(resultSet, arg);
+
+			// ['foo', 'bar', ...]
+			} else if (Array.isArray(arg)) {
+				_parseArray(resultSet, arg);
+
+			// { 'foo': true, ... }
+			} else if (argType === 'object') {
+				_parseObject(resultSet, arg);
+
+			// '130'
+			} else if (argType === 'number') {
+				_parseNumber(resultSet, arg);
+			}
+		}
+
+		function _classNames () {
+			// don't leak arguments
+			// https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
+			var len = arguments.length;
+			var args = Array(len);
+			for (var i = 0; i < len; i++) {
+				args[i] = arguments[i];
+			}
+
+			var classSet = new StorageObject();
+			_parseArray(classSet, args);
+
+			var list = [];
+
+			for (var k in classSet) {
+				if (classSet[k]) {
+					list.push(k)
+				}
+			}
+
+			return list.join(' ');
+		}
+
+		return _classNames;
+	})();
+
+	if ( true && module.exports) {
+		classNames.default = classNames;
+		module.exports = classNames;
+	} else if (true) {
+		// register as 'classnames', consistent with npm package name
+		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+			return classNames;
+		}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+	} else {}
+}());
+
+
 /***/ }),
 
 /***/ "dpMW":
@@ -289114,7 +289244,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _dedupe = _interopRequireDefault(__webpack_require__("A/WM"));
+var _dedupe = _interopRequireDefault(__webpack_require__("dogg"));
 
 var _useCozyDialog2 = _interopRequireDefault(__webpack_require__("mB6O"));
 
@@ -320239,7 +320369,7 @@ var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 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); }
 
@@ -333332,7 +333462,7 @@ var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _IconButton = _interopRequireDefault(__webpack_require__("1glO"));
 
@@ -340162,7 +340292,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("QILm
 
 var _react = __webpack_require__("q1tI");
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _useBreakpoints2 = _interopRequireDefault(__webpack_require__("1I/2"));
 
@@ -366089,7 +366219,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _dedupe = _interopRequireDefault(__webpack_require__("A/WM"));
+var _dedupe = _interopRequireDefault(__webpack_require__("dogg"));
 
 var _useCozyDialog2 = _interopRequireDefault(__webpack_require__("mB6O"));
 
@@ -374130,7 +374260,7 @@ var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _useCozyDialog2 = _interopRequireDefault(__webpack_require__("mB6O"));
 
@@ -379457,7 +379587,7 @@ var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _cozyClient = __webpack_require__("SH7X");
 
@@ -416351,7 +416481,7 @@ var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 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); }
 
@@ -416705,7 +416835,7 @@ exports.useCozyTheme = exports.default = exports.CozyThemeContext = void 0;
 
 var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
-var _classnames = _interopRequireDefault(__webpack_require__("TSYQ"));
+var _classnames = _interopRequireDefault(__webpack_require__("d2Ux"));
 
 var _MuiCozyTheme = _interopRequireDefault(__webpack_require__("xIbs"));