contentoh-components-library 21.4.83 → 21.4.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 (24) hide show
  1. package/dist/components/molecules/ProductNameHeader/index.js +8 -3
  2. package/dist/components/organisms/EditGroup/index.js +0 -11
  3. package/dist/components/organisms/FullProductNameHeader/index.js +3 -1
  4. package/dist/components/organisms/VersionSelector/index.js +101 -169
  5. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +34 -38
  6. package/dist/components/pages/ProviderProductEdition/index.js +71 -53
  7. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +47 -52
  8. package/dist/components/pages/RetailerProductEdition/index.js +101 -177
  9. package/dist/global-files/data.js +11 -26
  10. package/package.json +2 -1
  11. package/src/components/atoms/GeneralButton/styles.js +1 -0
  12. package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +20 -0
  13. package/src/components/atoms/ObservationFlag/index.js +33 -0
  14. package/src/components/atoms/ObservationFlag/styles.js +3 -0
  15. package/src/components/atoms/TabSection/index.js +1 -1
  16. package/src/components/molecules/ProductNameHeader/index.js +5 -1
  17. package/src/components/organisms/EditGroup/index.js +0 -8
  18. package/src/components/organisms/FullProductNameHeader/index.js +2 -0
  19. package/src/components/organisms/VersionSelector/index.js +100 -100
  20. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +39 -29
  21. package/src/components/pages/ProviderProductEdition/index.js +34 -21
  22. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +48 -52
  23. package/src/components/pages/RetailerProductEdition/index.js +32 -144
  24. package/src/global-files/data.js +7 -33
@@ -43,7 +43,6 @@ export const EditGroup = ({ token, show, onClose }) => {
43
43
  const [newGroup, setNewGroup] = useState(false);
44
44
  const [currentEditIndex, setCurrentEditIndex] = useState(null);
45
45
  const [inputValue, setInputValue] = useState([]);
46
- const [shouldClose, setShouldClose] = useState(false);
47
46
 
48
47
  useEffect(() => {}, [groups]);
49
48
 
@@ -51,12 +50,6 @@ export const EditGroup = ({ token, show, onClose }) => {
51
50
  loadData();
52
51
  }, []);
53
52
 
