contentoh-components-library 21.3.9 → 21.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  <svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <line x1="13.3585" y1="12.1333" x2="39.8661" y2="38.641" stroke="#E33AA9" stroke-width="1.73333" stroke-linecap="round" stroke-linejoin="round"/>
3
- <path d="M39.8672 12.1333L13.8672 38.1333" stroke="#E33AA9" stroke-width="1.73333" stroke-linecap="round" stroke-linejoin="round"/>
2
+ <line x1="13.3585" y1="12.1333" x2="39.8661" y2="38.641" stroke="#E33AA9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M39.8672 12.1333L13.8672 38.1333" stroke="#E33AA9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
4
4
  </svg>
@@ -18,7 +18,10 @@ var _Chat = require("../../organisms/Chat");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
 
20
20
  var HeaderTop = function HeaderTop(_ref) {
21
- var setHeaderTop = _ref.setHeaderTop;
21
+ var setHeaderTop = _ref.setHeaderTop,
22
+ withChat = _ref.withChat,
23
+ productSelected = _ref.productSelected,
24
+ token = _ref.token;
22
25
  var headerTop = (0, _react.useRef)();
23
26
  (0, _react.useEffect)(function () {
24
27
  setHeaderTop && setHeaderTop(headerTop.current.clientHeight);
@@ -27,14 +30,23 @@ var HeaderTop = function HeaderTop(_ref) {
27
30
  ref: headerTop,
28
31
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ScreenHeader, {
29
32
  text: "Edici\xF3n de producto"
30
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
33
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
31
34
  className: "buttons-top",
32
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Button, {
35
+ children: [withChat && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chat.Chat, {
36
+ chatType: "merchant_product",
37
+ chatContainerType: "popUp",
38
+ chatData: {
39
+ userToken: token,
40
+ id: productSelected.id_article,
41
+ version: productSelected.version
42
+ },
43
+ size: 18
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Button, {
33
45
  buttonType: "close-button",
34
46
  onClick: function onClick() {
35
47
  window.location.href = "/products";
36
48
  }
37
- })
49
+ })]
38
50
  })]
39
51
  });
40
52
  };
@@ -28,7 +28,7 @@ var ProductNameHeader = function ProductNameHeader(_ref) {
28
28
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ScreenHeader, {
29
29
  headerType: "product-name-header",
30
30
  text: productName
31
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Status, {
31
+ }), statusType && /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Status, {
32
32
  statusType: statusType
33
33
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index3.ProgressBar, {
34
34
  percent: percentRequired,
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.chatTicket_userTECH = exports.chatTicket_userNORMAL = exports.chatPROV_orderProduct = exports.chatFAB_orderProduct_user49 = exports.chatFAB_orderProduct_user37 = exports.chatCAD_orderProduct = exports.chatCAD_merchantsProduct = void 0;
8
+ exports.default = exports.chatTicket_userTECH = exports.chatTicket_userNORMAL = exports.chatPROV_orderProduct = exports.chatFAB_orderProduct_user49 = exports.chatFAB_orderProduct_user37 = exports.chatCAD_orderProduct = exports.chatCAD_merchantsProductProvider = exports.chatCAD_merchantsProduct = void 0;
9
9
 
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
11
 
@@ -96,8 +96,19 @@ chatCAD_merchantsProduct.args = {
96
96
  chatType: "merchant_product",
97
97
  chatContainerType: "popUp",
98
98
  chatData: {
99
- userToken: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI1ODg0YWUzNC01OWQ2LTQ0NTQtYjk4ZS04MjE1MThiY2MzYTciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjU4ODRhZTM0LTU5ZDYtNDQ1NC1iOThlLTgyMTUxOGJjYzNhNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI2YmI0NzExMi03ZTNiLTRjYzUtYmVhZS02MzMxZjEwYjk3MzIiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2NTYxNjI0MSwibmFtZSI6IkNhZGVuYSBJc21hZWwiLCJwaG9uZV9udW1iZXIiOiIrNTIzMTExMzY2MzM2IiwiZXhwIjoxNjY1NjE5ODQxLCJpYXQiOjE2NjU2MTYyNDEsImVtYWlsIjoiY2FkZW5hLmlzbWFlbEBhbGxmcmVlbWFpbC5uZXQifQ.gi1Jiua_O175vHLy-CYXOR945IRcObIj5j1LNk4_EhcKPz-MzPnfWDLH7L3sTiNS-VUhIRtAhtUVPUSYv0oP1qfJwFHomerxJvYgJge8SLWPjL6yGBnTxAvHVbuLU8kcaoZup2eNMV6XOIAEBAHeCDm4vW0rYWwfrKADPyYGZQF2si14o3wtgSMX5a4ccxGwikT3to3HttWBhmJs_I1Xr_BvBxePc4WghjQr5GVGbq8vhr4HwdkTmlcJAnQsc_fmIdbJ_ACyTa1wr343KYYOQVwBjAmZDa6rU16y0yTr_J4IVWY3aS5UpBEBHy4XE0c76UaN-_DcGiVl4ayWQIUz8A",
100
- id: 84300,
99
+ userToken: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI1ODg0YWUzNC01OWQ2LTQ0NTQtYjk4ZS04MjE1MThiY2MzYTciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjU4ODRhZTM0LTU5ZDYtNDQ1NC1iOThlLTgyMTUxOGJjYzNhNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJhMWYyM2IzZC1mOTk0LTRjNWUtOTk4MC04ZThjYmQxMzcwMzYiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY3NDU3NjMzNywibmFtZSI6IkNhZGVuYSBJc21hZWwiLCJwaG9uZV9udW1iZXIiOiIrNTIzMTExMzY2MzM2IiwiZXhwIjoxNjc0NTc5OTM3LCJpYXQiOjE2NzQ1NzYzMzcsImVtYWlsIjoiY2FkZW5hLmlzbWFlbEBhbGxmcmVlbWFpbC5uZXQifQ.GZIbxwAqZBifyxJQdb-Asbf2X9k4Nmi44TRINg9oGdvz0MknHOUtCiQ2ID7XiqKzgcVvbl9RDDx2GFWZt0Fd2-Sd5NSMxEl3C3ZWqVWQb9ncrMdVcAOHPp76w2eR6IzOwpa5L4GAc_mLACaJtfGdYrSLSxYTpMPQfhxaG2GDdWbOLA-_hNflff0lQD-EvCg8wEirAcZHro2mEeqMFG2GLhh0zfb_H-A8EWMqmMM3kYXVHTza04S1HSYsXhGzBi-7paL_Oh3bcORN95CqeddkReSmThG5wcp0_YScCSFNeUDEvJo2Z9w9TlOrEgUIrSkaY0aLZUpERfOST55P4R9hRw",
100
+ id: 429,
101
+ version: 1
102
+ }
103
+ };
104
+ var chatCAD_merchantsProductProvider = Template.bind({});
105
+ exports.chatCAD_merchantsProductProvider = chatCAD_merchantsProductProvider;
106
+ chatCAD_merchantsProductProvider.args = {
107
+ chatType: "merchant_product",
108
+ chatContainerType: "popUp",
109
+ chatData: {
110
+ userToken: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI4MWY3NmNjYy0yZDYzLTQyYzYtYjQzOS03NDQ2ZWFhYjFhZDciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjgxZjc2Y2NjLTJkNjMtNDJjNi1iNDM5LTc0NDZlYWFiMWFkNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJiN2M5YWVlYS0zMmRmLTQ0YmUtODliNy01OGY1MzE0YzMzN2IiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY3NDUxMTUzMiwibmFtZSI6Im1lcmNoYW50czIzZW5lQGFsbGZyZWVtYWlsLm5ldCBtZXJjaGFudHMyM2VuZUBhbGxmcmVlbWFpbC5uZXQiLCJwaG9uZV9udW1iZXIiOiIrNTIxMjM0NTY3ODkzIiwiZXhwIjoxNjc0NTE1MTMyLCJpYXQiOjE2NzQ1MTE1MzIsImVtYWlsIjoibWVyY2hhbnRzMjNlbmVAYWxsZnJlZW1haWwubmV0In0.eeR19yCD--WMFFfbljOufIthXUuXc_gFoJzLX9Q6mzgPpA2TOmzabQFLh2O1WKgGgcmFSEfGfTjzFRAd44O5MYqB_VltFPoMSNIVA38rmX8yfKhVlzF_ZBRVLNHZZOrKOQrCTZX7vibtUtvnbXPtkPgJV1Wb3RoB-45qi3qa1xIUcHwtdInsdQG1PvL28ryH4-ZupjXYRC9JB2wMDFPF1c6HnUQQupTSHRgTHVj9USNCYblOuCJSj1s2_lUrmFZJBifRGXsYj8rBz6mkkl5wAGU-YCmCFkwuD3Gl5bsevFg_VL2CGEfSwSXMzsB-ud4FMIaMZuQHpF-CefGJaEHYxg",
111
+ id: 429,
101
112
  version: 1
102
113
  }
103
114
  };
@@ -23,12 +23,8 @@ var _styles = require("./styles");
23
23
 
24
24
  var _react = require("react");
25
25
 
26
- var _Tooltip = require("../../../atoms/Tooltip");
27
-
28
26
  var _NotFound = require("../../../atoms/NotFound");
29
27
 
30
- var _ButtonV = require("../../../atoms/ButtonV2");
31
-
32
28
  var _Header = require("../Header");
33
29
 
34
30
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
@@ -45,8 +41,6 @@ var _CustomIcon = require("../../../atoms/CustomIcon");
45
41
 
46
42
  var _handle_http = require("../../../../global-files/handle_http");
47
43
 
48
- var _Modal = require("../../Modal");
49
-
50
44
  var _utils = require("../../../../global-files/utils");
51
45
 
52
46
  var _jsxRuntime = require("react/jsx-runtime");
@@ -56,7 +50,8 @@ var ContentChat = function ContentChat(props) {
56
50
  chatContainerType = props.chatContainerType,
57
51
  dataChat = props.dataChat,
58
52
  showBtnClose = props.showBtnClose,
59
- onClickBtnClose = props.onClickBtnClose;
53
+ onClickBtnClose = props.onClickBtnClose,
54
+ showPopUpChat = props.showPopUpChat;
60
55
 
61
56
  var _useState = (0, _react.useState)({}),
62
57
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -192,23 +187,26 @@ var ContentChat = function ContentChat(props) {
192
187
 
193
188
  if (chatType === "merchant_product") getInitialMerchantProduct();else if (chatType === "order_product") getInitialOrderProduct();else getInitialTicket();
194
189
  }
195
- }, [dataChat]); // comenzar temporizador del update de 20s
190
+ }, [dataChat, showPopUpChat]); // comenzar temporizador del update de 20s
196
191
 
