contentoh-components-library 21.3.66 → 21.3.68

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 (51) hide show
  1. package/.env.development +0 -2
  2. package/dist/assets/fonts/roboto/LICENSE.txt +202 -0
  3. package/dist/components/atoms/ButtonV2/styles.js +1 -1
  4. package/dist/components/atoms/InputFormatter/styles.js +1 -1
  5. package/dist/components/molecules/CarouselImagesLogin/index.js +1 -1
  6. package/dist/components/molecules/HeaderTop/index.js +11 -68
  7. package/dist/components/molecules/TagAndInput/index.js +1 -1
  8. package/dist/components/organisms/Chat/Chat.stories.js +1 -21
  9. package/dist/components/organisms/Chat/ContainerItems/index.js +3 -19
  10. package/dist/components/organisms/Chat/ContainerItems/styles.js +1 -1
  11. package/dist/components/organisms/Chat/ContentChat/index.js +191 -343
  12. package/dist/components/organisms/Chat/Footer/index.js +39 -48
  13. package/dist/components/organisms/Chat/index.js +3 -48
  14. package/dist/components/organisms/FullProductNameHeader/index.js +2 -2
  15. package/dist/components/organisms/Modal/styles.js +1 -1
  16. package/dist/components/organisms/SideModal/index.js +0 -11
  17. package/dist/components/organisms/SideModal/styles.js +1 -1
  18. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +96 -171
  19. package/dist/components/pages/ProviderProductEdition/index.js +182 -191
  20. package/dist/components/pages/ProviderProductEdition/styles.js +1 -1
  21. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +28 -40
  22. package/dist/components/pages/RetailerProductEdition/index.js +273 -265
  23. package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
  24. package/dist/components/pages/RetailerProductEdition/utils.js +2 -61
  25. package/dist/index.js +0 -13
  26. package/package.json +1 -1
  27. package/src/components/atoms/ButtonV2/styles.js +1 -1
  28. package/src/components/atoms/InputFormatter/styles.js +1 -2
  29. package/src/components/molecules/AvatarAndValidation/index.js +1 -1
  30. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  31. package/src/components/molecules/HeaderTop/index.js +6 -52
  32. package/src/components/molecules/TagAndInput/index.js +8 -10
  33. package/src/components/organisms/Chat/Chat.stories.js +0 -21
  34. package/src/components/organisms/Chat/ContainerItems/index.js +2 -18
  35. package/src/components/organisms/Chat/ContainerItems/styles.js +2 -10
  36. package/src/components/organisms/Chat/ContentChat/index.js +6 -81
  37. package/src/components/organisms/Chat/Footer/index.js +0 -11
  38. package/src/components/organisms/Chat/index.js +3 -47
  39. package/src/components/organisms/FullProductNameHeader/index.js +1 -1
  40. package/src/components/organisms/Modal/styles.js +1 -4
  41. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +98 -181
  42. package/src/components/pages/ProviderProductEdition/index.js +133 -135
  43. package/src/components/pages/ProviderProductEdition/styles.js +1 -5
  44. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +26 -38
  45. package/src/components/pages/RetailerProductEdition/index.js +135 -109
  46. package/src/components/pages/RetailerProductEdition/styles.js +0 -4
  47. package/src/components/pages/RetailerProductEdition/utils.js +0 -37
  48. package/src/index.js +0 -1
  49. package/src/components/organisms/SideModal/SideModal.stories.js +0 -23
  50. package/src/components/organisms/SideModal/index.js +0 -50
  51. 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,
@@ -346,6 +342,28 @@ export const ProviderProductEdition = ({
346
342
  (type) => {
347
343
  const formatter = new Intl.ListFormat("es", { type: "conjunction" });
348
344
  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;
349
367
  case "generic":
350
368
  setGlobalModal(dataGenericModal);
351
369
  break;
@@ -505,9 +523,7 @@ export const ProviderProductEdition = ({
505
523
  );
506
524
  setServicesData(parsedResponse);
507
525
  }
508
- retailers &&
509
- !activeRetailer.id &&
510
- setActiveRetailer(active ? active : retailers[0]);
526
+ !activeRetailer.id && setActiveRetailer(active ? active : retailers[0]);
511
527
  };
512
528
 
513
529
  const isRevision = () => {
@@ -583,7 +599,7 @@ export const ProviderProductEdition = ({
583
599
  });
584
600
  }
585
601
  setProduct(productTemp);
586
- retailers && setActivePercentage(retailers[0]?.percentage);
602
+ setActivePercentage(retailers[0]?.percentage);
587
603
  }, [percentages]);
