contentoh-components-library 21.3.67 → 21.3.69

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.
Files changed (81) hide show
  1. package/.env.development +4 -0
  2. package/.env.production +3 -0
  3. package/dist/components/atoms/ButtonV2/styles.js +1 -1
  4. package/dist/components/atoms/Card/index.js +47 -7
  5. package/dist/components/atoms/Card/styles.js +3 -1
  6. package/dist/components/atoms/CheckBox/index.js +4 -2
  7. package/dist/components/atoms/InputFormatter/styles.js +1 -1
  8. package/dist/components/molecules/CarouselImagesLogin/index.js +1 -1
  9. package/dist/components/molecules/HeaderTop/index.js +68 -11
  10. package/dist/components/molecules/StripeCardForm/StripeCardForm.stories.js +31 -0
  11. package/dist/components/molecules/StripeCardForm/index.js +81 -0
  12. package/dist/components/molecules/StripeCardForm/paymentForm.js +187 -0
  13. package/dist/components/molecules/StripeCardForm/styles.js +24 -0
  14. package/dist/components/molecules/StripeCardSelector/CardSelector.stories.js +30 -0
  15. package/dist/components/molecules/StripeCardSelector/index.js +103 -0
  16. package/dist/components/molecules/StripeCardSelector/styles.js +19 -0
  17. package/dist/components/molecules/StripeCardSelector/utils.js +56 -0
  18. package/dist/components/molecules/TabsMenu/index.js +128 -13
  19. package/dist/components/molecules/TagAndInput/index.js +1 -1
  20. package/dist/components/organisms/Chat/Chat.stories.js +21 -1
  21. package/dist/components/organisms/Chat/ContainerItems/index.js +19 -3
  22. package/dist/components/organisms/Chat/ContainerItems/styles.js +1 -1
  23. package/dist/components/organisms/Chat/ContentChat/index.js +343 -191
  24. package/dist/components/organisms/Chat/Footer/index.js +48 -39
  25. package/dist/components/organisms/Chat/index.js +48 -3
  26. package/dist/components/organisms/FullProductNameHeader/index.js +2 -2
  27. package/dist/components/organisms/FullTabsMenu/index.js +27 -2
  28. package/dist/components/organisms/ImageDataTable/index.js +2 -0
  29. package/dist/components/organisms/Modal/styles.js +1 -1
  30. package/dist/components/organisms/SideModal/index.js +11 -0
  31. package/dist/components/organisms/SideModal/styles.js +1 -1
  32. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +172 -127
  33. package/dist/components/pages/ProviderProductEdition/index.js +223 -177
  34. package/dist/components/pages/ProviderProductEdition/styles.js +1 -1
  35. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +40 -28
  36. package/dist/components/pages/RetailerProductEdition/index.js +298 -273
  37. package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
  38. package/dist/components/pages/RetailerProductEdition/utils.js +61 -2
  39. package/dist/index.js +51 -12
  40. package/package.json +1 -1
  41. package/src/components/atoms/ButtonV2/styles.js +1 -1
  42. package/src/components/atoms/Card/index.js +35 -2
  43. package/src/components/atoms/Card/styles.js +41 -5
  44. package/src/components/atoms/CheckBox/index.js +2 -0
  45. package/src/components/atoms/InputFormatter/styles.js +2 -1
  46. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  47. package/src/components/molecules/GalleryElement/index.js +5 -0
  48. package/src/components/molecules/HeaderTop/index.js +52 -6
  49. package/src/components/molecules/StripeCardForm/StripeCardForm.stories.js +13 -0
  50. package/src/components/molecules/StripeCardForm/index.js +33 -0
  51. package/src/components/molecules/StripeCardForm/paymentForm.js +121 -0
  52. package/src/components/molecules/StripeCardForm/styles.js +72 -0
  53. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +12 -0
  54. package/src/components/molecules/StripeCardSelector/index.js +42 -0
  55. package/src/components/molecules/StripeCardSelector/styles.js +4 -0
  56. package/src/components/molecules/StripeCardSelector/utils.js +17 -0
  57. package/src/components/molecules/TabsMenu/index.js +126 -3
  58. package/src/components/molecules/TagAndInput/index.js +12 -8
  59. package/src/components/organisms/Chat/Chat.stories.js +21 -0
  60. package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
  61. package/src/components/organisms/Chat/ContainerItems/styles.js +10 -2
  62. package/src/components/organisms/Chat/ContentChat/index.js +81 -6
  63. package/src/components/organisms/Chat/Footer/index.js +11 -0
  64. package/src/components/organisms/Chat/index.js +47 -3
  65. package/src/components/organisms/FullProductNameHeader/index.js +1 -1
  66. package/src/components/organisms/FullTabsMenu/index.js +28 -1
  67. package/src/components/organisms/ImageDataTable/index.js +3 -0
  68. package/src/components/organisms/InputGroup/index.js +4 -1
  69. package/src/components/organisms/Modal/styles.js +4 -1
  70. package/src/components/organisms/SideModal/SideModal.stories.js +23 -0
  71. package/src/components/organisms/SideModal/index.js +50 -0
  72. package/src/components/organisms/SideModal/styles.js +30 -0
  73. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +177 -130
  74. package/src/components/pages/ProviderProductEdition/index.js +160 -129
  75. package/src/components/pages/ProviderProductEdition/styles.js +5 -1
  76. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +38 -26
  77. package/src/components/pages/RetailerProductEdition/index.js +142 -135
  78. package/src/components/pages/RetailerProductEdition/styles.js +4 -0
  79. package/src/components/pages/RetailerProductEdition/utils.js +37 -0
  80. package/src/index.js +3 -0
  81. package/dist/assets/fonts/roboto/LICENSE.txt +0 -202