197
192
  (0, _react.useEffect)(function () {
198
193
  //return; -- descomentarizar para hacer pruebas sin update
199
194
  if (startUpdate == 0) return;
200
- console.log("START UPDATE en 20s");
195
+ console.log("START UPDATE en 5s");
201
196
  var processID = setTimeout(function () {
197
+ console.log("update");
202
198
  setRunUpdate(function (prev) {
203
199
  return prev + 1;
204
200
  });
205
- }, 20000);
201
+ }, 5000);
206
202
  setProcessUpdateID(processID);
203
+ return function () {
204
+ return clearTimeout(processID);
205
+ };
207
206
  }, [startUpdate]); // ejecutar update
208
207
 
209
208
  (0, _react.useEffect)(function () {
210
- if (runUpdate == 0) return;
211
-
209
+ // if (runUpdate == 0) return;
212
210
  if (chatType === "merchant_product") {
213
211
  if (singleChat.items) getUpdateLatestMerchantProduct();else getInitialMerchantProduct();
214
212
  } else if (chatType === "order_product") {
@@ -1354,9 +1352,7 @@ var ContentChat = function ContentChat(props) {
1354
1352
  };
1355
1353
 
1356
1354
  var renderBodyChat = function renderBodyChat() {
1357
- if (isLoading) {
1358
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.Loading, {});
1359
- }
1355
+ if (isLoading) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.Loading, {});
1360
1356
 
1361
1357
  if (errorChat.existError) {
1362
1358
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NotFound.NotFound, {
@@ -7,10 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Chat = void 0;
9
9
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
13
-
14
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
11
 
16
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
@@ -35,7 +31,9 @@ var Chat = function Chat(props) {
35
31
  var chatType = props.chatType,
36
32
  chatContainerType = props.chatContainerType,
37
33
  chatData = props.chatData,
38
- classNameContainerFixed = props.classNameContainerFixed;
34
+ classNameContainerFixed = props.classNameContainerFixed,
35
+ _props$size = props.size,
36
+ size = _props$size === void 0 ? 14 : _props$size;
39
37
 
40
38
  var _useState = (0, _react.useState)(false),
41
39
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -68,25 +66,31 @@ var Chat = function Chat(props) {
68
66
  errorDetail: ""
69
67
  });
70
68
  }
71
- }, [chatType]); // validar props que se requieren para el tipo de chat "order_product"
72
-
73
- var validateChatOrderProduct = function validateChatOrderProduct() {
74
- var userToken = chatData.userToken,
75
- id = chatData.id,
76
- orderId = chatData.orderId,
77
- retailerId = chatData.retailerId; // validar token del user
69
+ }, [chatType]);
78
70
 
71
+ var isValidGeneral = function isValidGeneral(userToken, id) {
72
+ // validar token del user
79
73
  if ((0, _utils.isStringEmpty)(userToken)) {
80
74
  setDataError("El token del usuario no es valido");
81
- return;
75
+ return false;
82
76
  } // validar ID del producto
83
77
 
84
78
 
85
79
  if (!(0, _utils.isValidNaturalNumber)(id)) {
86
80
  setDataError("El ID del producto no es valido");
87
- return;
88
- } // validar el ID de la OT en donde se encuentra el producto
81
+ return false;
82
+ }
83
+
84
+ return true;
85
+ }; // validar props que se requieren para el tipo de chat "order_product"
86
+
89
87
 
