contentoh-components-library 21.3.82 → 21.3.84

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 (70) hide show
  1. package/.env.development +0 -5
  2. package/.env.production +0 -3
  3. package/dist/components/atoms/ButtonV2/styles.js +1 -1
  4. package/dist/components/atoms/Card/index.js +5 -46
  5. package/dist/components/atoms/Card/styles.js +1 -3
  6. package/dist/components/atoms/CheckBox/index.js +2 -4
  7. package/dist/components/atoms/GeneralInput/index.js +20 -24
  8. package/dist/components/atoms/InputFormatter/index.js +16 -14
  9. package/dist/components/atoms/InputFormatter/styles.js +1 -1
  10. package/dist/components/molecules/CarouselImagesLogin/index.js +1 -1
  11. package/dist/components/molecules/HeaderTop/index.js +11 -68
  12. package/dist/components/molecules/TabsMenu/index.js +48 -22
  13. package/dist/components/molecules/TagAndInput/index.js +3 -1
  14. package/dist/components/organisms/Chat/Chat.stories.js +8 -27
  15. package/dist/components/organisms/Chat/ContainerItems/index.js +3 -19
  16. package/dist/components/organisms/Chat/ContainerItems/styles.js +1 -1
  17. package/dist/components/organisms/Chat/ContentChat/index.js +206 -355
  18. package/dist/components/organisms/Chat/Footer/index.js +39 -48
  19. package/dist/components/organisms/Chat/index.js +4 -49
  20. package/dist/components/organisms/FullProductNameHeader/index.js +2 -2
  21. package/dist/components/organisms/FullTabsMenu/index.js +12 -2
  22. package/dist/components/organisms/Modal/styles.js +1 -1
  23. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +96 -171
  24. package/dist/components/pages/ProviderProductEdition/index.js +196 -189
  25. package/dist/components/pages/ProviderProductEdition/styles.js +1 -1
  26. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +28 -40
  27. package/dist/components/pages/RetailerProductEdition/index.js +290 -262
  28. package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
  29. package/dist/components/pages/RetailerProductEdition/utils.js +2 -61
  30. package/dist/index.js +12 -51
  31. package/package.json +1 -3
  32. package/src/components/atoms/ButtonV2/styles.js +1 -1
  33. package/src/components/atoms/Card/index.js +2 -35
  34. package/src/components/atoms/Card/styles.js +5 -41
  35. package/src/components/atoms/CheckBox/index.js +0 -2
  36. package/src/components/atoms/GeneralInput/index.js +21 -20
  37. package/src/components/atoms/InputFormatter/index.js +18 -14
  38. package/src/components/atoms/InputFormatter/styles.js +1 -2
  39. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  40. package/src/components/molecules/HeaderTop/index.js +6 -52
  41. package/src/components/molecules/TabsMenu/index.js +88 -65
  42. package/src/components/molecules/TagAndInput/index.js +12 -10
  43. package/src/components/organisms/Chat/Chat.stories.js +7 -27
  44. package/src/components/organisms/Chat/ContainerItems/index.js +2 -18
  45. package/src/components/organisms/Chat/ContainerItems/styles.js +2 -10
  46. package/src/components/organisms/Chat/ContentChat/index.js +21 -93
  47. package/src/components/organisms/Chat/Footer/index.js +0 -11
  48. package/src/components/organisms/Chat/index.js +4 -46
  49. package/src/components/organisms/FullProductNameHeader/index.js +1 -1
  50. package/src/components/organisms/FullTabsMenu/index.js +16 -4
  51. package/src/components/organisms/Modal/styles.js +1 -4
  52. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +98 -181
  53. package/src/components/pages/ProviderProductEdition/index.js +142 -134
  54. package/src/components/pages/ProviderProductEdition/styles.js +1 -5
  55. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +26 -38
  56. package/src/components/pages/RetailerProductEdition/index.js +148 -111
  57. package/src/components/pages/RetailerProductEdition/styles.js +0 -4
  58. package/src/components/pages/RetailerProductEdition/utils.js +0 -37
  59. package/src/index.js +0 -3
  60. package/src/components/molecules/StripeCardForm/StripeCardForm.stories.js +0 -13
  61. package/src/components/molecules/StripeCardForm/index.js +0 -42
  62. package/src/components/molecules/StripeCardForm/paymentForm.js +0 -124
  63. package/src/components/molecules/StripeCardForm/styles.js +0 -73
  64. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +0 -12
  65. package/src/components/molecules/StripeCardSelector/index.js +0 -44
  66. package/src/components/molecules/StripeCardSelector/styles.js +0 -4
  67. package/src/components/molecules/StripeCardSelector/utils.js +0 -17
  68. package/src/components/organisms/SideModal/SideModal.stories.js +0 -23
  69. package/src/components/organisms/SideModal/index.js +0 -50
  70. package/src/components/organisms/SideModal/styles.js +0 -30