54
- useEffect(() => {
55
- if (shouldClose) {
56
- onClose && onClose();
57
- }
58
- }, [shouldClose, onClose]);
59
-
60
53
  const loadData = async () => {
61
54
  try {
62
55
  const response = await axios.post(
@@ -241,7 +234,6 @@ export const EditGroup = ({ token, show, onClose }) => {
241
234
  backgroundColor: "transparent",
242
235
  zIndex: 10,
243
236
  }}
244
- onClick={onClose}
245
237
  >
246
238
  <Fade in={show} timeout={400}>
247
239
  <Container>
@@ -17,6 +17,7 @@ export const FullProductNameHeader = ({
17
17
  rejectAll,
18
18
  servicesData,
19
19
  showApproveRejectAll,
20
+ productObservation
20
21
  }) => {
21
22
  const [retailers, setRetailers] = useState([]);
22
23
 
@@ -52,6 +53,7 @@ export const FullProductNameHeader = ({
52
53
  percentRequired={percent}
53
54
  percent={percent?.toFixed(0)}
54
55
  priority={headerData?.prio}
56
+ productObservation={productObservation}
55
57
  date={getTime(headerData?.article?.timestamp || headerData?.timestamp)}
56
58
  />
57
59
  <div className="features-bar-container">
@@ -1,106 +1,106 @@
1
- import { Container } from "./styles";
2
- import axios from "axios";
3
- import { useEffect, useState } from "react";
4
- import { ScreenHeader } from "../../atoms/ScreenHeader";
5
- import { Button } from "../../atoms/GeneralButton";
6
- import addVersion from "../../../assets/images/versionSelector/addVersion.svg";
7
- import closeIcon from "../../../assets/images/versionSelector/closeVersionSelector.svg";
8
- import { GlobalColors } from "../../../../dist/global-files/variables";
9
- import { FontFamily } from "../../../global-files/variables";
10
- import { VersionItem } from "../../molecules/VersionItem";
11
- import { CreateVersion } from "../../organisms/CreateVersion";
12
- import { useCloseModal } from "../../../global-files/customHooks";
1
+ // import { Container } from "./styles";
2
+ // import axios from "axios";
3
+ // import { useEffect, useState } from "react";
4
+ // import { ScreenHeader } from "../../atoms/ScreenHeader";
5
+ // import { Button } from "../../atoms/GeneralButton";
6
+ // import addVersion from "../../../assets/images/versionSelector/addVersion.svg";
7
+ // import closeIcon from "../../../assets/images/versionSelector/closeVersionSelector.svg";
8
+ // import { GlobalColors } from "../../../../dist/global-files/variables";
9
+ // import { FontFamily } from "../../../global-files/variables";
10
+ // import { VersionItem } from "../../molecules/VersionItem";
11
+ // import { CreateVersion } from "../../organisms/CreateVersion";
12
+ // import { useCloseModal } from "../../../global-files/customHooks";
13
13
 
14
- export const VersionSelector = ({
15
- modalId,
16
- articleId,
17
- setVersion,
18
- companyName,
19
- currentVersion,
20
- setShowVersionSelector,
21
- jwt,
22
- }) => {
23
- const [versions, setVersions] = useState([]);
24
- const [showCreateVersion, setShowCreateVersion] =
25
- useCloseModal("create-version");
26
- const [reload, setReload] = useState(false);
14
+ // export const VersionSelector = ({
15
+ // modalId,
16
+ // articleId,
17
+ // setVersion,
18
+ // companyName,
19
+ // currentVersion,
20
+ // setShowVersionSelector,
21
+ // jwt,
22
+ // }) => {
23
+ // const [versions, setVersions] = useState([]);
24
+ // const [showCreateVersion, setShowCreateVersion] =
25
+ // useCloseModal("create-version");
26
+ // const [reload, setReload] = useState(false);
27
27
 
28
- const loadProductVersions = async (articleId) => {
29
- try {
30
- const response = await axios.get(
31
- `${process.env.REACT_APP_VERSIONS_ENDPOINT}?articleId=${articleId}&provider=true`,
32
- {
33
- headers: {
34
- Authorization: jwt,
35
- },
36
- }
37
- );
28
+ // const loadProductVersions = async (articleId) => {
29
+ // try {
30
+ // const response = await axios.get(
31
+ // `${process.env.REACT_APP_VERSIONS_ENDPOINT}?articleId=${articleId}&provider=true`,
32
+ // {
33
+ // headers: {
34
+ // Authorization: jwt,
35
+ // },
36
+ // }
37
+ // );
38
38
 
39
- const versionList = JSON.parse(response.data.body).data;
40
- setVersions(versionList);
41
- } catch (error) {
42
- console.log(error);
43
- }
44
- };
39
+ // const versionList = JSON.parse(response.data.body).data;
40
+ // setVersions(versionList);
41
+ // } catch (error) {
42
+ // console.log(error);
43
+ // }
44
+ // };
45
45
 
46
- useEffect(() => {
47
- const ac = new AbortController();
48
- loadProductVersions(articleId);
46
+ // useEffect(() => {
47
+ // const ac = new AbortController();
48
+ // loadProductVersions(articleId);
49
49
 
50
- return () => {
51
- setVersions([]);
52
- setShowCreateVersion(false);
53
- return () => ac.abort(); // Abort both fetches on unmount
54
- };
55
- }, [reload]);
50
+ // return () => {
51
+ // setVersions([]);
52
+ // setShowCreateVersion(false);
53
+ // return () => ac.abort(); // Abort both fetches on unmount
54
+ // };
55
+ // }, [reload]);
56
56
 
57
- return (
58
- <Container id={modalId}>
59
- <div className="versions-header">
60
- <ScreenHeader
61
- text={"Versión del producto"}
62
- headerType={"input-name-header"}
63
- color={GlobalColors.white}
64
- fontFamily={FontFamily.Lato}
65
- />
66
- <div className="buttons-container">
67
- <Button
68
- image={addVersion}
69
- buttonType={"circular-button"}
70
- onClick={() => setShowCreateVersion(true)}
71
- id="add-version"
72
- />
73
- <Button
74
- image={closeIcon}
75
- buttonType={"circular-button"}
76
- onClick={() => setShowVersionSelector(false)}
77
- id="close-button"
78
- />
79
- </div>
80
- </div>
81
- <div className="versions-container">
82
- {versions?.map((item) => (
83
- <VersionItem
84
- key={item.version}
85
- version={item.version}
86
- articleStatus={item.article_status}
87
- currentVersion={item.version === currentVersion}
88
- productOwner={companyName}
89
- setVersion={setVersion}
90
- timestamp={item.timestamp}
91
- />
92
- ))}
93
- </div>
94
- {showCreateVersion && (
95
- <CreateVersion
96
- articleId={articleId}
97
- version={currentVersion}
98
- versionsList={versions}
99
- setShowCreateVersion={setShowCreateVersion}
100
- realoadVersion={() => setReload(!reload)}
101
- jwt={jwt}
102
- />
103
- )}
104
- </Container>
105
- );
106
- };
57
+ // return (
58
+ // <Container id={modalId}>
59
+ // <div className="versions-header">
60
+ // <ScreenHeader
61
+ // text={"Versión del producto"}
62
+ // headerType={"input-name-header"}
63
+ // color={GlobalColors.white}
64
+ // fontFamily={FontFamily.Lato}
65
+ // />
66
+ // <div className="buttons-container">
67
+ // <Button
68
+ // image={addVersion}
69
+ // buttonType={"circular-button"}
70
+ // onClick={() => setShowCreateVersion(true)}
71
+ // id="add-version"
72
+ // />
73
+ // <Button
74
+ // image={closeIcon}
75
+ // buttonType={"circular-button"}
76
+ // onClick={() => setShowVersionSelector(false)}
77
+ // id="close-button"
78
+ // />
79
+ // </div>
80
+ // </div>
81
+ // <div className="versions-container">
82
+ // {versions?.map((item) => (
83
+ // <VersionItem
84
+ // key={item.version}
85
+ // version={item.version}
86
+ // articleStatus={item.article_status}
87
+ // currentVersion={item.version === currentVersion}
88
+ // productOwner={companyName}
89
+ // setVersion={setVersion}
90
+ // timestamp={item.timestamp}
91
+ // />
92
+ // ))}
93
+ // </div>
94
+ // {showCreateVersion && (
95
+ // <CreateVersion
96
+ // articleId={articleId}
97
+ // version={currentVersion}
98
+ // versionsList={versions}
99
+ // setShowCreateVersion={setShowCreateVersion}
100
+ // realoadVersion={() => setReload(!reload)}
101
+ // jwt={jwt}
102
+ // />
103
+ // )}
104
+ // </Container>
105
+ // );
106
+ // };
@@ -21,38 +21,54 @@ ProviderProductEditionDefault.args = {
21
21
  category: 287,
22
22
  version: 1,
23
23
  productSelected: {
24
- id_article: 39550,
25
- upc: 43654697,
26
- name: "Campana de Cocina",
27
- timestamp: "2023-08-04T22:23:40.000Z",
28
- categoryName:
29
- "Ferretería|Ferretería General|Tornillos, Tuercas y Arandelas",
30
- id_category: 287,
24
+ category: "Accesorios Decorativos|Accesorios Decorativos",
25
+ company_name: "Demo",
26
+ company_id: 923,
27
+ id_category: "2028",
28
+ id_article: 118465,
29
+ name: "VELA AROMA 18 OZ MAN/CAN",
30
+ upc: "Modelo6",
31
+ isVisible: 1,
32
+ retailers: [
33
+ {
34
+ id: 68,
35
+ name: "The Home Depot Onboarding",
36
+ },
37
+ ],
31
38
  version: 1,
32
39
  retailersAvailable: [
33
- { name: "The Home Depot Golden", id: 58 },
34
- { name: "The Home Depot Onboarding", id: 68 },
40
+ {
41
+ id: 68,
42
+ name: "The Home Depot Onboarding",
43
+ },
35
44
  ],
36
- percentage: "89",
37
45
  },
38
46
  productToEdit: {
39
- idCategory: 287,
40
- ArticleId: 39550,
47
+ idCategory: "2028",
48
+ ArticleId: 118465,
41
49
  product: [
42
50
  {
43
- id_article: 39550,
44
- upc: 43654697,
45
- name: "Campana de Cocina",
46
- timestamp: "2023-08-04T22:23:40.000Z",
47
- categoryName:
48
- "Ferretería|Ferretería General|Tornillos, Tuercas y Arandelas",
49
- id_category: 287,
51
+ category: "Accesorios Decorativos|Accesorios Decorativos",
52
+ company_name: "Demo",
53
+ company_id: 923,
54
+ id_category: "2028",
55
+ id_article: 118465,
56
+ name: "VELA AROMA 18 OZ MAN/CAN",
57
+ upc: "Modelo6",
58
+ isVisible: 1,
59
+ retailers: [
60
+ {
61
+ id: 68,
62
+ name: "The Home Depot Onboarding",
63
+ },
64
+ ],
50
65
  version: 1,
51
66
  retailersAvailable: [
52
- { name: "The Home Depot Golden", id: 58, percentage: 100 },
53
- { name: "The Home Depot Onboarding", id: 68, percentage: 78 },
67
+ {
68
+ id: 68,
69
+ name: "The Home Depot Onboarding",
70
+ },
54
71
  ],
55
- percentage: "89",
56
72
  },
57
73
  ],
58
74
  },
@@ -99,7 +115,7 @@ ProviderProductEditionDefault.args = {
99
115
  products_limit: "5000",
100
116
  type: "Enterprise",
101
117
  },
102
- src: "https://content-management-profile.s3.amazonaws.com/id-191/191.png?1697171804447",
118
+ src: "https://content-management-profile.s3.amazonaws.com/id-191/191.png?1701729602068",
103
119
  },
104
120
  company: {
105
121
  id_company: 923,
@@ -119,9 +135,6 @@ ProviderProductEditionDefault.args = {
119
135
  id: 68,
120
136
  name: "The Home Depot Onboarding",
121
137
  country: "México",
122
- id_region: 1,
123
- active: 1,
124
- flow: 1,
125
138
  },
126
139
  ],
127
140
  retailers: [
@@ -129,9 +142,6 @@ ProviderProductEditionDefault.args = {
129
142
  id: 68,
130
143
  name: "The Home Depot Onboarding",
131
144
  country: "México",
132
- id_region: 1,
133
- active: 1,
134
- flow: 1,
135
145
  },
136
146
  ],
137
147
  },
@@ -82,19 +82,26 @@ const reducerImages = (state, action) => {
82
82
  );
83
83
  return { ...state, values };
84
84
  case "orderImages": {
85
- let { inputsByRetailer, valuesInitial, inputsInitial, inputs } = state;
85
+ let {
86
+ inputsByRetailer = {},
87
+ valuesInitial,
88
+ inputsInitial,
89
+ inputs,
90
+ } = state;
86
91
  try {
87
92
  const orderedImages = [];
88
93
  const imageIdArray = [];
89
- if (action?.retailerId && !inputsByRetailer[action.retailerId])
94
+ if (action?.retailerId && !inputsByRetailer[action.retailerId]) {
90
95
  inputsByRetailer[action.retailerId] = [];
91
- action.retailerId &&
96
+ }
97
+ if (action.retailerId) {
92
98
  inputsByRetailer[action.retailerId]?.filter((input) => {
93
99
  imageIdArray.push(input.id_image);
94
100
  valuesInitial.forEach((value) => {
95
101
  if (value.image_id === input.id_image) orderedImages.push(value);
96
102
  });
97
103
  });
104
+ }
98
105
 
99
106
  inputs = inputsInitial?.filter((input) =>
100
107
  imageIdArray.includes(input.id)
@@ -102,7 +109,7 @@ const reducerImages = (state, action) => {
102
109
 
103
110
  values = orderedImages.length > 0 ? orderedImages : [];
104
111
  } catch (error) {
105
- console.log(error);
112
+ console.log(action.action, error);
106
113
  }
107
114
  return { ...state, values, inputs };
108
115
  }
@@ -485,7 +492,20 @@ export const ProviderProductEdition = ({
485
492
 
486
493
  setImages({ action: "init", init: services[2] });
487
494
  if (services[2]?.values?.length > 0) setActiveImage(0);
488
- getPercentage({ data: [product] }).then((res) => setPercentages(res[0]));
495
+ const data = [
496
+ {
497
+ id_article: product.id_article,
498
+ id_category: product.id_category,
499
+ version: product.version,
500
+ id_retailer_array: (
501
+ product.retailersAvailable ?? product.retailers
502
+ ).map(({ id }) => id),
503
+ },
504
+ ];
505
+ const headers = { Authorization: token };
506
+ getPercentage({ data, headers }).then((res) => {
507
+ setPercentages(res[0]);
508
+ });
489
509
  setLoading(false);
490
510
  };
491
511
 
@@ -545,12 +565,14 @@ export const ProviderProductEdition = ({
545
565
  };
546
566
 
547
567
  const getCart = async () => {
548
- const res = await axios.get(process.env.REACT_APP_CART, {
568
+ const res = await axios.get(`${process.env.REACT_APP_CART}/general/`, {
549
569
  headers: {
550
570
  Authorization: token,
551
571
  },
552
572
  });
553
- const arr = JSON.parse(res.data.body).data.map((e) => e.article_id);
573
+ const arr = Object.values(JSON.parse(res.data.body).data)
574
+ ?.map((e) => e.article_id)
575
+ .filter(Boolean);
554
576
  setInCart(arr.some((e) => e.articleId === product.id_article));
555
577
  };
556
578
 
@@ -648,7 +670,7 @@ export const ProviderProductEdition = ({
648
670
  value: e?.id,
649
671
  name: e?.name,
650
672
  required: e?.required,
651
- active: images?.values.some((value) => value?.image_id === e?.id),
673
+ active: images?.values?.some((value) => value?.image_id === e?.id),
652
674
  }));
653
675
  setSocketType(imageInputs);
654
676
  }, [images]);
@@ -692,7 +714,7 @@ export const ProviderProductEdition = ({
692
714
  attributeId,
693
715
  value: valueOfAtribute,
694
716
  boxId,
695
- })
717
+ });
696
718
  });
697
719
  });
698
720
 
@@ -700,8 +722,8 @@ export const ProviderProductEdition = ({
700
722
  articleId: product?.id_article,
701
723
  articleData: updatedDatasheets,
702
724
  ...(parseBoxData.length > 0 && { boxData: parseBoxData }),
703
- };
704
-
725
+ };
726
+
705
727
  if (product?.orderId) dataObject["orderId"] = product?.orderId;
706
728
  try {
707
729
  const res = await axios.put(
@@ -720,8 +742,7 @@ export const ProviderProductEdition = ({
720
742
  }
721
743
  } catch (error) {
722
744
  console.log(error);
723
- }
724
- console.log(dataObject)
745
+ }
725
746
  };
726
747
 
727
748
  const updateImages = useCallback(async () => {
@@ -1154,13 +1175,6 @@ export const ProviderProductEdition = ({
1154
1175
  }
1155
1176
  };
1156
1177
 
1157
-
1158
-
1159
-
1160
-
1161
-
1162
-
1163
-
1164
1178
  const evaluationToRetailer = async (result) => {
1165
1179
  const data = {
1166
1180
  articleId: product.id_article,
@@ -1240,7 +1254,6 @@ export const ProviderProductEdition = ({
1240
1254
  },
1241
1255
  ];
1242
1256
  const sendToEvaluation = (result) => {
1243
- console.log({ result });
1244
1257
  if (result === "A") {
1245
1258
  if (
1246
1259
  origin[activeTab] === "RequestWithoutContentoh" &&
@@ -16,64 +16,60 @@ 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.eyJzdWIiOiI5YTIxMzEyOC02NDgyLTRjMTYtYTRiNi02ZTY0ZjIyNWIxYmQiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6IjlhMjEzMTI4LTY0ODItNGMxNi1hNGI2LTZlNjRmMjI1YjFiZCIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiIxMGZiNTE4Mi1jMGI5LTQyZGUtYTAyZC1lOTJlZWI2NWFlN2QiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTcwMTkwMjA4NywibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTcwMTkwNTY4NywiaWF0IjoxNzAxOTAyMDg3LCJlbWFpbCI6ImlzbWFlbDk3bG9wZXpAZ21haWwuY29tIn0.JpoKZHuzPZG2ttaT7Oz3CAPR7xZU19txSDyjGHIwya2zV9uOHxauS0-orNRry8lfpZHQt_ISF2W-XSARUvCG1SqTXi41-o53DsWfZhqe9dQk6DGDnvFzXFsaEbaxAPjTfYc491sHCpOjf4W98quBuzDZCRtdCsr9u3A0AnX8Lh1Jquvn83nrHN2ZeefpLyKc-xGGp50Oy6EnJgSK4PcAAV631nwYV9DfVaLb3SIWDrJIIuBjFjBBCXBcnGJBieErlnF-4gumHzsro_QqF-s7aq_3EJChAhfslFvczNSyDc-LXJVkpDuZW3TaYKlHwhoFxz1aMuYRFQ8xy5Pz8FDNKQ",
20
20
  productSelected: {
21
- services: {
22
- datasheets: 1,
23
- descriptions: 1,
24
- images: 1,
25
- },
26
- orderId: 15275,
27
- status: "AC",
28
- datasheet_status: "AC",
21
+ orderId: 15190,
22
+ status: "RA",
23
+ datasheet_status: "NS",
29
24
  prio: "none",
30
25
  version: 3,
31
- description_status: "AC",
32
- images_status: "AC",
33
- statusByRetailer: {
34
- 34: {
35
- datasheet: "AC",
36
- description: "AC",
37
- images: "AC",
38
- },
26
+ description_status: "NS",
27
+ images_status: "RA",
28
+ brand: null,
29
+ retailerOrder: 0,
30
+ missing: {
31
+ datasheet: null,
32
+ descriptions: null,
33
+ images: null,
34
+ },
35
+ services: {
36
+ datasheets: 0,
37
+ descriptions: 0,
38
+ images: 1,
39
39
  },
40
40
  article: {
41
- id_article: 39485,
42
- id_category: "11",
43
- name: "Mix de nueces",
44
- upc: "7543453453",
45
- timestamp: "2023-07-14T21:02:54.000Z",
46
- id_user: 28,
47
- status: "NULL",
48
- active: 1,
49
- company_id: 1,
41
+ category:
42
+ "Abarrotes Básicos|Abarrotes Básicos y Procesados|Abarrotes Básicos y Procesados",
50
43
  company_name: "GRUPO BRAHMA",
51
44
  country: "México",
52
- id_order: 15275,
53
- id_datasheet_especialist: 54,
54
- id_datasheet_facilitator: 52,
55
- id_description_especialist: 54,
56
- id_description_facilitator: 52,
45
+ id_category: "4004",
46
+ id_datasheet_especialist: null,
47
+ id_datasheet_facilitator: null,
48
+ id_description_especialist: null,
49
+ id_description_facilitator: null,
57
50
  id_images_especialist: 55,
58
51
  id_images_facilitator: 53,
52
+ id_order: 15190,
53
+ id_article: 39364,
59
54
  id_auditor: 37,
60
- id_recepcionist: null,
61
- category: "Abarrotes|Abarrotes Secos|Frutos Secos",
62
- missingAttributes: 0,
63
- missingDescriptions: 0,
64
- missingImages: 0,
55
+ name: "test 2 img ba",
56
+ timestamp: "2023-05-05T02:56:16.000Z",
57
+ upc: "4353242",
65
58
  },
66
59
  retailers: [
67
60
  {
68
- id: 34,
69
- name: "San Pablo",
61
+ id: 70,
62
+ name: "Bodega Aurrera",
70
63
  },
71
64
  ],
72
- country: "México",
73
- upc: "7543453453",
65
+ statusByRetailer: {
66
+ 70: {
67
+ images: "RA/AC",
68
+ },
69
+ },
74
70
  },
75
71
  location: {
76
- product: { articleId: 354, versionId: 3 },
72
+ product: { articleId: 39364, versionId: 3 },
77
73
  state: {
78
74
  withChat: true,
79
75
  chatType: "product_status",
@@ -87,7 +83,7 @@ RetailerProductEditionDefault.args = {
87
83
  position: "Auditor",
88
84
  telephone: "",
89
85
  country: "México",
90
- id_company: 2,
86
+ id_company: 254,
91
87
  id_cognito: "9a213128-6482-4c16-a4b6-6e64f225b1bd",
92
88
  birth_Date: null,
93
89
  about_me: "",
@@ -101,16 +97,16 @@ RetailerProductEditionDefault.args = {
101
97
  email_notify: 1,
102
98
  is_user_tech: null,
103
99
  membership: {
104
- id: 2,
105
- start_date: "2021-11-05T02:35:12.000Z",
106
- end_date: "2022-11-05T02:34:49.000Z",
107
- planID: 1,
108
- plan: "prod_KtkvuFFLpOdP6e",
109
- name: "Plan Free",
110
- user_limit: "1",
111
- products_limit: "3",
112
- type: "PyMES",
100
+ id: 137,
101
+ start_date: "2023-10-04T15:46:14.000Z",
102
+ end_date: "2024-10-04T08:46:09.000Z",
103
+ planID: 8,
104
+ plan: "prod_KtlhECVSFG2iro",
105
+ name: "Plan Pro",
106
+ user_limit: "50",
107
+ products_limit: "5000",
108
+ type: "Enterprise",
113
109
  },
114
- src: "https://content-management-profile.s3.amazonaws.com/id-37/37.png?1692750648813",
110
+ src: "https://content-management-profile.s3.amazonaws.com/id-37/37.png?1701902088068",
115
111
  },
116
112
  };