88
+ var validateChatOrderProduct = function validateChatOrderProduct() {
89
+ var userToken = chatData.userToken,
90
+ id = chatData.id,
91
+ orderId = chatData.orderId,
92
+ retailerId = chatData.retailerId;
93
+ if (!isValidGeneral(userToken, id)) return; // validar el ID de la OT en donde se encuentra el producto
90
94
 
91
95
  if (!(0, _utils.isValidNaturalNumber)(orderId)) {
92
96
  setDataError("El ID de la orden del producto no es valido");
@@ -111,19 +115,8 @@ var Chat = function Chat(props) {
111
115
  var validateChatMerchantProduct = function validateChatMerchantProduct() {
112
116
  var userToken = chatData.userToken,
113
117
  id = chatData.id,
114
- version = chatData.version; // validar token del user
115
-
116
- if ((0, _utils.isStringEmpty)(userToken)) {
117
- setDataError("El token del usuario no es valido");
118
- return;
119
- } // validar ID del producto
120
-
121
-
122
- if (!(0, _utils.isValidNaturalNumber)(id)) {
123
- setDataError("El ID del producto no es valido");
124
- return;
125
- } // validar la version del producto
126
-
118
+ version = chatData.version;
119
+ if (!isValidGeneral(userToken, id)) return; // validar la version del producto
127
120
 
128
121
  if (!(0, _utils.isValidNaturalNumber)(version)) {
129
122
  setDataError("La version del producto no es valida");
@@ -211,45 +204,30 @@ var Chat = function Chat(props) {
211
204
  });
212
205
  };
213
206
 
214
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
215
- children: (chatContainerType === null || chatContainerType === void 0 ? void 0 : chatContainerType.toLowerCase()) === "fixed" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
216
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.ContainerFixed, {
217
- className: classNameContainerFixed,
218
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ContentChat.ContentChat, {
219
- chatType: chatType === null || chatType === void 0 ? void 0 : chatType.toLowerCase(),
220
- chatContainerType: "fixed",
221
- dataChat: data,
222
- showBtnClose: false
223
- })
207
+ if ((chatContainerType === null || chatContainerType === void 0 ? void 0 : chatContainerType.toLowerCase()) === "fixed") {
208
+ /* chat tipo fixed */
209
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.ContainerFixed, {
210
+ className: classNameContainerFixed,
211
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ContentChat.ContentChat, {
212
+ chatType: chatType === null || chatType === void 0 ? void 0 : chatType.toLowerCase(),
213
+ chatContainerType: "fixed",
214
+ dataChat: data,
215
+ showBtnClose: false
224
216
  })
225
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
217
+ });
218
+ } else {
219
+ /* chat tipo popUp */
220
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
226
221
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.ContainerBtnPopUpChat, {
227
222
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonV.ButtonV2, {
228
223
  className: "container-btn-popUpChat",
229
224
  type: "whiteS2",
230
- size: 14,
225
+ size: size,
231
226
  borderType: "circle",
232
227
  icon: _freeSolidSvgIcons.faComments,
233
- onClick: /*#__PURE__*/function () {
234
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event) {
235
- return _regenerator.default.wrap(function _callee$(_context) {
236
- while (1) {
237
- switch (_context.prev = _context.next) {
238
- case 0:
239
- setShowPopUpChat(!showPopUpChat);
240
-
241
- case 1:
242
- case "end":
243
- return _context.stop();
244
- }
245
- }
246
- }, _callee);
247
- }));
248
-
249
- return function (_x) {
250
- return _ref.apply(this, arguments);
251
- };
252
- }()
228
+ onClick: function onClick() {
229
+ setShowPopUpChat(!showPopUpChat);
230
+ }
253
231
  })
254
232
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Slide, {
255
233
  direction: "left",
@@ -260,6 +238,7 @@ var Chat = function Chat(props) {
260
238
  chatType: chatType === null || chatType === void 0 ? void 0 : chatType.toLowerCase(),
261
239
  chatContainerType: "popUp",
262
240
  dataChat: data,
241
+ showPopUpChat: showPopUpChat,
263
242
  showBtnClose: true,
264
243
  onClickBtnClose: function onClickBtnClose() {
265
244
  setShowPopUpChat(false);
@@ -267,8 +246,8 @@ var Chat = function Chat(props) {
267
246
  })
268
247
  })
269
248
  })]
270
- })
271
- });
249
+ });
250
+ }
272
251
  };
273
252
 
274
253
  exports.Chat = Chat;
@@ -31,70 +31,73 @@ ProviderProductEditionDefault.args = {
31
31
  "Ficha técnica": true,
32
32
  Imágenes: true
33
33
  },
34
- token: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJmNTkyN2Y4ZS1jYmY3LTQ5MjItOWUwOS1lNjllYzBiMjczMWEiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6ImY1OTI3ZjhlLWNiZjctNDkyMi05ZTA5LWU2OWVjMGIyNzMxYSIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiIyOWY3YWY3Zi0yNmQ0LTRiMWItODZmZS0zOWY2ZTUyMDFhNzAiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2OTkyNzAyMSwibmFtZSI6IklzbWFlbCBMb3BleiIsInBob25lX251bWJlciI6Iis1MjMxMTEzNjYzMzYiLCJleHAiOjE2Njk5MzA2MjEsImlhdCI6MTY2OTkyNzAyMSwiZW1haWwiOiJpbG9wZXpAY29udGVudG9oLmNvbSJ9.NK6hVSiBksguboJ1m8yYqtDq19kzgE3GqYDEJHLUya_n_TsXriv6W1ypq7XiSo9zrqWcmHBpOoJQS7WbWzjGe__NlJEXjo8bykS8QBTTOiMrKxz1KzGRYJkwgG0axk-zVysUQH0_y-fbwgEgMPtd6qO46DB_KlFI_PEL1-uR5MJ9U0kNkS61gMbHwFQFs_DU-sS01NxjBsjUEp783rs1r-jm7TelZac1rGaFNUyi5vHdSozYzlnzfzGcuACZ0lHqvah2FHbDyurp-G_uhpUn5lNmcL4rVNh2lDd4TOnhJ3AtN1wGSmtErmhjmBHTvavh1ub9pklA1B9qjVuTRpYANw",
34
+ token: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIwM2ViMjZhMC1hYjU2LTQ3NjctYjY0Zi04NDkyNTgwNzcwMmEiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjAzZWIyNmEwLWFiNTYtNDc2Ny1iNjRmLTg0OTI1ODA3NzAyYSIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJmNmNkMzA1My1iODE4LTQzYzgtOGZhMC0yNTZmMTBhMDYwNjciLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY3NDU5OTgwNiwibmFtZSI6IlBydWViYSBNZXJjaGFudHMiLCJwaG9uZV9udW1iZXIiOiIrNTIxMjM0NTY3ODkxIiwiZXhwIjoxNjc0NjAzNDA2LCJpYXQiOjE2NzQ1OTk4MDYsImVtYWlsIjoibWVyY2hhbnRzMjRlbmVAYWxsZnJlZW1haWwubmV0In0.osGY8Rdr20hTwL86dZ_CzXxHLvPe-L0iaLtWVwJ78prdMlbDoEZWNePr-Di1rb8F2efV6FAsf9mELW6Tw3PETo_d5yeDEPVAGD0pXFvVntTlSrJGtfEDMnpNWTG2uaMlL1_zJ8BcFYmIUniZN8VvEKW6ezFOt01cK3We-Vrv92TqKa-ePQRkDnhKu52nnTgxs5aysGf-mYLxLumQ4TcOPXJ2x6OsszedJaujFDeCPN7JVGbg9HC68__WklpgocSasU6fQg4Glh1kXWQ-fy4XaFw6cBParJjkqic2Gg1iqwB5wGbrwD4E0crZyPkgwwPydTLLu6WguGWBuQHhcoG-xg",
35
35
  articleId: 238,