@@ -39,6 +39,9 @@ import Slide1_4 from "../../../assets/images/sliderToolTip/slide4.svg";
39
39
  import Slide1_5 from "../../../assets/images/sliderToolTip/slide5.svg";
40
40
  import { VersionSelector } from "../../organisms/VersionSelector";
41
41
  import { useCloseModal } from "../../../global-files/customHooks";
42
+ import { createMessage, sendMessage } from "../RetailerProductEdition/utils";
43
+ import { Modal } from "../../organisms/Modal";
44
+ import { ButtonV2 } from "../../atoms/ButtonV2";
42
45
 
43
46
  const reducerImages = (state, action) => {
44
47
  let { values, attrForImgs, inputsByRetailer } = state;
@@ -214,12 +217,27 @@ export const ProviderProductEdition = ({
214
217
  const isRetailer = user?.is_retailer;
215
218
  const [loading, setLoading] = useState(true);
216
219
  const [validatedAll, setValidatedAll] = useState(false);
220
+ const [showRejectModal, setShowRejectModal] = useState(false);
217
221
 
218
222
  const [origin, setOrigin] = useState({
219
223
  "Ficha técnica": null,
220
224
  Descripción: null,
221
225
  Imágenes: null,
222
226
  });
227
+
228
+
229
+ //! ==========================================Daniel===========================================
230
+ /* ====================================== Cambios =================================*/
231
+ const [desc, setDesc] = useState([])
232
+ const [fich, setFich] = useState([])
233
+ const [imag, setImag] = useState([])
234
+
235
+ /* ------------------------------------- Cambios ----------------------------------*/
236
+ //! ==========================================Daniel===========================================
237
+
238
+
239
+
240
+
223
241
  const [inCart, setInCart] = useState(false);
224
242
  const [dataGenericModal, setDataGenericModal] = useState({
225
243
  message: "¿Estás seguro de continuar?",
@@ -342,28 +360,6 @@ export const ProviderProductEdition = ({
342
360
  (type) => {
343
361
  const formatter = new Intl.ListFormat("es", { type: "conjunction" });
344
362
  switch (type) {
345
- case "error":
346
- setGlobalModal({
347
- message: `${activeTab} rechazada`,
348
- detail: "Agrega tu comentarios para enviar el rechazo",
349
- img: errorModal,
350
- textArea: true,
351
- button1: {
352
- name: "Enviar",
353
- action: (e) => {
354
- const textArea = document.querySelector("#area");
355
- if (textArea.value) {
356
- textArea.style.border = "none";
357
- createComment(e, textArea.value);
358
- showGlobalModal("commentsSent");
359
- validatedAll ? validateAll("R") : sendEvaluation("R");
360
- } else {
361
- textArea.style.border = "2px solid red";
362
- }
363
- },
364
- },
365
- });
366
- break;
367
363
  case "generic":
368
364
  setGlobalModal(dataGenericModal);
369
365
  break;
@@ -523,7 +519,9 @@ export const ProviderProductEdition = ({
523
519
  );
524
520
  setServicesData(parsedResponse);
525
521
  }
526
- !activeRetailer.id && setActiveRetailer(active ? active : retailers[0]);
522
+ retailers &&
523
+ !activeRetailer.id &&
524
+ setActiveRetailer(active ? active : retailers[0]);
527
525
  };
528
526
 
529
527
  const isRevision = () => {
@@ -599,7 +597,7 @@ export const ProviderProductEdition = ({
599
597
  });
600
598
  }
601
599
  setProduct(productTemp);
602
- setActivePercentage(retailers[0]?.percentage);
600
+ retailers && setActivePercentage(retailers[0]?.percentage);
603
601
  }, [percentages]);
604
602
 
605
603
  const loadInputs = () => {
@@ -840,32 +838,19 @@ export const ProviderProductEdition = ({
840
838
  }
841
839
  };
842
840
 
843
- const createComment = async (e, body, tab) => {
844
- let concept = "";
845
- switch (activeTab) {
846
- case "Ficha técnica":
847
- concept = "datasheet";
848
- break;
849
- case "Imágenes":
850
- concept = "images";
851
- break;
852
-
853
- default:
854
- concept = "description";
855
- break;
856
- }
841
+ const createComment = async (messages = [], retailerId) => {
857
842
  const data = {
858
- articleId: product?.id_article,
859
- orderId: product?.orderId,
860
- message: body,
861
- concept: concept,
862
- version: version,
863
- };
864
- await axios.post(`${process.env.REACT_APP_COMMENTS_ENDPOINT}`, data, {
865
- headers: {
866
- Authorization: token,
843
+ paramsBody: {
844
+ id: product.article.id_article || productEdit.ArticleId,
845
+ version: version,
846
+ items: messages,
847
+ retailerId: retailerId,
848
+ status: product.status || productEdit.product.status,
867
849
  },
868
- });
850
+ paramsHeader: { Authorization: token },
851
+ };
852
+ setMessage("");
853
+ return sendMessage(data);
869
854
  };
870
855
 
871
856
  useEffect(() => {
@@ -1065,6 +1050,27 @@ export const ProviderProductEdition = ({
1065
1050
  const { newArticleStatus, newServiceStatus, newStatus } = JSON.parse(
1066
1051
  res.data.body
1067
1052
  );
1053
+
1054
+ const message = createMessage(
1055
+ product.retailers || product.retailersAvailable,
1056
+ activeRetailer.id,
1057
+ product[sectionStatusKey],
1058
+ newStatus,
1059
+ activeTab
1060
+ );
1061
+
1062
+ const messageData = {
1063
+ paramsBody: {
1064
+ id: product.article.id_article || productEdit.ArticleId,
1065
+ version: version,
1066
+ items: [{ type: "status", value: message }],
1067
+ retailerId: activeRetailer.id,
1068
+ status: product.status || productEdit.product.status,
1069
+ },
1070
+ paramsHeader: { Authorization: token },
1071
+ };
1072
+ await sendMessage(messageData);
1073
+
1068
1074
  if (newArticleStatus) productTemp.status = newArticleStatus[articleId];
1069
1075
  const retailerStatusCopy = { ...retailerStatus };
1070
1076
  retailerStatusCopy[activeRetailer.id][concept] = newStatus;
@@ -1096,6 +1102,7 @@ export const ProviderProductEdition = ({
1096
1102
  result,
1097
1103
  isAproved: result === "A",
1098
1104
  };
1105
+ const messages = [];
1099
1106
  servicesData?.forEach((ret) => {
1100
1107
  const { service, id_retailer } = ret;
1101
1108
  let data = {};
@@ -1112,6 +1119,18 @@ export const ProviderProductEdition = ({
1112
1119
  },
1113
1120
  })
1114
1121
  );
1122
+ if (product[`${ret.service}_status`] !== "NS") {
1123
+ const message = createMessage(
1124
+ product.retailers,
1125
+ ret.id_retailer,
1126
+ product[`${ret.service}_status`],
1127
+ `${result}A`,
1128
+ ret.service
1129
+ );
1130
+ messages.push(
1131
+ createComment([{ type: "status", value: message }], ret.id_retailer)
1132
+ );
1133
+ }
1115
1134
  });
1116
1135
  await Promise.all(evaluationArray);
1117
1136
  const userType = user.is_retailer === 1 ? "CA" : "P";
@@ -1151,6 +1170,7 @@ export const ProviderProductEdition = ({
1151
1170
  product: productTemp,
1152
1171
  })
1153
1172
  );
1173
+ await Promise.all(messages);
1154
1174
 
1155
1175
  await loadData();
1156
1176
  } catch (error) {
@@ -1278,8 +1298,7 @@ export const ProviderProductEdition = ({
1278
1298
  return;
1279
1299
  } else if (user.is_retailer) {
1280
1300
  if (product.id_order || product.orderId) {
1281
- setValidatedAll(true);
1282
- showGlobalModal("error");
1301
+ sendEvaluation("R");
1283
1302
  } else {
1284
1303
  setDataGenericModal((prev) => ({
1285
1304
  ...prev,
@@ -1291,8 +1310,7 @@ export const ProviderProductEdition = ({
1291
1310
  showGlobalModal("generic");
1292
1311
  }
1293
1312
  } else {
1294
- setValidatedAll(true);
1295
- showGlobalModal("error");
1313
+ sendEvaluation("R");
1296
1314
  }
1297
1315
  }
1298
1316
  };
@@ -1301,6 +1319,7 @@ export const ProviderProductEdition = ({
1301
1319
  <HeaderTop
1302
1320
  setHeaderTop={setHeaderTop}
1303
1321
  withChat={location?.state?.withChat}
1322
+ chatType={location?.state?.chatType}
1304
1323
  productSelected={productSelected}
1305
1324
  token={token}
1306
1325
  activeRetailer={activeRetailer}
@@ -1379,7 +1398,7 @@ export const ProviderProductEdition = ({
1379
1398
  } else if (user.is_retailer) {
1380
1399
  if (product.id_order || product.orderId) {
1381
1400
  setValidatedAll(true);
1382
- showGlobalModal("error");
1401
+ setShowRejectModal(true);
1383
1402
  } else {
1384
1403
  setDataGenericModal((prev) => ({
1385
1404
  ...prev,
@@ -1391,12 +1410,14 @@ export const ProviderProductEdition = ({
1391
1410
  showGlobalModal("generic");
1392
1411
  }
1393
1412
  } else {
1413
+ setShowRejectModal(true);
1394
1414
  setValidatedAll(true);
1395
- showGlobalModal("error");
1396
1415
  }
1397
1416
  }}
1398
1417
  approve={() => sendToEvaluation("A")}
1399
- reject={() => sendToEvaluation("R")}
1418
+ reject={() => {
1419
+ setShowRejectModal(true);
1420
+ }}
1400
1421
  />
1401
1422
  <FullTabsMenu
1402
1423
  tabsSections={tabsSections}
@@ -1418,6 +1439,20 @@ export const ProviderProductEdition = ({
1418
1439
  isRetailer={isRetailer}
1419
1440
  showSaveButton={enableActions(product.version_status)}
1420
1441
  version={version}
1442
+
1443
+ desc={ desc }
1444
+ setDesc={ setDesc }
1445
+ fich={fich}
1446
+ setFich={setFich}
1447
+ imag={imag}
1448
+ setImag={setImag}
1449
+ updatedDescriptions={updatedDescriptions}
1450
+ updatedDatasheets={updatedDatasheets}
1451
+ selectedImages={selectedImages}
1452
+ setUpdatedDescriptions={setUpdatedDescriptions}
1453
+ setUpdatedDatasheets={setUpdatedDatasheets}
1454
+ setSelectedImages={setSelectedImages}
1455
+
1421
1456
  setShowVersionSelector={setShowVersionSelector}
1422
1457
  onClickSave={() => {
1423
1458
  switch (activeTab) {
@@ -1508,87 +1543,41 @@ export const ProviderProductEdition = ({
1508
1543
  </>
1509
1544
  )}
1510
1545
  </div>
1511
- {isRevision() && getSectionStatus() ? (
1512
- <div className="commentary-box">
1513
- {!comment ? (
1514
- <div className="commentary">
1515
- <TagAndInput
1516
- label={"Caja de Comentario"}
1517
- inputType={"textarea"}
1518
- inputCols={80}
1519
- inputRows={4}
1520
- inputId={"commentary-box"}
1521
- index={0}
1522
- />
1523
- <div className="buttons-box">
1524
- <Button
1525
- buttonType={"general-transparent-button"}
1526
- label={"Enviar comentario"}
1527
- onClick={(e) =>
1528
- createComment(
1529
- e,
1530
- document.querySelector(
1531
- "#description-commentary-box-0 .ql-container .ql-editor > p"
1532
- ).innerHTML,
1533
- activeTab
1534
- )
1535
- }
1536
- />
1537
- </div>
1538
- </div>
1546
+ {!(isRevision() && getSectionStatus()) && !revision && (
1547
+ <div className="required-inputs-message">
1548
+ <div>
1549
+ <p>
1550
+ Los atributos son requeridos por las plataformas de las
1551
+ cadenas, es muy importante completar los campos requeridos ya
1552
+ que pueden rechazar el producto por falta de información.
1553
+ </p>
1554
+ </div>
1555
+ {inCart ? (
1556
+ <button type="button">
1557
+ <Link to="/checkout">
1558
+ <p>Articulo en carrito</p>
1559
+ <p>Ir a checkout</p>
1560
+ </Link>
1561
+ </button>
1539
1562
  ) : (
1540
- <div className="feedback-box">
1541
- <Commentary
1542
- comment={comment.message}
1543
- reviewed={crossComment}
1563
+ <>
1564
+ <SliderToolTip
1565
+ infoIcon={InfoIcon}
1566
+ slidefront={slidefront}
1567
+ iconSize={"big-image"}
1568
+ slidePosition={"top-slide"}
1544
1569
  />
1545
1570
  <Button
1546
- buttonType={"circular-button accept-button"}
1547
- onClick={async () => {
1548
- setCrossComment(true);
1549
- commentRevised();
1571
+ onClick={() => {
1572
+ setShowContentohRequestModal &&
1573
+ setShowContentohRequestModal(true);
1550
1574
  }}
1575
+ buttonType="general-default-button"
1576
+ label="Enviar a Content-oh!"
1551
1577
  />
1552
- </div>
1578
+ </>
1553
1579
  )}
1554
1580
  </div>
1555
- ) : (
1556
- !revision && (
1557
- <div className="required-inputs-message">
1558
- <div>
1559
- <p>
1560
- Los atributos son requeridos por las plataformas de las
1561
- cadenas, es muy importante completar los campos requeridos
1562
- ya que pueden rechazar el producto por falta de información.
1563
- </p>
1564
- </div>
1565
- {inCart ? (
1566
- <button type="button">
1567
- <Link to="/checkout">
1568
- <p>Articulo en carrito</p>
1569
- <p>Ir a checkout</p>
1570
- </Link>
1571
- </button>
1572
- ) : (
1573
- <>
1574
- <SliderToolTip
1575
- infoIcon={InfoIcon}
1576
- slidefront={slidefront}
1577
- iconSize={"big-image"}
1578
- slidePosition={"top-slide"}
1579
- />
1580
- <Button
1581
- onClick={() => {
1582
- setShowContentohRequestModal &&
1583
- setShowContentohRequestModal(true);
1584
- }}
1585
- buttonType="general-default-button"
1586
- label="Enviar a Content-oh!"
1587
- />
1588
- </>
1589
- )}
1590
- </div>
1591
- )
1592
1581
  )}
1593
1582
  </div>
1594
1583
  </div>
@@ -1631,6 +1620,48 @@ export const ProviderProductEdition = ({
1631
1620
  jwt={token}
1632
1621
  />
1633
1622
  )}
1623
+ {showRejectModal && (
1624
+ <Modal
1625
+ title={"Agregar mensaje de rechazo"}
1626
+ show={showRejectModal}
1627
+ customComponent={
1628
+ <TagAndInput
1629
+ inputType={"textarea"}
1630
+ inputId={"modal-message-box"}
1631
+ index={0}
1632
+ color={"white"}
1633
+ />
1634
+ }
1635
+ buttons={[
1636
+ <ButtonV2
1637
+ key={"btn-Cancelar"}
1638
+ type={"white"}
1639
+ label={"Cancelar"}
1640
+ size={12}
1641
+ onClick={() => {
1642
+ setShowRejectModal(false);
1643
+ }}
1644
+ />,
1645
+ <ButtonV2
1646
+ key={"btn-Aceptar"}
1647
+ type={"pink"}
1648
+ label={"Aceptar"}
1649
+ size={12}
1650
+ onClick={async () => {
1651
+ const body = document.querySelector(
1652
+ "#modal-message-box .ql-container .ql-editor > p"
1653
+ ).innerHTML;
1654
+ const messages = [
1655
+ { type: "message", value: body?.replace(/<.*?\/?>/gm, "") },
1656
+ ];
1657
+ await createComment(messages, activeRetailer.id);
1658
+ validatedAll ? validateAll("R") : sendToEvaluation("R");
1659
+ setShowRejectModal(false);
1660
+ }}
1661
+ />,
1662
+ ]}
1663
+ />
1664
+ )}
1634
1665
  </Container>
1635
1666
  );
1636
1667
  };
@@ -107,6 +107,10 @@ export const Container = styled.div`
107
107
  }
108
108
  }
109
109
  }
110
+ #modal-message-box {
111
+ width: 400px;
112
+ height: 100px;
113
+ }
110
114
  .container {
111
115
  width: 100%;
112
116
  height: 100%;
@@ -115,4 +119,4 @@ export const Container = styled.div`
115
119
  width: 100%;
116
120
  }
117
121
  }
118
- `;
122
+ `;
@@ -16,26 +16,41 @@ RetailerProductEditionDefault.args = {
16
16
  Imágenes: false,
17
17
  },
18
18
  token:
19
- "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhNmM0ZDNkNi0yNGE0LTQxZDQtYWQwZi1kMDg3NDM4YWI1YjYiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6ImE2YzRkM2Q2LTI0YTQtNDFkNC1hZDBmLWQwODc0MzhhYjViNiIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiIyYjU3MjZlMy04MjM2LTRmYzMtODBkMi05NWVmYmU4ODdjOTYiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4MjAxNjI5MSwibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTY4MjAxOTg5MSwiaWF0IjoxNjgyMDE2MjkxLCJlbWFpbCI6ImV0Y0Bjb250ZW50b2guY29tIn0.SCj_yp1NkGCED59JHoDSdFAOakIOvZVeC0yLwt9z0BtenDXlU0m5cUofQQonnWPM8Q70yMFEkyMGI9kQs_fz1gxrmrSc2FGefn3B_1Vymq3pQ_S1JrY_syYf88m_GtJKOywEnE6--Ef9lZhFBFKGtqRJ4H8JBa9Xb96uCjAKyEMCSURDlw37pk2RQdULlZPj17Zb6Xrqi2lwrhpI1ByptX3__UoTiZklnTXwIxM4JdU7yuhXLznaEH8NOSd2Jw-CV6FCUbYBHlnRYBQg7B5mwyVKtDQm6QpRgBTBPCvljJJpFjRKUcnon8WZiFXx1qVbkWPt2vCT1TZqqoSLdlP6lA",
19
+ "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI5YTIxMzEyOC02NDgyLTRjMTYtYTRiNi02ZTY0ZjIyNWIxYmQiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6IjlhMjEzMTI4LTY0ODItNGMxNi1hNGI2LTZlNjRmMjI1YjFiZCIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI5OGE0NzYxMy04ZGIyLTRlZjUtYjA0Mi01ZDU3MWRkZjIwMWIiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4Mzg3NTIyNiwibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTY4Mzg3ODgyNiwiaWF0IjoxNjgzODc1MjI2LCJlbWFpbCI6ImlzbWFlbDk3bG9wZXpAZ21haWwuY29tIn0.EtgmT_THMx-Zy_zB5yZK4gz6TXNTVVJEKFt5X0JK2UkGVrp_q_92YCEuejS4n976fyTez0jkwOee6IkVHLV71uZWRBDFt-3Yw4ZxfsZYPNJWhoHXGNxhMU8MCkSntfu597esBTk-VsUpstT5R7L-WJfN8viE7R-qVo-42RlPTG0TFrWA9q0oTcqjv8vbxLpOBUjiEpjmqRhg4blJZwgkGNta6MOlw1vfmisOVbo9wMvqwnCZ9xx9KMKoH9U4uNObK_JomjbvPmTmkcUXsE-wGSD7XcoSwtuhBngLC7-jiu1u8MvL_ff5Z0Qp70sSpLdUglcSS8d1Xf7j_fcZuJ5jKA",
20
20
  productSelected: {
21
- orderId: 15160,
22
- status: "SAC",
23
- datasheet_status: "SAC",
21
+ orderId: 14606,
22
+ status: "RA",
23
+ datasheet_status: "RA",
24
24
  prio: "none",
25
- version: 7,
26
- description_status: "SAC",
27
- images_status: "SAC",
28
- brand: null,
29
- retailerOrder: 1,
30
- missing: {
31
- datasheet: null,
32
- descriptions: null,
33
- images: null,
34
- },
35
- services: {
36
- datasheets: 1,
37
- descriptions: 1,
38
- images: 1,
25
+ version: 3,
26
+ description_status: "RA",
27
+ images_status: "RA",
28
+ statusByRetailer: {
29
+ 4: {
30
+ datasheet: "RA/AC",
31
+ description: "RA/AC",
32
+ images: "RA/AC",
33
+ },
34
+ 5: {
35
+ datasheet: "RA/AC",
36
+ description: "RA/AC",
37
+ images: "RA/AC",
38
+ },
39
+ 6: {
40
+ description: "RA/AC",
41
+ images: "RA/AC",
42
+ datasheet: "RA/AC",
43
+ },
44
+ 12: {
45
+ datasheet: "RA/AC",
46
+ description: "RA/AC",
47
+ images: "RA/AC",
48
+ },
49
+ 17: {
50
+ datasheet: "RA/AC",
51
+ description: "RA/AC",
52
+ images: "RA/AC",
53
+ },
39
54
  },
40
55
  article: {
41
56
  category: "Puertas y Ventanas|Molduras|Molduras Madera Blanda",
@@ -65,16 +80,13 @@ RetailerProductEditionDefault.args = {
65
80
  name: "The Home Depot Merchants",
66
81
  },
67
82
  ],
68
- statusByRetailer: {
69
- 58: {
70
- datasheet: "SAC",
71
- description: "SAC",
72
- images: "SAC",
73
- },
74
- },
75
83
  },
76
84
  location: {
77
- product: { articleId: 39290, versionId: 7 },
85
+ product: { articleId: 354, versionId: 3 },
86
+ state: {
87
+ withChat: true,
88
+ chatType: "product_status",
89
+ },
78
90
  },
79
91
  user: {
80
92
  id_user: 51,