contentoh-components-library 21.3.66 → 21.3.67

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 (50) 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 +127 -172
  19. package/dist/components/pages/ProviderProductEdition/index.js +175 -188
  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/CarouselImagesLogin/index.js +1 -1
  30. package/src/components/molecules/HeaderTop/index.js +6 -52
  31. package/src/components/molecules/TagAndInput/index.js +8 -10
  32. package/src/components/organisms/Chat/Chat.stories.js +0 -21
  33. package/src/components/organisms/Chat/ContainerItems/index.js +2 -18
  34. package/src/components/organisms/Chat/ContainerItems/styles.js +2 -10
  35. package/src/components/organisms/Chat/ContentChat/index.js +6 -81
  36. package/src/components/organisms/Chat/Footer/index.js +0 -11
  37. package/src/components/organisms/Chat/index.js +3 -47
  38. package/src/components/organisms/FullProductNameHeader/index.js +1 -1
  39. package/src/components/organisms/Modal/styles.js +1 -4
  40. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +130 -177
  41. package/src/components/pages/ProviderProductEdition/index.js +129 -132
  42. package/src/components/pages/ProviderProductEdition/styles.js +1 -5
  43. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +26 -38
  44. package/src/components/pages/RetailerProductEdition/index.js +135 -109
  45. package/src/components/pages/RetailerProductEdition/styles.js +0 -4
  46. package/src/components/pages/RetailerProductEdition/utils.js +0 -37
  47. package/src/index.js +0 -1
  48. package/src/components/organisms/SideModal/SideModal.stories.js +0 -23
  49. package/src/components/organisms/SideModal/index.js +0 -50
  50. 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) {
@@ -1284,7 +1278,8 @@ export const ProviderProductEdition = ({
1284
1278
  return;
1285
1279
  } else if (user.is_retailer) {
1286
1280
  if (product.id_order || product.orderId) {
1287
- sendEvaluation("R");
1281
+ setValidatedAll(true);
1282
+ showGlobalModal("error");
1288
1283
  } else {
1289
1284
  setDataGenericModal((prev) => ({
1290
1285
  ...prev,
@@ -1296,7 +1291,8 @@ export const ProviderProductEdition = ({
1296
1291
  showGlobalModal("generic");
1297
1292
  }
1298
1293
  } else {
1299
- sendEvaluation("R");
1294
+ setValidatedAll(true);
1295
+ showGlobalModal("error");
1300
1296
  }
1301
1297
  }
1302
1298
  };
@@ -1305,7 +1301,6 @@ export const ProviderProductEdition = ({
1305
1301
  <HeaderTop
1306
1302
  setHeaderTop={setHeaderTop}
1307
1303
  withChat={location?.state?.withChat}
1308
- chatType={location?.state?.chatType}
1309
1304
  productSelected={productSelected}
1310
1305
  token={token}
1311
1306
  activeRetailer={activeRetailer}
@@ -1384,7 +1379,7 @@ export const ProviderProductEdition = ({
1384
1379
  } else if (user.is_retailer) {
1385
1380
  if (product.id_order || product.orderId) {
1386
1381
  setValidatedAll(true);
1387
- setShowRejectModal(true);
1382
+ showGlobalModal("error");
1388
1383
  } else {
1389
1384
  setDataGenericModal((prev) => ({
1390
1385
  ...prev,
@@ -1396,14 +1391,12 @@ export const ProviderProductEdition = ({
1396
1391
  showGlobalModal("generic");
1397
1392
  }
1398
1393
  } else {
1399
- setShowRejectModal(true);
1400
1394
  setValidatedAll(true);
1395
+ showGlobalModal("error");
1401
1396
  }
1402
1397
  }}
1403
1398
  approve={() => sendToEvaluation("A")}
1404
- reject={() => {
1405
- setShowRejectModal(true);
1406
- }}
1399
+ reject={() => sendToEvaluation("R")}
1407
1400
  />
1408
1401
  <FullTabsMenu
1409
1402
  tabsSections={tabsSections}
@@ -1515,41 +1508,87 @@ export const ProviderProductEdition = ({
1515
1508
  </>
1516
1509
  )}
1517
1510
  </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>
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>
1534
1539
  ) : (
1535
- <>
1536
- <SliderToolTip
1537
- infoIcon={InfoIcon}
1538
- slidefront={slidefront}
1539
- iconSize={"big-image"}
1540
- slidePosition={"top-slide"}
1540
+ <div className="feedback-box">
1541
+ <Commentary
1542
+ comment={comment.message}
1543
+ reviewed={crossComment}
1541
1544
  />
1542
1545
  <Button
1543
- onClick={() => {
1544
- setShowContentohRequestModal &&
1545
- setShowContentohRequestModal(true);
1546
+ buttonType={"circular-button accept-button"}
1547
+ onClick={async () => {
1548
+ setCrossComment(true);
1549
+ commentRevised();
1546
1550
  }}
1547
- buttonType="general-default-button"
1548
- label="Enviar a Content-oh!"
1549
1551
  />
1550
- </>
1552
+ </div>
1551
1553
  )}
1552
1554
  </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
+ )
1553
1592
  )}
1554
1593
  </div>
1555
1594
  </div>
@@ -1592,48 +1631,6 @@ export const ProviderProductEdition = ({
1592
1631
  jwt={token}
1593
1632
  />
1594
1633
  )}
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
1634
  </Container>
1638
1635
  );
1639
1636
  };
@@ -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,