36
36
  category: 846,
37
37
  version: 2,
38
38
  productSelected: {
39
- id_article: 3,
40
- id_category: 2032,
41
- name: "CORTINA BLACKOUT DE POLIÉSTER CAFÉ 2.13 X 1.06 M",
42
- upc: "161157",
43
- timestamp: "2022-11-14T16:02:47.000Z",
44
- categoryName: "Decoración|Cortinas y Persianas|Cortinas",
39
+ category: "Decoración|Accesorios Decorativos|Accesorios Decorativos",
40
+ company_name: "merchants24ene@allfreemail.net",
41
+ company_id: 918,
42
+ id_category: "2028",
43
+ id_article: 432,
44
+ name: "VELA AROMA 18 OZ MAN/CAN",
45
+ upc: "102852",
45
46
  version: 1,
46
47
  retailersAvailable: [{
47
- name: "The Home Depot Golden",
48
- id: 58
48
+ id: 68,
49
+ name: "The Home Depot Merchants"
49
50
  }]
50
51
  },
51
52
  productToEdit: {
52
- idCategory: 2032,
53
- ArticleId: 3,
53
+ idCategory: "2028",
54
+ ArticleId: 432,
54
55
  product: [{
55
- id_article: 3,
56
- id_category: 2032,
57
- name: "CORTINA BLACKOUT DE POLIÉSTER CAFÉ 2.13 X 1.06 M",
58
- upc: "161157",
59
- timestamp: "2022-11-14T16:02:47.000Z",
60
- categoryName: "Decoración|Cortinas y Persianas|Cortinas",
56
+ category: "Decoración|Accesorios Decorativos|Accesorios Decorativos",
57
+ company_name: "merchants24ene@allfreemail.net",
58
+ company_id: 918,
59
+ id_category: "2028",
60
+ id_article: 432,
61
+ name: "VELA AROMA 18 OZ MAN/CAN",
62
+ upc: "102852",
61
63
  version: 1,
62
64
  retailersAvailable: [{
63
- name: "The Home Depot Golden",
64
- id: 58
65
+ id: 68,
66
+ name: "The Home Depot Merchants"
65
67
  }]
66
68
  }]
67
69
  },
68
70
  location: {
69
71
  state: {
70
- origin: "Contentoh"
72
+ origin: "Contentoh",
73
+ withChat: true
71
74
  }
72
75
  },