588
604
 
589
605
  const loadInputs = () => {
@@ -824,19 +840,32 @@ export const ProviderProductEdition = ({
824
840
  }
825
841
  };
826
842
 
827
- const createComment = async (messages = [], retailerId) => {
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
+ }
828
857
  const data = {
829
- paramsBody: {
830
- id: product.article.id_article || productEdit.ArticleId,
831
- version: version,
832
- items: messages,
833
- retailerId: retailerId,
834
- status: product.status || productEdit.product.status,
835
- },
836
- paramsHeader: { Authorization: token },
858
+ articleId: product?.id_article,
859
+ orderId: product?.orderId,
860
+ message: body,
861
+ concept: concept,
862
+ version: version,
837
863
  };
838
- setMessage("");
839
- return sendMessage(data);
864
+ await axios.post(`${process.env.REACT_APP_COMMENTS_ENDPOINT}`, data, {
865
+ headers: {
866
+ Authorization: token,
867
+ },
868
+ });
840
869
  };
841
870
 
842
871
  useEffect(() => {
@@ -1036,27 +1065,6 @@ export const ProviderProductEdition = ({
1036
1065
  const { newArticleStatus, newServiceStatus, newStatus } = JSON.parse(
1037
1066
  res.data.body
1038
1067
  );
1039
-
1040
- const message = createMessage(
1041
- product.retailers || product.retailersAvailable,
1042
- activeRetailer.id,
1043
- product[sectionStatusKey],
1044
- newStatus,
1045
- activeTab
1046
- );
1047
-
1048
- const messageData = {
1049
- paramsBody: {
1050
- id: product.article.id_article || productEdit.ArticleId,
1051
- version: version,
1052
- items: [{ type: "status", value: message }],
1053
- retailerId: activeRetailer.id,
1054
- status: product.status || productEdit.product.status,
1055
- },
1056
- paramsHeader: { Authorization: token },
1057
- };
1058
- await sendMessage(messageData);
1059
-
1060
1068
  if (newArticleStatus) productTemp.status = newArticleStatus[articleId];
1061
1069
  const retailerStatusCopy = { ...retailerStatus };
1062
1070
  retailerStatusCopy[activeRetailer.id][concept] = newStatus;
@@ -1088,7 +1096,6 @@ export const ProviderProductEdition = ({
1088
1096
  result,
1089
1097
  isAproved: result === "A",
1090
1098
  };
1091
- const messages = [];
1092
1099
  servicesData?.forEach((ret) => {
1093
1100
  const { service, id_retailer } = ret;
1094
1101
  let data = {};
@@ -1105,18 +1112,6 @@ export const ProviderProductEdition = ({
1105
1112
  },
1106
1113
  })
1107
1114
  );
1108
- if (product[`${ret.service}_status`] !== "NS") {
1109
- const message = createMessage(
1110
- product.retailers,
1111
- ret.id_retailer,
1112
- product[`${ret.service}_status`],
1113
- `${result}A`,
1114
- ret.service
1115
- );
1116
- messages.push(
1117
- createComment([{ type: "status", value: message }], ret.id_retailer)
1118
- );
1119
- }
1120
1115
  });
1121
1116
  await Promise.all(evaluationArray);
1122
1117
  const userType = user.is_retailer === 1 ? "CA" : "P";
@@ -1156,7 +1151,6 @@ export const ProviderProductEdition = ({
1156
1151
  product: productTemp,
1157
1152
  })
1158
1153
  );
1159
- await Promise.all(messages);
1160
1154
 
1161
1155
  await loadData();
1162
1156
  } catch (error) {
@@ -1245,6 +1239,7 @@ export const ProviderProductEdition = ({
1245
1239
  },
1246
1240
  ];
1247
1241
  const sendToEvaluation = (result) => {
1242
+ console.log({ result });
1248
1243
  if (result === "A") {
1249
1244
  if (
1250
1245
  origin[activeTab] === "RequestWithoutContentoh" &&
@@ -1277,14 +1272,15 @@ export const ProviderProductEdition = ({
1277
1272
  }
1278
1273
  } else {
1279
1274
  if (
1280
- originProp === "RequestWithoutContentoh" &&
1275
+ origin === "RequestWithoutContentoh" &&
1281
1276
  !user.is_retailer &&
1282
1277
  (!product.id_order || !product.orderId)
1283
1278
  ) {
1284
1279
  return;
1285
1280
  } else if (user.is_retailer) {
1286
1281
  if (product.id_order || product.orderId) {
1287
- sendEvaluation("R");
1282
+ setValidatedAll(true);
1283
+ showGlobalModal("error");
1288
1284
  } else {
1289
1285
  setDataGenericModal((prev) => ({
1290
1286
  ...prev,
@@ -1296,7 +1292,8 @@ export const ProviderProductEdition = ({
1296
1292
  showGlobalModal("generic");
1297
1293
  }
1298
1294
  } else {
1299
- sendEvaluation("R");
1295
+ setValidatedAll(true);
1296
+ showGlobalModal("error");
1300
1297
  }
1301
1298
  }
1302
1299
  };
@@ -1305,7 +1302,6 @@ export const ProviderProductEdition = ({
1305
1302
  <HeaderTop
1306
1303
  setHeaderTop={setHeaderTop}
1307
1304
  withChat={location?.state?.withChat}
1308
- chatType={location?.state?.chatType}
1309
1305
  productSelected={productSelected}
1310
1306
  token={token}
1311
1307
  activeRetailer={activeRetailer}
@@ -1345,7 +1341,7 @@ export const ProviderProductEdition = ({
1345
1341
  showApproveRejectAll={isRevision() && getSectionStatus()}
1346
1342
  approveAll={() => {
1347
1343
  if (
1348
- originProp === "RequestWithoutContentoh" &&
1344
+ origin === "RequestWithoutContentoh" &&
1349
1345
  !user.is_retailer &&
1350
1346
  (!product.id_order || !product.orderId)
1351
1347
  ) {
@@ -1376,7 +1372,7 @@ export const ProviderProductEdition = ({
1376
1372
  }}
1377
1373
  rejectAll={() => {
1378
1374
  if (
1379
- originProp === "RequestWithoutContentoh" &&
1375
+ origin === "RequestWithoutContentoh" &&
1380
1376
  !user.is_retailer &&
1381
1377
  (!product.id_order || !product.orderId)
1382
1378
  ) {
@@ -1384,7 +1380,7 @@ export const ProviderProductEdition = ({
1384
1380
  } else if (user.is_retailer) {
1385
1381
  if (product.id_order || product.orderId) {
1386
1382
  setValidatedAll(true);
1387
- setShowRejectModal(true);
1383
+ showGlobalModal("error");
1388
1384
  } else {
1389
1385
  setDataGenericModal((prev) => ({
1390
1386
  ...prev,
@@ -1396,14 +1392,12 @@ export const ProviderProductEdition = ({
1396
1392
  showGlobalModal("generic");
1397
1393
  }
1398
1394
  } else {
1399
- setShowRejectModal(true);
1400
1395
  setValidatedAll(true);
1396
+ showGlobalModal("error");
1401
1397
  }
1402
1398
  }}
1403
1399
  approve={() => sendToEvaluation("A")}
1404
- reject={() => {
1405
- setShowRejectModal(true);
1406
- }}
1400
+ reject={() => sendToEvaluation("R")}
1407
1401
  />
1408
1402
  <FullTabsMenu
1409
1403
  tabsSections={tabsSections}
@@ -1515,41 +1509,87 @@ export const ProviderProductEdition = ({
1515
1509
  </>
1516
1510
  )}
1517
1511
  </div>
1518
- {!(isRevision() && getSectionStatus()) && !revision && (
1519
- <div className="required-inputs-message">
1520
- <div>
1521
- <p>
1522
- Los atributos son requeridos por las plataformas de las
1523
- cadenas, es muy importante completar los campos requeridos ya
1524
- que pueden rechazar el producto por falta de información.
1525
- </p>
1526
- </div>
1527
- {inCart ? (
1528
- <button type="button">
1529
- <Link to="/checkout">
1530
- <p>Articulo en carrito</p>
1531
- <p>Ir a checkout</p>
1532
- </Link>
1533
- </button>
1512
+ {isRevision() && getSectionStatus() ? (
1513
+ <div className="commentary-box">
1514
+ {!comment ? (
1515
+ <div className="commentary">
1516
+ <TagAndInput
1517
+ label={"Caja de Comentario"}
1518
+ inputType={"textarea"}
1519
+ inputCols={80}
1520
+ inputRows={4}
1521
+ inputId={"commentary-box"}
1522
+ index={0}
1523
+ />
1524
+ <div className="buttons-box">
1525
+ <Button
1526
+ buttonType={"general-transparent-button"}
1527
+ label={"Enviar comentario"}
1528
+ onClick={(e) =>
1529
+ createComment(
1530
+ e,
1531
+ document.querySelector(
1532
+ "#description-commentary-box-0 .ql-container .ql-editor > p"
1533
+ ).innerHTML,
1534
+ activeTab
1535
+ )
1536
+ }
1537
+ />
1538
+ </div>
1539
+ </div>
1534
1540
  ) : (
1535
- <>
1536
- <SliderToolTip
1537
- infoIcon={InfoIcon}
1538
- slidefront={slidefront}
1539
- iconSize={"big-image"}
1540
- slidePosition={"top-slide"}
1541
+ <div className="feedback-box">
1542
+ <Commentary
1543
+ comment={comment.message}
1544
+ reviewed={crossComment}
1541
1545
  />
1542
1546
  <Button
1543
- onClick={() => {
1544
- setShowContentohRequestModal &&
1545
- setShowContentohRequestModal(true);
1547
+ buttonType={"circular-button accept-button"}
1548
+ onClick={async () => {
1549
+ setCrossComment(true);
1550
+ commentRevised();
1546
1551
  }}
1547
- buttonType="general-default-button"
1548
- label="Enviar a Content-oh!"
1549
1552
  />
1550
- </>
1553
+ </div>
1551
1554
  )}
1552
1555
  </div>
1556
+ ) : (
1557
+ !revision && (
1558
+ <div className="required-inputs-message">
1559
+ <div>
1560
+ <p>
1561
+ Los atributos son requeridos por las plataformas de las
1562
+ cadenas, es muy importante completar los campos requeridos
1563
+ ya que pueden rechazar el producto por falta de información.
1564
+ </p>
1565
+ </div>
1566
+ {inCart ? (
1567
+ <button type="button">
1568
+ <Link to="/checkout">
1569
+ <p>Articulo en carrito</p>
1570
+ <p>Ir a checkout</p>
1571
+ </Link>
1572
+ </button>
1573
+ ) : (
1574
+ <>
1575
+ <SliderToolTip
1576
+ infoIcon={InfoIcon}
1577
+ slidefront={slidefront}
1578
+ iconSize={"big-image"}
1579
+ slidePosition={"top-slide"}
1580
+ />
1581
+ <Button
1582
+ onClick={() => {
1583
+ setShowContentohRequestModal &&
1584
+ setShowContentohRequestModal(true);
1585
+ }}
1586
+ buttonType="general-default-button"
1587
+ label="Enviar a Content-oh!"
1588
+ />
1589
+ </>
1590
+ )}
1591
+ </div>
1592
+ )
1553
1593
  )}
1554
1594
  </div>
1555
1595
  </div>
@@ -1592,48 +1632,6 @@ export const ProviderProductEdition = ({
1592
1632
  jwt={token}
1593
1633
  />
1594
1634
  )}
1595
- {showRejectModal && (
1596
- <Modal
1597
- title={"Agregar mensaje de rechazo"}
1598
- show={showRejectModal}
1599
- customComponent={
1600
- <TagAndInput
1601
- inputType={"textarea"}
1602
- inputId={"modal-message-box"}
1603
- index={0}
1604
- color={"white"}
1605
- />
1606
- }
1607
- buttons={[
1608
- <ButtonV2
1609
- key={"btn-Cancelar"}
1610
- type={"white"}
1611
- label={"Cancelar"}
1612
- size={12}
1613
- onClick={() => {
1614
- setShowRejectModal(false);
1615
- }}
1616
- />,
1617
- <ButtonV2
1618
- key={"btn-Aceptar"}
1619
- type={"pink"}
1620
- label={"Aceptar"}
1621
- size={12}
1622
- onClick={async () => {
1623
- const body = document.querySelector(
1624
- "#modal-message-box .ql-container .ql-editor > p"
1625
- ).innerHTML;
1626
- const messages = [
1627
- { type: "message", value: body?.replace(/<.*?\/?>/gm, "") },
1628
- ];
1629
- await createComment(messages, activeRetailer.id);
1630
- validatedAll ? validateAll("R") : sendToEvaluation("R");
1631
- setShowRejectModal(false);
1632
- }}
1633
- />,
1634
- ]}
1635
- />
1636
- )}
1637
1635
  </Container>
1638
1636
  );
1639
1637
  };
@@ -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,