@@ -39,9 +39,6 @@ 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";
45
42
 
46
43
  const reducerImages = (state, action) => {
47
44
  let { values, attrForImgs, inputsByRetailer } = state;
@@ -217,7 +214,6 @@ export const ProviderProductEdition = ({
217
214
  const isRetailer = user?.is_retailer;
218
215
  const [loading, setLoading] = useState(true);
219
216
  const [validatedAll, setValidatedAll] = useState(false);
220
- const [showRejectModal, setShowRejectModal] = useState(false);
221
217
 
222
218
  const [origin, setOrigin] = useState({
223
219
  "Ficha técnica": null,
@@ -225,6 +221,11 @@ export const ProviderProductEdition = ({
225
221
  Imágenes: null,
226
222
  });
227
223
 
224
+ const [desc, setDesc] = useState([])
225
+ const [fich, setFich] = useState([])
226
+ const [imag, setImag] = useState([])
227
+
228
+
228
229
  const [inCart, setInCart] = useState(false);
229
230
  const [dataGenericModal, setDataGenericModal] = useState({
230
231
  message: "¿Estás seguro de continuar?",
@@ -347,6 +348,28 @@ export const ProviderProductEdition = ({
347
348
  (type) => {
348
349
  const formatter = new Intl.ListFormat("es", { type: "conjunction" });
349
350
  switch (type) {
351
+ case "error":
352
+ setGlobalModal({
353
+ message: `${activeTab} rechazada`,
354
+ detail: "Agrega tu comentarios para enviar el rechazo",
355
+ img: errorModal,
356
+ textArea: true,
357
+ button1: {
358
+ name: "Enviar",
359
+ action: (e) => {
360
+ const textArea = document.querySelector("#area");
361
+ if (textArea.value) {
362
+ textArea.style.border = "none";
363
+ createComment(e, textArea.value);
364
+ showGlobalModal("commentsSent");
365
+ validatedAll ? validateAll("R") : sendEvaluation("R");
366
+ } else {
367
+ textArea.style.border = "2px solid red";
368
+ }
369
+ },
370
+ },
371
+ });
372
+ break;
350
373
  case "generic":
351
374
  setGlobalModal(dataGenericModal);
352
375
  break;
@@ -506,9 +529,7 @@ export const ProviderProductEdition = ({
506
529
  );
507
530
  setServicesData(parsedResponse);
508
531
  }
509
- retailers &&
510
- !activeRetailer.id &&
511
- setActiveRetailer(active ? active : retailers[0]);
532
+ !activeRetailer.id && setActiveRetailer(active ? active : retailers[0]);
512
533
  };
513
534
 
514
535
  const isRevision = () => {
@@ -584,7 +605,7 @@ export const ProviderProductEdition = ({
584
605
  });
585
606
  }
586
607
  setProduct(productTemp);
587
- retailers && setActivePercentage(retailers[0]?.percentage);
608
+ setActivePercentage(retailers[0]?.percentage);
588
609
  }, [percentages]);
589
610
 
590
611
  const loadInputs = () => {
@@ -825,19 +846,32 @@ export const ProviderProductEdition = ({
825
846
  }
826
847
  };
827
848
 
828
- const createComment = async (messages = [], retailerId) => {
849
+ const createComment = async (e, body, tab) => {
850
+ let concept = "";
851
+ switch (activeTab) {
852
+ case "Ficha técnica":
853
+ concept = "datasheet";
854
+ break;
855
+ case "Imágenes":
856
+ concept = "images";
857
+ break;
858
+
859
+ default:
860
+ concept = "description";
861
+ break;
862
+ }
829
863
  const data = {
830
- paramsBody: {
831
- id: product.article.id_article || productEdit.ArticleId,
832
- version: version,
833
- items: messages,
834
- retailerId: retailerId,
835
- status: product.status || productEdit.product.status,
836
- },
837
- paramsHeader: { Authorization: token },
864
+ articleId: product?.id_article,
865
+ orderId: product?.orderId,
866
+ message: body,
867
+ concept: concept,
868
+ version: version,
838
869
  };
839
- setMessage("");
840
- return sendMessage(data);
870
+ await axios.post(`${process.env.REACT_APP_COMMENTS_ENDPOINT}`, data, {
871
+ headers: {
872
+ Authorization: token,
873
+ },
874
+ });
841
875
  };
842
876
 
843
877
  useEffect(() => {
@@ -1037,27 +1071,6 @@ export const ProviderProductEdition = ({
1037
1071
  const { newArticleStatus, newServiceStatus, newStatus } = JSON.parse(
1038
1072
  res.data.body
1039
1073
  );
1040
-
1041
- const message = createMessage(
1042
- product.retailers || product.retailersAvailable,
1043
- activeRetailer.id,
1044
- product[sectionStatusKey],
1045
- newStatus,
1046
- activeTab
1047
- );
1048
-
1049
- const messageData = {
1050
- paramsBody: {
1051
- id: product.article.id_article || productEdit.ArticleId,
1052
- version: version,
1053
- items: [{ type: "status", value: message }],
1054
- retailerId: activeRetailer.id,
1055
- status: product.status || productEdit.product.status,
1056
- },
1057
- paramsHeader: { Authorization: token },
1058
- };
1059
- await sendMessage(messageData);
1060
-
1061
1074
  if (newArticleStatus) productTemp.status = newArticleStatus[articleId];
1062
1075
  const retailerStatusCopy = { ...retailerStatus };
1063
1076
  retailerStatusCopy[activeRetailer.id][concept] = newStatus;
@@ -1089,7 +1102,6 @@ export const ProviderProductEdition = ({
1089
1102
  result,
1090
1103
  isAproved: result === "A",
1091
1104
  };
1092
- const messages = [];
1093
1105
  servicesData?.forEach((ret) => {
1094
1106
  const { service, id_retailer } = ret;
1095
1107
  let data = {};
@@ -1106,18 +1118,6 @@ export const ProviderProductEdition = ({
1106
1118
  },
1107
1119
  })
1108
1120
  );
1109
- if (product[`${ret.service}_status`] !== "NS") {
1110
- const message = createMessage(
1111
- product.retailers,
1112
- ret.id_retailer,
1113
- product[`${ret.service}_status`],
1114
- `${result}A`,
1115
- ret.service
1116
- );
1117
- messages.push(
1118
- createComment([{ type: "status", value: message }], ret.id_retailer)
1119
- );
1120
- }
1121
1121
  });
1122
1122
  await Promise.all(evaluationArray);
1123
1123
  const userType = user.is_retailer === 1 ? "CA" : "P";
@@ -1157,7 +1157,6 @@ export const ProviderProductEdition = ({
1157
1157
  product: productTemp,
1158
1158
  })
1159
1159
  );
1160
- await Promise.all(messages);
1161
1160
 
1162
1161
  await loadData();
1163
1162
  } catch (error) {
@@ -1286,7 +1285,8 @@ export const ProviderProductEdition = ({
1286
1285
  return;
1287
1286
  } else if (user.is_retailer) {
1288
1287
  if (product.id_order || product.orderId) {
1289
- sendEvaluation("R");
1288
+ setValidatedAll(true);
1289
+ showGlobalModal("error");
1290
1290
  } else {
1291
1291
  setDataGenericModal((prev) => ({
1292
1292
  ...prev,
@@ -1298,17 +1298,16 @@ export const ProviderProductEdition = ({
1298
1298
  showGlobalModal("generic");
1299
1299
  }
1300
1300
  } else {
1301
- sendEvaluation("R");
1301
+ setValidatedAll(true);
1302
+ showGlobalModal("error");
1302
1303
  }
1303
1304
  }
1304
1305
  };
1305
-
1306
1306
  return (
1307
1307
  <Container headerTop={headerTop}>
1308
1308
  <HeaderTop
1309
1309
  setHeaderTop={setHeaderTop}
1310
1310
  withChat={location?.state?.withChat}
1311
- chatType={location?.state?.chatType}
1312
1311
  productSelected={productSelected}
1313
1312
  token={token}
1314
1313
  activeRetailer={activeRetailer}
@@ -1387,7 +1386,7 @@ export const ProviderProductEdition = ({
1387
1386
  } else if (user.is_retailer) {
1388
1387
  if (product.id_order || product.orderId) {
1389
1388
  setValidatedAll(true);
1390
- setShowRejectModal(true);
1389
+ showGlobalModal("error");
1391
1390
  } else {
1392
1391
  setDataGenericModal((prev) => ({
1393
1392
  ...prev,
@@ -1399,14 +1398,12 @@ export const ProviderProductEdition = ({
1399
1398
  showGlobalModal("generic");
1400
1399
  }
1401
1400
  } else {
1402
- setShowRejectModal(true);
1403
1401
  setValidatedAll(true);
1402
+ showGlobalModal("error");
1404
1403
  }
1405
1404
  }}
1406
1405
  approve={() => sendToEvaluation("A")}
1407
- reject={() => {
1408
- setShowRejectModal(true);
1409
- }}
1406
+ reject={() => sendToEvaluation("R")}
1410
1407
  />
1411
1408
  <FullTabsMenu
1412
1409
  tabsSections={tabsSections}
@@ -1428,13 +1425,20 @@ export const ProviderProductEdition = ({
1428
1425
  isRetailer={isRetailer}
1429
1426
  showSaveButton={enableActions(product.version_status)}
1430
1427
  version={version}
1428
+
1429
+ desc={ desc }
1430
+ setDesc={ setDesc }
1431
+ fich={fich}
1432
+ setFich={setFich}
1433
+ imag={imag}
1434
+ setImag={setImag}
1431
1435
  updatedDescriptions={updatedDescriptions}
1432
1436
  updatedDatasheets={updatedDatasheets}
1433
- images={images}
1434
1437
  selectedImages={selectedImages}
1435
1438
  setUpdatedDescriptions={setUpdatedDescriptions}
1436
1439
  setUpdatedDatasheets={setUpdatedDatasheets}
1437
1440
  setSelectedImages={setSelectedImages}
1441
+
1438
1442
  setShowVersionSelector={setShowVersionSelector}
1439
1443
  onClickSave={() => {
1440
1444
  switch (activeTab) {
@@ -1525,41 +1529,87 @@ export const ProviderProductEdition = ({
1525
1529
  </>
1526
1530
  )}
1527
1531
  </div>
1528
- {!(isRevision() && getSectionStatus()) && !revision && (
1529
- <div className="required-inputs-message">
1530
- <div>
1531
- <p>
1532
- Los atributos son requeridos por las plataformas de las
1533
- cadenas, es muy importante completar los campos requeridos ya
1534
- que pueden rechazar el producto por falta de información.
1535
- </p>
1536
- </div>
1537
- {inCart ? (
1538
- <button type="button">
1539
- <Link to="/checkout">
1540
- <p>Articulo en carrito</p>
1541
- <p>Ir a checkout</p>
1542
- </Link>
1543
- </button>
1532
+ {isRevision() && getSectionStatus() ? (
1533
+ <div className="commentary-box">
1534
+ {!comment ? (
1535
+ <div className="commentary">
1536
+ <TagAndInput
1537
+ label={"Caja de Comentario"}
1538
+ inputType={"textarea"}
1539
+ inputCols={80}
1540
+ inputRows={4}
1541
+ inputId={"commentary-box"}
1542
+ index={0}
1543
+ />
1544
+ <div className="buttons-box">
1545
+ <Button
1546
+ buttonType={"general-transparent-button"}
1547
+ label={"Enviar comentario"}
1548
+ onClick={(e) =>
1549
+ createComment(
1550
+ e,
1551
+ document.querySelector(
1552
+ "#description-commentary-box-0 .ql-container .ql-editor > p"
1553
+ ).innerHTML,
1554
+ activeTab
1555
+ )
1556
+ }
1557
+ />
1558
+ </div>
1559
+ </div>
1544
1560
  ) : (
1545
- <>
1546
- <SliderToolTip
1547
- infoIcon={InfoIcon}
1548
- slidefront={slidefront}
1549
- iconSize={"big-image"}
1550
- slidePosition={"top-slide"}
1561
+ <div className="feedback-box">
1562
+ <Commentary
1563
+ comment={comment.message}
1564
+ reviewed={crossComment}
1551
1565
  />
1552
1566
  <Button
1553
- onClick={() => {
1554
- setShowContentohRequestModal &&
1555
- setShowContentohRequestModal(true);
1567
+ buttonType={"circular-button accept-button"}
1568
+ onClick={async () => {
1569
+ setCrossComment(true);
1570
+ commentRevised();
1556
1571
  }}
1557
- buttonType="general-default-button"
1558
- label="Enviar a Content-oh!"
1559
1572
  />
1560
- </>
1573
+ </div>
1561
1574
  )}
1562
1575
  </div>
1576
+ ) : (
1577
+ !revision && (
1578
+ <div className="required-inputs-message">
1579
+ <div>
1580
+ <p>
1581
+ Los atributos son requeridos por las plataformas de las
1582
+ cadenas, es muy importante completar los campos requeridos
1583
+ ya que pueden rechazar el producto por falta de información.
1584
+ </p>
1585
+ </div>
1586
+ {inCart ? (
1587
+ <button type="button">
1588
+ <Link to="/checkout">
1589
+ <p>Articulo en carrito</p>
1590
+ <p>Ir a checkout</p>
1591
+ </Link>
1592
+ </button>
1593
+ ) : (
1594
+ <>
1595
+ <SliderToolTip
1596
+ infoIcon={InfoIcon}
1597
+ slidefront={slidefront}
1598
+ iconSize={"big-image"}
1599
+ slidePosition={"top-slide"}
1600
+ />
1601
+ <Button
1602
+ onClick={() => {
1603
+ setShowContentohRequestModal &&
1604
+ setShowContentohRequestModal(true);
1605
+ }}
1606
+ buttonType="general-default-button"
1607
+ label="Enviar a Content-oh!"
1608
+ />
1609
+ </>
1610
+ )}
1611
+ </div>
1612
+ )
1563
1613
  )}
1564
1614
  </div>
1565
1615
  </div>
@@ -1602,48 +1652,6 @@ export const ProviderProductEdition = ({
1602
1652
  jwt={token}
1603
1653
  />
1604
1654
  )}
1605
- {showRejectModal && (
1606
- <Modal
1607
- title={"Agregar mensaje de rechazo"}
1608
- show={showRejectModal}
1609
- customComponent={
1610
- <TagAndInput
1611
- inputType={"textarea"}
1612
- inputId={"modal-message-box"}
1613
- index={0}
1614
- color={"white"}
1615
- />
1616
- }
1617
- buttons={[
1618
- <ButtonV2
1619
- key={"btn-Cancelar"}
1620
- type={"white"}
1621
- label={"Cancelar"}
1622
- size={12}
1623
- onClick={() => {
1624
- setShowRejectModal(false);
1625
- }}
1626
- />,
1627
- <ButtonV2
1628
- key={"btn-Aceptar"}
1629
- type={"pink"}
1630
- label={"Aceptar"}
1631
- size={12}
1632
- onClick={async () => {
1633
- const body = document.querySelector(
1634
- "#modal-message-box .ql-container .ql-editor > p"
1635
- ).innerHTML;
1636
- const messages = [
1637
- { type: "message", value: body?.replace(/<.*?\/?>/gm, "") },
1638
- ];
1639
- await createComment(messages, activeRetailer.id);
1640
- validatedAll ? validateAll("R") : sendToEvaluation("R");
1641
- setShowRejectModal(false);
1642
- }}
1643
- />,
1644
- ]}
1645
- />
1646
- )}
1647
1655
  </Container>
1648
1656
  );
1649
1657
  };
@@ -107,10 +107,6 @@ export const Container = styled.div`
107
107
  }
108
108
  }
109
109
  }
110
- #modal-message-box {
111
- width: 400px;
112
- height: 100px;
113
- }
114
110
  .container {
115
111
  width: 100%;
116
112
  height: 100%;
@@ -119,4 +115,4 @@ export const Container = styled.div`
119
115
  width: 100%;
120
116
  }
121
117
  }
122
- `;
118
+ `;
@@ -16,41 +16,26 @@ RetailerProductEditionDefault.args = {
16
16
  Imágenes: false,
17
17
  },
18
18
  token:
19
- "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI5YTIxMzEyOC02NDgyLTRjMTYtYTRiNi02ZTY0ZjIyNWIxYmQiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6IjlhMjEzMTI4LTY0ODItNGMxNi1hNGI2LTZlNjRmMjI1YjFiZCIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI5OGE0NzYxMy04ZGIyLTRlZjUtYjA0Mi01ZDU3MWRkZjIwMWIiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4Mzg3NTIyNiwibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTY4Mzg3ODgyNiwiaWF0IjoxNjgzODc1MjI2LCJlbWFpbCI6ImlzbWFlbDk3bG9wZXpAZ21haWwuY29tIn0.EtgmT_THMx-Zy_zB5yZK4gz6TXNTVVJEKFt5X0JK2UkGVrp_q_92YCEuejS4n976fyTez0jkwOee6IkVHLV71uZWRBDFt-3Yw4ZxfsZYPNJWhoHXGNxhMU8MCkSntfu597esBTk-VsUpstT5R7L-WJfN8viE7R-qVo-42RlPTG0TFrWA9q0oTcqjv8vbxLpOBUjiEpjmqRhg4blJZwgkGNta6MOlw1vfmisOVbo9wMvqwnCZ9xx9KMKoH9U4uNObK_JomjbvPmTmkcUXsE-wGSD7XcoSwtuhBngLC7-jiu1u8MvL_ff5Z0Qp70sSpLdUglcSS8d1Xf7j_fcZuJ5jKA",
19
+ "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhNmM0ZDNkNi0yNGE0LTQxZDQtYWQwZi1kMDg3NDM4YWI1YjYiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6ImE2YzRkM2Q2LTI0YTQtNDFkNC1hZDBmLWQwODc0MzhhYjViNiIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiIyYjU3MjZlMy04MjM2LTRmYzMtODBkMi05NWVmYmU4ODdjOTYiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4MjAxNjI5MSwibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTY4MjAxOTg5MSwiaWF0IjoxNjgyMDE2MjkxLCJlbWFpbCI6ImV0Y0Bjb250ZW50b2guY29tIn0.SCj_yp1NkGCED59JHoDSdFAOakIOvZVeC0yLwt9z0BtenDXlU0m5cUofQQonnWPM8Q70yMFEkyMGI9kQs_fz1gxrmrSc2FGefn3B_1Vymq3pQ_S1JrY_syYf88m_GtJKOywEnE6--Ef9lZhFBFKGtqRJ4H8JBa9Xb96uCjAKyEMCSURDlw37pk2RQdULlZPj17Zb6Xrqi2lwrhpI1ByptX3__UoTiZklnTXwIxM4JdU7yuhXLznaEH8NOSd2Jw-CV6FCUbYBHlnRYBQg7B5mwyVKtDQm6QpRgBTBPCvljJJpFjRKUcnon8WZiFXx1qVbkWPt2vCT1TZqqoSLdlP6lA",
20
20
  productSelected: {
21
- orderId: 14606,
22
- status: "RA",
23
- datasheet_status: "RA",
21
+ orderId: 15160,
22
+ status: "SAC",
23
+ datasheet_status: "SAC",
24
24
  prio: "none",
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
- },
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,
54
39
  },
55
40
  article: {
56
41
  category: "Puertas y Ventanas|Molduras|Molduras Madera Blanda",
@@ -80,13 +65,16 @@ RetailerProductEditionDefault.args = {
80
65
  name: "The Home Depot Merchants",
81
66
  },
82
67
  ],
68
+ statusByRetailer: {
69
+ 58: {
70
+ datasheet: "SAC",
71
+ description: "SAC",
72
+ images: "SAC",
73
+ },
74
+ },
83
75
  },
84
76
  location: {
85
- product: { articleId: 354, versionId: 3 },
86
- state: {
87
- withChat: true,
88
- chatType: "product_status",
89
- },
77
+ product: { articleId: 39290, versionId: 7 },
90
78
  },
91
79
  user: {
92
80
  id_user: 51,