73
76
  user: {
74
- id_user: 28,
75
- name: "Ismael",
76
- last_name: "López",
77
- email: "ilopez@contentoh.com",
78
- position: "Test States",
79
- telephone: "+523111366336",
77
+ id_user: 140,
78
+ name: "Prueba",
79
+ last_name: "Merchants",
80
+ email: "merchants24ene@allfreemail.net",
81
+ position: "merchants24ene@allfreemail.net",
82
+ telephone: "+521234567891",
80
83
  country: "México",
81
- id_company: 1,
82
- id_cognito: "f5927f8e-cbf7-4922-9e09-e69ec0b2731a",
84
+ id_company: 918,
85
+ id_cognito: "03eb26a0-ab56-4767-b64f-84925807702a",
83
86
  birth_Date: null,
84
- about_me: "",
85
- zip_code: "",
86
- address: "",
87
- job: "",
88
- id_stripe: "cus_KuEt6R6vwmN09f",
87
+ about_me: null,
88
+ zip_code: null,
89
+ address: null,
90
+ job: null,
91
+ id_stripe: null,
89
92
  id_role: 0,
90
93
  active: 1,
91
94
  is_retailer: 0,
92
- email_notify: 0,
93
- is_user_tech: "AS",
95
+ email_notify: 1,
96
+ is_user_tech: null,
94
97
  membership: {
95
- id: 76,
96
- start_date: "2022-01-18T17:25:35.000Z",
97
- end_date: "2023-01-18T17:25:35.000Z",
98
+ id: 109,
99
+ start_date: "2023-01-24T22:07:34.000Z",
100
+ end_date: "2024-01-24T22:07:34.000Z",
98
101
  planID: 8,
99
102
  plan: "prod_KtlhECVSFG2iro",
100
103
  name: "Plan Pro",
@@ -102,21 +105,33 @@ ProviderProductEditionDefault.args = {
102
105
  products_limit: "5000",
103
106
  type: "Enterprise"
104
107
  },
105
- src: "https://content-management-profile.s3.amazonaws.com/id-28/28.png?1669927021851"
108
+ src: "https://content-management-profile.s3.amazonaws.com/id-140/140.png?1674599807427"
106
109
  },
107
110
  company: {
108
- id_company: 1,
109
- trade_name: "GRUPO BRAHMA",
110
- company_name: "GRUPO BRAHMA",
111
- rfc: "XAXX010101000",
112
- adress: "AA",
113
- about_company: "",
114
- telephone: "",
115
- web_site: "",
116
- zip_code: "",
111
+ id_company: 918,
112
+ trade_name: "merchants24ene@allfreemail.net",
113
+ company_name: "merchants24ene@allfreemail.net",
114
+ rfc: "merchants24ene@allfreemail.net",
115
+ adress: "merchants24ene@allfreemail.net",
116
+ about_company: null,
117
+ telephone: null,
118
+ web_site: null,
119
+ zip_code: null,
117
120
  email: null,
118
- social_link: "",
119
- is_retailer: 0
121
+ social_link: null,
122
+ is_retailer: 0,
123
+ financedRetailers: [{
124
+ id: 68,
125
+ name: "The Home Depot Merchants",
126
+ country: "México",
127
+ id_region: 1,
128
+ active: 1
129
+ }],
130
+ retailers: [{
131
+ id: null,
132
+ name: null,
133
+ country: null
134
+ }]
120
135
  },
121
136
  showSurvey: function showSurvey(v) {
122
137
  return v && alert("se muestra");
@@ -212,7 +212,7 @@ var myBucket = new _awsSdk.default.S3({
212
212
  });
213
213
 
214
214
  var ProviderProductEdition = function ProviderProductEdition(_ref) {
215
- var _product$retailers, _product$retailersAva, _location$state, _datasheets$, _datasheets$$data;
215
+ var _product$retailers, _product$retailersAva, _location$state, _location$state2, _datasheets$, _datasheets$$data;
216
216
 
217
217
  var tabsSections = _ref.tabsSections,
218
218
  _ref$productSelected = _ref.productSelected,
@@ -227,7 +227,8 @@ var ProviderProductEdition = function ProviderProductEdition(_ref) {
227
227
  revision = _ref$revision === void 0 ? false : _ref$revision,
228
228
  setShowContentohRequestModal = _ref.setShowContentohRequestModal,
229
229
  showSurvey = _ref.showSurvey,
230
- company = _ref.company;
230
+ company = _ref.company,
231
+ withChat = _ref.withChat;
231
232
 
232
233
  var _useState = (0, _react.useState)("Descripción"),
233
234
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -1680,7 +1681,10 @@ var ProviderProductEdition = function ProviderProductEdition(_ref) {
1680
1681
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styles.Container, {
1681
1682
  headerTop: headerTop,
1682
1683
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_HeaderTop.HeaderTop, {
1683
- setHeaderTop: setHeaderTop
1684
+ setHeaderTop: setHeaderTop,
1685
+ withChat: location === null || location === void 0 ? void 0 : (_location$state2 = location.state) === null || _location$state2 === void 0 ? void 0 : _location$state2.withChat,
1686
+ productSelected: productSelected,
1687
+ token: token
1684
1688
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
1685
1689
  className: "data-container",
1686
1690
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contentoh-components-library",
3
- "version": "21.3.9",
3
+ "version": "21.3.11",
4
4
  "dependencies": {
5
5
  "@aws-amplify/auth": "^4.5.3",
6
6
  "@aws-amplify/datastore": "^3.11.0",
@@ -1,4 +1,4 @@
1
1
  <svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <line x1="13.3585" y1="12.1333" x2="39.8661" y2="38.641" stroke="#E33AA9" stroke-width="1.73333" stroke-linecap="round" stroke-linejoin="round"/>
3
- <path d="M39.8672 12.1333L13.8672 38.1333" stroke="#E33AA9" stroke-width="1.73333" stroke-linecap="round" stroke-linejoin="round"/>
2
+ <line x1="13.3585" y1="12.1333" x2="39.8661" y2="38.641" stroke="#E33AA9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M39.8672 12.1333L13.8672 38.1333" stroke="#E33AA9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
4
4
  </svg>
@@ -1,10 +1,15 @@
1
1
  import { Container } from "./styles";
2
2
  import { ScreenHeader } from "../../atoms/ScreenHeader/index";
3
3
  import { Button } from "../../atoms/GeneralButton/index";
4
- import { useEffect, useRef } from "react";
4
+ import { useEffect, useRef, useState } from "react";
5
5
  import { Chat } from "../../organisms/Chat";
6
6
 
7
- export const HeaderTop = ({ setHeaderTop }) => {
7
+ export const HeaderTop = ({
8
+ setHeaderTop,
9
+ withChat,
10
+ productSelected,
11
+ token,
12
+ }) => {
8
13
  const headerTop = useRef();
9
14
 
10
15
  useEffect(() => {
@@ -15,7 +20,18 @@ export const HeaderTop = ({ setHeaderTop }) => {
15
20
  <Container ref={headerTop}>
16
21
  <ScreenHeader text="Edición de producto" />
17
22
  <div className="buttons-top">
18
- {/* <Chat /> */}
23
+ {withChat && (
24
+ <Chat
25
+ chatType="merchant_product"
26
+ chatContainerType="popUp"
27
+ chatData={{
28
+ userToken: token,
29
+ id: productSelected.id_article,
30
+ version: productSelected.version,
31
+ }}
32
+ size={18}
33
+ />
34
+ )}
19
35
 
20
36
  <Button
21
37
  buttonType="close-button"
@@ -15,7 +15,7 @@ export const ProductNameHeader = ({
15
15
  return (
16
16
  <Container>
17
17
  <ScreenHeader headerType={"product-name-header"} text={productName} />
18
- <Status statusType={statusType} />
18
+ {statusType && <Status statusType={statusType} />}
19
19
  <ProgressBar
20
20
  percent={percentRequired}
21
21
  progressBarType={statusType}
@@ -80,8 +80,20 @@ chatCAD_merchantsProduct.args = {
80
80
  chatContainerType: "popUp",
81
81
  chatData: {
82
82
  userToken:
83
- "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI1ODg0YWUzNC01OWQ2LTQ0NTQtYjk4ZS04MjE1MThiY2MzYTciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjU4ODRhZTM0LTU5ZDYtNDQ1NC1iOThlLTgyMTUxOGJjYzNhNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI2YmI0NzExMi03ZTNiLTRjYzUtYmVhZS02MzMxZjEwYjk3MzIiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2NTYxNjI0MSwibmFtZSI6IkNhZGVuYSBJc21hZWwiLCJwaG9uZV9udW1iZXIiOiIrNTIzMTExMzY2MzM2IiwiZXhwIjoxNjY1NjE5ODQxLCJpYXQiOjE2NjU2MTYyNDEsImVtYWlsIjoiY2FkZW5hLmlzbWFlbEBhbGxmcmVlbWFpbC5uZXQifQ.gi1Jiua_O175vHLy-CYXOR945IRcObIj5j1LNk4_EhcKPz-MzPnfWDLH7L3sTiNS-VUhIRtAhtUVPUSYv0oP1qfJwFHomerxJvYgJge8SLWPjL6yGBnTxAvHVbuLU8kcaoZup2eNMV6XOIAEBAHeCDm4vW0rYWwfrKADPyYGZQF2si14o3wtgSMX5a4ccxGwikT3to3HttWBhmJs_I1Xr_BvBxePc4WghjQr5GVGbq8vhr4HwdkTmlcJAnQsc_fmIdbJ_ACyTa1wr343KYYOQVwBjAmZDa6rU16y0yTr_J4IVWY3aS5UpBEBHy4XE0c76UaN-_DcGiVl4ayWQIUz8A",
84
- id: 84300,
83
+ "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI1ODg0YWUzNC01OWQ2LTQ0NTQtYjk4ZS04MjE1MThiY2MzYTciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjU4ODRhZTM0LTU5ZDYtNDQ1NC1iOThlLTgyMTUxOGJjYzNhNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJhMWYyM2IzZC1mOTk0LTRjNWUtOTk4MC04ZThjYmQxMzcwMzYiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY3NDU3NjMzNywibmFtZSI6IkNhZGVuYSBJc21hZWwiLCJwaG9uZV9udW1iZXIiOiIrNTIzMTExMzY2MzM2IiwiZXhwIjoxNjc0NTc5OTM3LCJpYXQiOjE2NzQ1NzYzMzcsImVtYWlsIjoiY2FkZW5hLmlzbWFlbEBhbGxmcmVlbWFpbC5uZXQifQ.GZIbxwAqZBifyxJQdb-Asbf2X9k4Nmi44TRINg9oGdvz0MknHOUtCiQ2ID7XiqKzgcVvbl9RDDx2GFWZt0Fd2-Sd5NSMxEl3C3ZWqVWQb9ncrMdVcAOHPp76w2eR6IzOwpa5L4GAc_mLACaJtfGdYrSLSxYTpMPQfhxaG2GDdWbOLA-_hNflff0lQD-EvCg8wEirAcZHro2mEeqMFG2GLhh0zfb_H-A8EWMqmMM3kYXVHTza04S1HSYsXhGzBi-7paL_Oh3bcORN95CqeddkReSmThG5wcp0_YScCSFNeUDEvJo2Z9w9TlOrEgUIrSkaY0aLZUpERfOST55P4R9hRw",
84
+ id: 429,
85
+ version: 1,
86
+ },
87
+ };
88
+
89
+ export const chatCAD_merchantsProductProvider = Template.bind({});
90
+ chatCAD_merchantsProductProvider.args = {
91
+ chatType: "merchant_product",
92
+ chatContainerType: "popUp",
93
+ chatData: {
94
+ userToken:
95
+ "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI4MWY3NmNjYy0yZDYzLTQyYzYtYjQzOS03NDQ2ZWFhYjFhZDciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjgxZjc2Y2NjLTJkNjMtNDJjNi1iNDM5LTc0NDZlYWFiMWFkNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJiN2M5YWVlYS0zMmRmLTQ0YmUtODliNy01OGY1MzE0YzMzN2IiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY3NDUxMTUzMiwibmFtZSI6Im1lcmNoYW50czIzZW5lQGFsbGZyZWVtYWlsLm5ldCBtZXJjaGFudHMyM2VuZUBhbGxmcmVlbWFpbC5uZXQiLCJwaG9uZV9udW1iZXIiOiIrNTIxMjM0NTY3ODkzIiwiZXhwIjoxNjc0NTE1MTMyLCJpYXQiOjE2NzQ1MTE1MzIsImVtYWlsIjoibWVyY2hhbnRzMjNlbmVAYWxsZnJlZW1haWwubmV0In0.eeR19yCD--WMFFfbljOufIthXUuXc_gFoJzLX9Q6mzgPpA2TOmzabQFLh2O1WKgGgcmFSEfGfTjzFRAd44O5MYqB_VltFPoMSNIVA38rmX8yfKhVlzF_ZBRVLNHZZOrKOQrCTZX7vibtUtvnbXPtkPgJV1Wb3RoB-45qi3qa1xIUcHwtdInsdQG1PvL28ryH4-ZupjXYRC9JB2wMDFPF1c6HnUQQupTSHRgTHVj9USNCYblOuCJSj1s2_lUrmFZJBifRGXsYj8rBz6mkkl5wAGU-YCmCFkwuD3Gl5bsevFg_VL2CGEfSwSXMzsB-ud4FMIaMZuQHpF-CefGJaEHYxg",
96
+ id: 429,
85
97
  version: 1,
86
98
  },
87
99
  };
@@ -1,20 +1,14 @@
1
- import { Container, ContainerError } from "./styles";
1
+ import { Container } from "./styles";
2
2
  import { useEffect, useState } from "react";
3
- import { Tooltip } from "../../../atoms/Tooltip";
4
3
  import { NotFound } from "../../../atoms/NotFound";
5
- import { ButtonV2 } from "../../../atoms/ButtonV2";
6
4
  import { Header } from "../Header";
7
- import {
8
- faComments as IconChat,
9
- faExclamationTriangle as IconWarning,
10
- } from "@fortawesome/free-solid-svg-icons";
5
+ import { faComments as IconChat } from "@fortawesome/free-solid-svg-icons";
11
6
  import { Loading } from "../../../atoms/Loading";
12
7
  import { ContainerItems } from "../ContainerItems";
13
8
  import { Footer } from "../Footer";
14
9
  import { ChatLists } from "../ChatLists";
15
10
  import { CustomIcon } from "../../../atoms/CustomIcon";
16
11
  import { fetchGET, fetchPOST } from "../../../../global-files/handle_http";
17
- import { Modal } from "../../Modal";
18
12
  import {
19
13
  encodeUriJson,
20
14
  isStringEmpty,
@@ -28,6 +22,7 @@ export const ContentChat = (props) => {
28
22
  dataChat, // { data | error }
29
23
  showBtnClose, // boolean
30
24
  onClickBtnClose, // () => {}
25
+ showPopUpChat, // boolean
31
26
  } = props;
32
27
  const [companies, setCompanies] = useState({}); /* {
33
28
  companyId: {
@@ -95,22 +90,24 @@ export const ContentChat = (props) => {
95
90
  else if (chatType === "order_product") getInitialOrderProduct();
96
91
  else getInitialTicket();
97
92
  }
98
- }, [dataChat]);
93
+ }, [dataChat, showPopUpChat]);
99
94
 
100
95
  // comenzar temporizador del update de 20s
101
96
  useEffect(() => {
102
97
  //return; -- descomentarizar para hacer pruebas sin update
103
98
  if (startUpdate == 0) return;
104
- console.log(`START UPDATE en 20s`);
99
+ console.log("START UPDATE en 5s");
105
100
  const processID = setTimeout(() => {
101
+ console.log("update");
106
102
  setRunUpdate((prev) => prev + 1);
107
- }, 20000);
103
+ }, 5000);
108
104
  setProcessUpdateID(processID);
105
+ return () => clearTimeout(processID);
109
106
  }, [startUpdate]);
110
107
 
111
108
  // ejecutar update
112
109
  useEffect(() => {
113
- if (runUpdate == 0) return;
110
+ // if (runUpdate == 0) return;
114
111
  if (chatType === "merchant_product") {
115
112
  if (singleChat.items) getUpdateLatestMerchantProduct();
116
113
  else getInitialMerchantProduct();
@@ -793,9 +790,7 @@ export const ContentChat = (props) => {
793
790
  };
794
791
 
795
792
  const renderBodyChat = () => {
796
- if (isLoading) {
797
- return <Loading />;
798
- }
793
+ if (isLoading) return <Loading />;
799
794
  if (errorChat.existError) {
800
795
  return (
801
796
  <NotFound
@@ -19,6 +19,7 @@ export const Chat = (props) => {
19
19
  chatContainerType, // ("fixed") | ("popUp")
20
20
  chatData, // {} => aqui poner los datos requeridos segun el tipo de chat
21
21
  classNameContainerFixed, // clases CSS del envoltoria chat fixed
22
+ size = 14, // tamaño del icono
22
23
  } = props;
23
24
  const [showPopUpChat, setShowPopUpChat] = useState(false);
24
25
  const [data, setData] = useState();
@@ -43,6 +44,20 @@ export const Chat = (props) => {
43
44
  }
44
45
  }, [chatType]);
45
46
 
47
+ const isValidGeneral = (userToken, id) => {
48
+ // validar token del user
49
+ if (isStringEmpty(userToken)) {
50
+ setDataError("El token del usuario no es valido");
51
+ return false;
52
+ }
53
+ // validar ID del producto
54
+ if (!isValidNaturalNumber(id)) {
55
+ setDataError("El ID del producto no es valido");
56
+ return false;
57
+ }
58
+ return true;
59
+ };
60
+
46
61
  // validar props que se requieren para el tipo de chat "order_product"
47
62
  const validateChatOrderProduct = () => {
48
63
  const {
@@ -52,16 +67,8 @@ export const Chat = (props) => {
52
67
  retailerId, // number
53
68
  } = chatData;
54
69
 
55
- // validar token del user
56
- if (isStringEmpty(userToken)) {
57
- setDataError("El token del usuario no es valido");
58
- return;
59
- }
60
- // validar ID del producto
61
- if (!isValidNaturalNumber(id)) {
62
- setDataError("El ID del producto no es valido");
63
- return;
64
- }
70
+ if (!isValidGeneral(userToken, id)) return;
71
+
65
72
  // validar el ID de la OT en donde se encuentra el producto
66
73
  if (!isValidNaturalNumber(orderId)) {
67
74
  setDataError("El ID de la orden del producto no es valido");
@@ -88,16 +95,8 @@ export const Chat = (props) => {
88
95
  version, // number
89
96
  } = chatData;
90
97
 
91
- // validar token del user
92
- if (isStringEmpty(userToken)) {
93
- setDataError("El token del usuario no es valido");
94
- return;
95
- }
96
- // validar ID del producto
97
- if (!isValidNaturalNumber(id)) {
98
- setDataError("El ID del producto no es valido");
99
- return;
100
- }
98
+ if (!isValidGeneral(userToken, id)) return;
99
+
101
100
  // validar la version del producto
102
101
  if (!isValidNaturalNumber(version)) {
103
102
  setDataError("La version del producto no es valida");
@@ -187,51 +186,50 @@ export const Chat = (props) => {
187
186
  });
188
187
  };
189
188
 
190
- return (
191
- <>
192
- {chatContainerType?.toLowerCase() === "fixed" ? (
193
- <>
194
- {/* chat tipo fixed */}
195
- <ContainerFixed className={classNameContainerFixed}>
189
+ if (chatContainerType?.toLowerCase() === "fixed") {
190
+ /* chat tipo fixed */
191
+ return (
192
+ <ContainerFixed className={classNameContainerFixed}>
193
+ <ContentChat
194
+ chatType={chatType?.toLowerCase()}
195
+ chatContainerType="fixed"
196
+ dataChat={data}
197
+ showBtnClose={false}
198
+ />
199
+ </ContainerFixed>
200
+ );
201
+ } else {
202
+ /* chat tipo popUp */
203
+ return (
204
+ <>
205
+ <ContainerBtnPopUpChat>
206
+ <ButtonV2
207
+ className="container-btn-popUpChat"
208
+ type="whiteS2"
209
+ size={size}
210
+ borderType="circle"
211
+ icon={IconChat}
212
+ onClick={() => {
213
+ setShowPopUpChat(!showPopUpChat);
214
+ }}
215
+ />
216
+ </ContainerBtnPopUpChat>
217
+
218
+ <Slide direction="left" in={showPopUpChat} timeout={400}>
219
+ <ContainerPopUp>
196
220
  <ContentChat
197
221
  chatType={chatType?.toLowerCase()}
198
- chatContainerType={"fixed"}
222
+ chatContainerType="popUp"
199
223
  dataChat={data}
200
- showBtnClose={false}
201
- />
202
- </ContainerFixed>
203
- </>
204
- ) : (
205
- <>
206
- {/* chat tipo popUp */}
207
- <ContainerBtnPopUpChat>
208
- <ButtonV2
209
- className={"container-btn-popUpChat"}
210
- type={"whiteS2"}
211
- size={14}
212
- borderType={"circle"}
213
- icon={IconChat}
214
- onClick={async (event) => {
215
- setShowPopUpChat(!showPopUpChat);
224
+ showPopUpChat={showPopUpChat}
225
+ showBtnClose={true}
226
+ onClickBtnClose={() => {
227
+ setShowPopUpChat(false);
216
228
  }}
217
229
  />
218
- </ContainerBtnPopUpChat>
219
-
220
- <Slide direction={"left"} in={showPopUpChat} timeout={400}>
221
- <ContainerPopUp>
222
- <ContentChat
223
- chatType={chatType?.toLowerCase()}
224
- chatContainerType={"popUp"}
225
- dataChat={data}
226
- showBtnClose={true}
227
- onClickBtnClose={() => {
228
- setShowPopUpChat(false);
229
- }}
230
- />
231
- </ContainerPopUp>
232
- </Slide>
233
- </>
234
- )}
235
- </>
236
- );
230
+ </ContainerPopUp>
231
+ </Slide>
232
+ </>
233
+ );
234
+ }
237
235
  };
@@ -16,74 +16,76 @@ ProviderProductEditionDefault.args = {
16
16
  Imágenes: true,
17
17
  },
18
18
  token:
19
- "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJmNTkyN2Y4ZS1jYmY3LTQ5MjItOWUwOS1lNjllYzBiMjczMWEiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6ImY1OTI3ZjhlLWNiZjctNDkyMi05ZTA5LWU2OWVjMGIyNzMxYSIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiIyOWY3YWY3Zi0yNmQ0LTRiMWItODZmZS0zOWY2ZTUyMDFhNzAiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2OTkyNzAyMSwibmFtZSI6IklzbWFlbCBMb3BleiIsInBob25lX251bWJlciI6Iis1MjMxMTEzNjYzMzYiLCJleHAiOjE2Njk5MzA2MjEsImlhdCI6MTY2OTkyNzAyMSwiZW1haWwiOiJpbG9wZXpAY29udGVudG9oLmNvbSJ9.NK6hVSiBksguboJ1m8yYqtDq19kzgE3GqYDEJHLUya_n_TsXriv6W1ypq7XiSo9zrqWcmHBpOoJQS7WbWzjGe__NlJEXjo8bykS8QBTTOiMrKxz1KzGRYJkwgG0axk-zVysUQH0_y-fbwgEgMPtd6qO46DB_KlFI_PEL1-uR5MJ9U0kNkS61gMbHwFQFs_DU-sS01NxjBsjUEp783rs1r-jm7TelZac1rGaFNUyi5vHdSozYzlnzfzGcuACZ0lHqvah2FHbDyurp-G_uhpUn5lNmcL4rVNh2lDd4TOnhJ3AtN1wGSmtErmhjmBHTvavh1ub9pklA1B9qjVuTRpYANw",
19
+ "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIwM2ViMjZhMC1hYjU2LTQ3NjctYjY0Zi04NDkyNTgwNzcwMmEiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjAzZWIyNmEwLWFiNTYtNDc2Ny1iNjRmLTg0OTI1ODA3NzAyYSIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJmNmNkMzA1My1iODE4LTQzYzgtOGZhMC0yNTZmMTBhMDYwNjciLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY3NDU5OTgwNiwibmFtZSI6IlBydWViYSBNZXJjaGFudHMiLCJwaG9uZV9udW1iZXIiOiIrNTIxMjM0NTY3ODkxIiwiZXhwIjoxNjc0NjAzNDA2LCJpYXQiOjE2NzQ1OTk4MDYsImVtYWlsIjoibWVyY2hhbnRzMjRlbmVAYWxsZnJlZW1haWwubmV0In0.osGY8Rdr20hTwL86dZ_CzXxHLvPe-L0iaLtWVwJ78prdMlbDoEZWNePr-Di1rb8F2efV6FAsf9mELW6Tw3PETo_d5yeDEPVAGD0pXFvVntTlSrJGtfEDMnpNWTG2uaMlL1_zJ8BcFYmIUniZN8VvEKW6ezFOt01cK3We-Vrv92TqKa-ePQRkDnhKu52nnTgxs5aysGf-mYLxLumQ4TcOPXJ2x6OsszedJaujFDeCPN7JVGbg9HC68__WklpgocSasU6fQg4Glh1kXWQ-fy4XaFw6cBParJjkqic2Gg1iqwB5wGbrwD4E0crZyPkgwwPydTLLu6WguGWBuQHhcoG-xg",
20
20
  articleId: 238,
21
21
  category: 846,
22
22
  version: 2,
23
23
  productSelected: {
24
- id_article: 3,
25
- id_category: 2032,
26
- name: "CORTINA BLACKOUT DE POLIÉSTER CAFÉ 2.13 X 1.06 M",
27
- upc: "161157",
28
- timestamp: "2022-11-14T16:02:47.000Z",
29
- categoryName: "Decoración|Cortinas y Persianas|Cortinas",
24
+ category: "Decoración|Accesorios Decorativos|Accesorios Decorativos",
25
+ company_name: "merchants24ene@allfreemail.net",
26
+ company_id: 918,
27
+ id_category: "2028",
28
+ id_article: 432,
29
+ name: "VELA AROMA 18 OZ MAN/CAN",
30
+ upc: "102852",
30
31
  version: 1,
31
32
  retailersAvailable: [
32
33
  {
33
- name: "The Home Depot Golden",
34
- id: 58,
34
+ id: 68,
35
+ name: "The Home Depot Merchants",
35
36
  },
36
37
  ],
37
38
  },
38
39
  productToEdit: {
39
- idCategory: 2032,
40
- ArticleId: 3,
40
+ idCategory: "2028",
41
+ ArticleId: 432,
41
42
  product: [
42
43
  {
43
- id_article: 3,
44
- id_category: 2032,
45
- name: "CORTINA BLACKOUT DE POLIÉSTER CAFÉ 2.13 X 1.06 M",
46
- upc: "161157",
47
- timestamp: "2022-11-14T16:02:47.000Z",
48
- categoryName: "Decoración|Cortinas y Persianas|Cortinas",
44
+ category: "Decoración|Accesorios Decorativos|Accesorios Decorativos",
45
+ company_name: "merchants24ene@allfreemail.net",
46
+ company_id: 918,
47
+ id_category: "2028",
48
+ id_article: 432,
49
+ name: "VELA AROMA 18 OZ MAN/CAN",
50
+ upc: "102852",
49
51
  version: 1,
50
52
  retailersAvailable: [
51
53
  {
52
- name: "The Home Depot Golden",
53
- id: 58,
54
+ id: 68,
55
+ name: "The Home Depot Merchants",
54
56
  },
55
57
  ],
56
58
  },
57
59
  ],
58
60
  },
59
61
  location: {
60
- state: { origin: "Contentoh" },
62
+ state: { origin: "Contentoh", withChat: true },
61
63
  },
62
64
  user: {
63
- id_user: 28,
64
- name: "Ismael",
65
- last_name: "López",
66
- email: "ilopez@contentoh.com",
67
- position: "Test States",
68
- telephone: "+523111366336",
65
+ id_user: 140,
66
+ name: "Prueba",
67
+ last_name: "Merchants",
68
+ email: "merchants24ene@allfreemail.net",
69
+ position: "merchants24ene@allfreemail.net",
70
+ telephone: "+521234567891",
69
71
  country: "México",
70
- id_company: 1,
71
- id_cognito: "f5927f8e-cbf7-4922-9e09-e69ec0b2731a",
72
+ id_company: 918,
73
+ id_cognito: "03eb26a0-ab56-4767-b64f-84925807702a",
72
74
  birth_Date: null,
73
- about_me: "",
74
- zip_code: "",
75
- address: "",
76
- job: "",
77
- id_stripe: "cus_KuEt6R6vwmN09f",
75
+ about_me: null,
76
+ zip_code: null,
77
+ address: null,
78
+ job: null,
79
+ id_stripe: null,
78
80
  id_role: 0,
79
81
  active: 1,
80
82
  is_retailer: 0,
81
- email_notify: 0,
82
- is_user_tech: "AS",
83
+ email_notify: 1,
84
+ is_user_tech: null,
83
85
  membership: {
84
- id: 76,
85
- start_date: "2022-01-18T17:25:35.000Z",
86
- end_date: "2023-01-18T17:25:35.000Z",
86
+ id: 109,
87
+ start_date: "2023-01-24T22:07:34.000Z",
88
+ end_date: "2024-01-24T22:07:34.000Z",
87
89
  planID: 8,
88
90
  plan: "prod_KtlhECVSFG2iro",
89
91
  name: "Plan Pro",
@@ -91,21 +93,37 @@ ProviderProductEditionDefault.args = {
91
93
  products_limit: "5000",
92
94
  type: "Enterprise",
93
95
  },
94
- src: "https://content-management-profile.s3.amazonaws.com/id-28/28.png?1669927021851",
96
+ src: "https://content-management-profile.s3.amazonaws.com/id-140/140.png?1674599807427",
95
97
  },
96
98
  company: {
97
- id_company: 1,
98
- trade_name: "GRUPO BRAHMA",
99
- company_name: "GRUPO BRAHMA",
100
- rfc: "XAXX010101000",
101
- adress: "AA",
102
- about_company: "",
103
- telephone: "",
104
- web_site: "",
105
- zip_code: "",
99
+ id_company: 918,
100
+ trade_name: "merchants24ene@allfreemail.net",
101
+ company_name: "merchants24ene@allfreemail.net",
102
+ rfc: "merchants24ene@allfreemail.net",
103
+ adress: "merchants24ene@allfreemail.net",
104
+ about_company: null,
105
+ telephone: null,
106
+ web_site: null,
107
+ zip_code: null,
106
108
  email: null,
107
- social_link: "",
109
+ social_link: null,
108
110
  is_retailer: 0,
111
+ financedRetailers: [
112
+ {
113
+ id: 68,
114
+ name: "The Home Depot Merchants",
115
+ country: "México",
116
+ id_region: 1,
117
+ active: 1,
118
+ },
119
+ ],
120
+ retailers: [
121
+ {
122
+ id: null,
123
+ name: null,
124
+ country: null,
125
+ },
126
+ ],
109
127
  },
110
128
  showSurvey: (v) => v && alert("se muestra"),
111
129
  };
@@ -134,6 +134,7 @@ export const ProviderProductEdition = ({
134
134
  setShowContentohRequestModal,
135
135
  showSurvey,
136
136
  company,
137
+ withChat,
137
138
  }) => {
138
139
  const [activeTab, setActiveTab] = useState("Descripción");
139
140
  const [activeImage, setActiveImage] = useState();
@@ -1059,7 +1060,12 @@ export const ProviderProductEdition = ({
1059
1060
  ];
1060
1061
  return (
1061
1062
  <Container headerTop={headerTop}>
1062
- <HeaderTop setHeaderTop={setHeaderTop} />
1063
+ <HeaderTop
1064
+ setHeaderTop={setHeaderTop}
1065
+ withChat={location?.state?.withChat}
1066
+ productSelected={productSelected}
1067
+ token={token}
1068
+ />
1063
1069
  <div className="data-container">
1064
1070
  <div className="image-data-panel">
1065
1071
  <ImagePreviewer