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
@@ -2,103 +2,126 @@ import { Container } from "./styles";
2
2
  import { TabSection } from "../../atoms/TabSection";
3
3
  import { useEffect, useState } from "react";
4
4
 
5
+
5
6
  import { Modal } from "../../organisms/Modal";
6
7
  import { ButtonV2 } from "../../atoms/ButtonV2";
7
8
 
9
+
8
10
  export const TabsMenu = ({
9
11
  tabsSections = {},
10
12
  setImagesSection,
11
13
  setActiveTab,
12
14
  activeTab,
15
+ desc,
16
+ setDesc,
17
+ fich,
18
+ setFich,
19
+ imag,
20
+ setImag,
13
21
  updatedDescriptions,
14
22
  updatedDatasheets,
15
- images,
23
+ selectedImages,
24
+ setUpdatedDescriptions,
25
+ setUpdatedDatasheets,
26
+ setSelectedImages
16
27
  }) => {
17
28
  const [sections, setSections] = useState(tabsSections);
18
29
 
19
- const [modal, setModal] = useState(false);
20
- const [cancelAccept, setCancelAccept] = useState("");
21
- const [llave, setLlave] = useState("");
22
- const [objeto, setObjeto] = useState();
30
+
31
+ const [modal, setModal] = useState(false)
32
+ const [isFirstExecution, setIsFirstExecution] = useState(true)
33
+ const [detectaTab, setDetectaTab] = useState('')
34
+ const [cancelAccept, setCancelAccept] = useState('')
35
+ const [llave, setLlave] = useState('')
36
+ const [objeto, setObjeto] = useState()
37
+
23
38
 
24
39
  const activeSection = (key, array = {}) => {
25
40
  let tempArray = {};
26
41
  setImagesSection(key === "Imágenes");
27
42
  Object.keys(array).forEach((section) => {
28
43
  tempArray[section] = section === key;
29
- if (section === key) return setActiveTab(key);
44
+ if (section === key) {
45
+ setUpdatedDatasheets([])
46
+ setUpdatedDescriptions([])
47
+ setSelectedImages([])
48
+ setDesc([])
49
+ setFich([])
50
+ setImag([])
51
+ return setActiveTab(key)
52
+ };
30
53
  });
31
54
  setSections(tempArray);
32
55
  };
33
56
 
34
- useEffect(() => {
35
- if ((cancelAccept === "Aceptar") & (llave !== "")) {
36
- setCancelAccept("");
37
- setModal(false);
38
- activeSection(llave, objeto);
39
- } else if ((cancelAccept === "Cancelar") & (llave !== "")) {
40
- setModal(false);
41
- setCancelAccept("");
42
- }
43
- }, [cancelAccept]);
57
+ useEffect(() => {
58
+ if (cancelAccept==='Aceptar' & llave!==''){
59
+ setCancelAccept('')
60
+ setModal(false)
61
+ activeSection(llave, objeto)
62
+ } else if (cancelAccept==='Cancelar' & llave!=='') {
63
+ setModal(false)
64
+ setCancelAccept('')
65
+ }
66
+ },[cancelAccept])
44
67
 
45
- const detectClickFunction = (e, key, sections) => {
68
+ function detectClickFunction (e,key,sections) {
46
69
  const targetIsTheCurrentTab = e.target.innerHTML === activeTab;
47
70
  const descriptionsWereUpdated = updatedDescriptions.length > 0;
48
71
  const datasheetWereUpdated = updatedDatasheets.length > 0;
49
- const imagesWereUpdated = images?.values?.filter((f) => !f.id)?.length > 0;
50
- const dataWereUpdated =
51
- descriptionsWereUpdated || datasheetWereUpdated || imagesWereUpdated;
72
+ const imagesWereUpdated = selectedImages.length > 0;
73
+ const dataWereUpdated = descriptionsWereUpdated || datasheetWereUpdated || imagesWereUpdated;
74
+
75
+ if (!targetIsTheCurrentTab && !dataWereUpdated ){
76
+ setLlave(key)
77
+ setObjeto(sections)
78
+ activeSection(key, sections)
79
+ }
80
+ else if(!targetIsTheCurrentTab && dataWereUpdated ){
81
+ setModal(true)
82
+ setLlave(key)
83
+ setObjeto(sections)
52
84
 
53
- if (!targetIsTheCurrentTab && !dataWereUpdated) {
54
- setLlave(key);
55
- setObjeto(sections);
56
- activeSection(key, sections);
57
- } else if (!targetIsTheCurrentTab && dataWereUpdated) {
58
- setModal(true);
59
- setLlave(key);
60
- setObjeto(sections);
61
- }
62
- };
63
85
 
86
+ }
87
+ }
64
88
  return (
65
89
  <>
66
- {activeTab && (
67
- <Modal
68
- show={modal}
69
- title="Cambios sin Guardar"
70
- message="Estás cambiando de vista y aun no guardas cambios ¿Estás seguro?"
71
- buttons={[
72
- <ButtonV2
73
- key={"btn-Cancelar"}
74
- type={"white"}
75
- label={"Cancelar"}
76
- size={12}
77
- onClick={(event) => setCancelAccept(event.target.textContent)}
78
- />,
79
- <ButtonV2
80
- key={"btn-Aceptar"}
81
- type={"pink"}
82
- label={"Aceptar"}
83
- size={12}
84
- onClick={(event) => setCancelAccept(event.target.textContent)}
85
- />,
86
- ]}
87
- />
88
- )}
90
+ {activeTab && <Modal
91
+ show={modal}
92
+ title='Cambios sin Guardar'
93
+ message= 'Estás cambiando de vista y aun no guardas cambios ¿Estás seguro?'
94
+ buttons={ [
95
+ <ButtonV2
96
+ key={"btn-Cancelar"}
97
+ type={"white"}
98
+ label={"Cancelar"}
99
+ size={12}
100
+ onClick={(event) => setCancelAccept(event.target.textContent)}
101
+ />,
102
+ <ButtonV2
103
+ key={"btn-Aceptar"}
104
+ type={"pink"}
105
+ label={"Aceptar"}
106
+ size={12}
107
+ onClick={(event) => setCancelAccept(event.target.textContent)}
108
+ />,
109
+ ]}
110
+ />
111
+ }
89
112
 
90
- <Container>
91
- {Object.keys(sections).map((key, index) => (
92
- <TabSection
93
- key={index}
94
- label={key}
95
- active={sections[key]}
96
- onClick={(e) => {
97
- detectClickFunction(e, key, sections);
98
- }}
99
- />
100
- ))}
101
- </Container>
113
+ <Container>
114
+ {Object.keys(sections).map((key, index) => (
115
+ <TabSection
116
+ key={index}
117
+ label={key}
118
+ active={sections[key]}
119
+ onClick={(e)=>{
120
+ detectClickFunction (e, key, sections)
121
+ }}
122
+ />
123
+ ))}
124
+ </Container>
102
125
  </>
103
126
  );
104
127
  };
@@ -1,6 +1,8 @@
1
1
  import { Container } from "./styles";
2
2
  import { ScreenHeader } from "../../atoms/ScreenHeader/index";
3
3
  import { GeneralInput } from "../../atoms/GeneralInput/index";
4
+ import { useEffect } from "react";
5
+ import { useState } from "react";
4
6
 
5
7
  export const TagAndInput = ({
6
8
  inputType,
@@ -30,22 +32,21 @@ export const TagAndInput = ({
30
32
  showTooltip,
31
33
  auditClass,
32
34
  }) => {
35
+
33
36
  return (
34
37
  <Container
35
38
  inputType={inputType}
36
39
  className={"input-container"}
37
40
  key={`generalTagInput-${inputType}`}
38
41
  >
39
- {label?.length && (
40
- <div className="title-container">
41
- <ScreenHeader
42
- text={label}
43
- headerType={"input-name-header"}
44
- color={color}
45
- />
46
- {showTooltip && <span className="tooltip">{label}</span>}
47
- </div>
48
- )}
42
+ <div className="title-container">
43
+ <ScreenHeader
44
+ text={label}
45
+ headerType={"input-name-header"}
46
+ color={color}
47
+ />
48
+ {showTooltip && <span className="tooltip">{label}</span>}
49
+ </div>
49
50
  <GeneralInput
50
51
  inputId={inputId}
51
52
  inputType={inputType}
@@ -73,4 +74,5 @@ export const TagAndInput = ({
73
74
  />
74
75
  </Container>
75
76
  );
77
+
76
78
  };
@@ -148,37 +148,17 @@ chatTicket_userTECH.args = {
148
148
  chatType: "ticket",
149
149
  chatContainerType: "fixed",
150
150
  chatData: {
151
- id: 171,
152
- ticketOwnerUserId: 52,
153
- statusTicket: "IN_PROGRESS",
151
+ id: 130,
152
+ ticketOwnerUserId: 194,
153
+ ticketCompany: undefined,
154
+ statusTicket: "PENDING",
154
155
  currentUser: {
155
156
  token:
156
- "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI3M2NjOGQ0MC1jODQxLTQyMmEtYTJmMi1lNjlkN2ZlMjZlYmYiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6IjczY2M4ZDQwLWM4NDEtNDIyYS1hMmYyLWU2OWQ3ZmUyNmViZiIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiIwYWNiYTdlYy01OGJhLTQyNGYtOTM5OC02ZGMxOGI1YTRkODYiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4ODk0MzcxNywibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTY4ODk0NzMxNywiaWF0IjoxNjg4OTQzNzE3LCJlbWFpbCI6Im9hcmVuYXNAY29udGVudG9oLmNvbSJ9.SHeA5EMqLdqlTuDBTpJ3l_lAAqjMlOT2Dm9U9yf-Y3-4FR-3cwQ_16sdsmGCjJpwkhdYBEyuQbFkY1xnQHOBLMow0izWD4CDlhlNXkWBE_3DjgCspyPMlz31Lfik2ddnkHp3HQeLwucC4uyum3N-roQA7HkuWQHSBIplp6b-Xd44OmN9X-V_kseN3QOX6o7kxNFjwZL_DUzTJUdMDOtIXXIKYO2FLkR1eWJDNdvee5FEIWAxJXfaSZ__Awawfi5k93ILXrPX7QVt78lOH3THMyiPTtfiOOwMhoSQz_k5DIuofE8FM_1-nLNajM18pI49wPQ_-k3ltCjChjqy-OlERQ",
157
- id: 65,
158
- companyId: 2,
157
+ "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJmNTkyN2Y4ZS1jYmY3LTQ5MjItOWUwOS1lNjllYzBiMjczMWEiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6ImY1OTI3ZjhlLWNiZjctNDkyMi05ZTA5LWU2OWVjMGIyNzMxYSIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJlYTRlZmQ1Zi1mYTg4LTRjNDEtYTM3Ny02MWVkNmY0YTMyOTciLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4MDA1Njg2NSwibmFtZSI6IklzbWFlbCBMb3BleiIsInBob25lX251bWJlciI6Iis1MjMxMTEzNjYzMzYiLCJleHAiOjE2ODAwNjA0NjUsImlhdCI6MTY4MDA1Njg2NSwiZW1haWwiOiJpbG9wZXpAY29udGVudG9oLmNvbSJ9.oRuv3LkdvctEMUjmeGw0-XefzV_Aoh1O2hFMik4RxpkkCUeP1O7AjA7lJI6sgoqa9Nwa2fCPRXk6ufi84UbgxGEgkupQmAvXTHQCw_uwCUVAZitlNGXSBl-VSisMuXSnckxdZQ1MvLV5BgLmiw4mu6HxKDN-Uw0xc7yL_yDtGu3NWxoO0Cm2zbej8jYLE9DV9wG297bjfzVQ7hzpEfEcB52I5Tg6nF2VDTx-8_m4mVVrpisbV5uBoYokbFyyOFVLZzUU7Je5uHukscHS5dje9IMTY8DE5S8xUWJubHjf_ktcy7Y2-F2cG5dI5oSdrBNU-wNNW5-OtRLgclSJLmbPCw",
158
+ id: 28,
159
+ companyId: 1,
159
160
  isUserTech: true,
160
161
  },
161
162
  },
162
163
  classNameContainerFixed: "chatTicket",
163
164
  };
164
-
165
- // ejemplo del chat para los cambios de status del producto.
166
- export const chatProduct_status = Template.bind({});
167
- chatProduct_status.args = {
168
- chatType: "product_status",
169
- chatContainerType: "popUp",
170
- chatData: {
171
- id: 37414,
172
- version: 7,
173
- retailerId: 70,
174
- status: "AA",
175
- orderId: 15189,
176
- userToken:
177
- "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI5YTIxMzEyOC02NDgyLTRjMTYtYTRiNi02ZTY0ZjIyNWIxYmQiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6IjlhMjEzMTI4LTY0ODItNGMxNi1hNGI2LTZlNjRmMjI1YjFiZCIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiJhOWFhMDQ4Zi05YzRjLTQxODMtYWUzMS03OWVjNjBhY2NjZGYiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4MzU4ODM4OSwibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTY4MzU5MTk4OSwiaWF0IjoxNjgzNTg4Mzg5LCJlbWFpbCI6ImlzbWFlbDk3bG9wZXpAZ21haWwuY29tIn0.k9FQfRR02XC3WWfOzWhrbJGmp69AmCHJEIrgtXKhIwC69trdphSm1AKkZnDJMsEdkpUgjF_zAOsa_xYRxO6goXy7WXVc_p7N-yFHlkhZrRyn3LEFKaLzD8vVqlWx4kgfSERm7KhI1AxPmrA-lw8eF6Axvqn3PvuszAw89_WhPOcnOt8vU0MxAVhLgS8oM6vyHFmHEHWQ2FnSYYed9sEvAxGh_B44aIgWeDteQGeGdYhsm6rUcxgkrskywZJp9FW5VgYXuDcC5NpvomMMRy_v95UV897JzCHl__sK2Z9ahm0eczVN3tAc0GbKnlN96ZrGTQ_nmNHbuMDPQBPXH5HXZQ",
178
- currentUser: {
179
- id: 37,
180
- companyId: 2,
181
- isUserTech: false,
182
- },
183
- },
184
- };
@@ -22,7 +22,6 @@ import { Tooltip } from "../../../atoms/Tooltip";
22
22
  import { Slide, Zoom } from "@mui/material";
23
23
  import { useRef } from "react";
24
24
  import { ImagePreview } from "../../../atoms/ImagePreview";
25
- import { Status } from "../../../atoms/Status";
26
25
  import { isUserTech } from "../../../../global-files/handle_userTech";
27
26
  import { container } from "aws-amplify";
28
27
 
@@ -56,10 +55,7 @@ export const ContainerItems = (props) => {
56
55
 
57
56
  useEffect(() => {
58
57
  if (!items) return;
59
- if (
60
- ["merchant_product", "order_product", "product_status"].includes(chatType)
61
- )
62
- renderItems();
58
+ if (["merchant_product", "order_product"].includes(chatType)) renderItems();
63
59
  else if (chatType === "ticket") renderItemsTicket();
64
60
  else setCustomItems([]);
65
61
  }, [items]);
@@ -134,16 +130,6 @@ export const ContainerItems = (props) => {
134
130
  return <label className="item-statusTicket">{item.value}</label>;
135
131
  };
136
132
 
137
- const renderStatusItem = (item) => {
138
- const splitText = item.value.split("|");
139
- let message = [];
140
- splitText.forEach((text, i) => {
141
- if (i === 1 || i === 3) message.push(<Status statusType={text} />);
142
- else message.push(text);
143
- });
144
- return <label className="item-statusItem">{message}</label>;
145
- };
146
-
147
133
  const renderStatusTicketNeutral = (item) => {
148
134
  return (
149
135
  <Tooltip
@@ -318,7 +304,7 @@ export const ContainerItems = (props) => {
318
304
  >
319
305
  <li
320
306
  className={
321
- (ownMessage && item.type !== "status" ? "own-message " : "") +
307
+ (ownMessage ? "own-message " : "") +
322
308
  (lastUserId === item.userId ? "sameUser" : "")
323
309
  }
324
310
  >
@@ -353,8 +339,6 @@ export const ContainerItems = (props) => {
353
339
  ? renderComment(item)
354
340
  : item.type === "img"
355
341
  ? renderImg(item)
356
- : item.type === "status"
357
- ? renderStatusItem(item)
358
342
  : item.type === "file"
359
343
  ? renderFile(item, ownMessage)
360
344
  : item.type === "statusTicket" &&
@@ -158,8 +158,7 @@ export const Container = styled.div`
158
158
  .item-message,
159
159
  .item-comment,
160
160
  .item-file,
161
- .item-statusTicket,
162
- .item-statusItem {
161
+ .item-statusTicket {
163
162
  border-radius: 10px;
164
163
  padding: 10px;
165
164
  font-family: ${FontFamily.RobotoRegular}, sans-serif;
@@ -174,17 +173,10 @@ export const Container = styled.div`
174
173
  .item-file {
175
174
  background-color: #8386ee;
176
175
  }
177
- .item-statusTicket,
178
- .item-statusItem {
176
+ .item-statusTicket {
179
177
  background-color: #85bc5b;
180
178
  }
181
179
 
182
- .item-statusItem {
183
- display: flex;
184
- gap: 3px;
185
- align-items: center;
186
- }
187
-
188
180
  .item-message {
189
181
  &.different-company {
190
182
  border: 1px solid #e33aa9;
@@ -86,8 +86,7 @@ export const ContentChat = (props) => {
86
86
 
87
87
  // al cargar el componente
88
88
  useEffect(() => {
89
- //if (dataChat && showPopUpChat) {
90
- if (Object.keys(dataChat || {}).length) {
89
+ if (dataChat && showPopUpChat) {
91
90
  stopUpdate();
92
91
  if (dataChat.code) {
93
92
  setErrorChat({
@@ -101,7 +100,6 @@ export const ContentChat = (props) => {
101
100
  }
102
101
  if (chatType === "merchant_product") getInitialMerchantProduct();
103
102
  else if (chatType === "order_product") getInitialOrderProduct();
104
- else if (chatType === "product_status") getInitialProductStatus();
105
103
  else getInitialTicket();
106
104
  }
107
105
  if (!showPopUpChat) {
@@ -128,8 +126,6 @@ export const ContentChat = (props) => {
128
126
  } else if (chatType === "order_product") {
129
127
  if (companies) getUpdateLatestOrderProduct(true);
130
128
  else getInitialOrderProduct();
131
- } else if (chatType === "product_status") {
132
- getInitialProductStatus();
133
129
  } else {
134
130
  if (singleChat.items) getUpdateLatestTicket(true);
135
131
  else getInitialTicket();
@@ -139,47 +135,6 @@ export const ContentChat = (props) => {
139
135
  /*=======================================================================
140
136
  PETICION GET INICIAL SEGUN EL TIPO DE CHAT
141
137
  ======================================================================= */
142
- const getInitialProductStatus = async () => {
143
- const paramsQuery = {
144
- articleData: {
145
- articleId: JSON.stringify(dataChat.id),
146
- version: JSON.stringify(dataChat.version),
147
- retailerId: JSON.stringify(dataChat.retailerId),
148
- status: dataChat.status,
149
- },
150
- };
151
- const paramsHeaders = { Authorization: dataChat.userToken };
152
- const response = await fetchGET(
153
- process.env.REACT_APP_READ_MESSAGES,
154
- paramsQuery,
155
- paramsHeaders
156
- );
157
- if (!response.body) {
158
- setErrorChat({
159
- existError: true,
160
- code: 400,
161
- message: response.message,
162
- errorDetail: response.errorDetail,
163
- });
164
- setIsLoading(false);
165
- return;
166
- }
167
- // success
168
- setStartUpdate((prev) => prev + 1);
169
- setCurrentUser({
170
- id: response.body.data.currentUserId,
171
- companyId: response.body.data.currentCompanyId,
172
- });
173
- setLastUpdateDate(response.body.data.lastUpdateDate);
174
- setAllUsers(response.body.users);
175
- setSingleChat({
176
- items: response.body.items,
177
- enabledLoadMore: response.body.items.length === 50,
178
- });
179
- setErrorChat({ existError: false });
180
- setIsLoading(false);
181
- };
182
-
183
138
  const getInitialMerchantProduct = async () => {
184
139
  const paramsQuery = {
185
140
  getType: "initial",
@@ -613,14 +568,14 @@ export const ContentChat = (props) => {
613
568
  };
614
569
 
615
570
  /*=======================================================================
616
- FUNCION QUE EJECUTA EL MICROSERVICIO CREATE-ITEM
571
+ FUNCION QUE EJECUTA EL MICROSERVICIO CREATE-ITEM
617
572
  Este metodo recibe los items que queremos agregar al chat.
618
573
  requiere:
619
- => items: [ { type , value } , ... ]
574
+ => items: [ { type , value } , ... ]
620
575
  NOTA: si se quiere agregar un mensaje mandar un array con un object
621
- example: [ {
622
- type: "message" ,
623
- value: "mi mensaje"
576
+ example: [ {
577
+ type: "message" ,
578
+ value: "mi mensaje"
624
579
  } ]
625
580
  ======================================================================= */
626
581
  const createItemsChat = async (items = []) => {
@@ -656,14 +611,12 @@ export const ContentChat = (props) => {
656
611
  // enviar items a la BD
657
612
  if (chatType === "merchant_product") {
658
613
  errorCreate = await createItemsMerchantProduct(items);
659
- } else if (chatType === "product_status") {
660
- errorCreate = await createItemsProductStatus(items);
661
614
  } else if (chatType === "order_product") {
662
615
  errorCreate = await createItemsOrderProduct(items);
663
616
  } else errorCreate = await createItemsTicket(items);
664
617
 
665
618
  // actualizar chat para que aparezcan los items enviados
666
- if (["merchant_product", "product_status"].includes(chatType)) {
619
+ if (chatType === "merchant_product") {
667
620
  await getUpdateLatestMerchantProduct();
668
621
  } else if (chatType === "order_product") {
669
622
  await getUpdateLatestOrderProduct();
@@ -676,10 +629,9 @@ export const ContentChat = (props) => {
676
629
  };
677
630
 
678
631
  const createItemsMerchantProduct = async (items = []) => {
679
- const { id, version, orderId } = dataChat;
632
+ const { id, version } = dataChat;
680
633
  const { id: retailerId } = activeRetailer;
681
634
  const paramsBody = { id, version, items, retailerId };
682
- if (chatType === "product_status") paramsBody["orderId"] = orderId;
683
635
  const paramsHeaders = { Authorization: dataChat.userToken };
684
636
  const response = await fetchPOST(
685
637
  process.env.REACT_APP_PRODUCTS_CHAT_ENDPOINT,
@@ -693,23 +645,6 @@ export const ContentChat = (props) => {
693
645
  };
694
646
  }
695
647
  };
696
- const createItemsProductStatus = async (items = []) => {
697
- const { id, version, orderId, status } = dataChat;
698
- const { id: retailerId } = activeRetailer;
699
- const paramsBody = { id, version, items, retailerId, orderId, status };
700
- const paramsHeaders = { Authorization: dataChat.userToken };
701
- const response = await fetchPOST(
702
- process.env.REACT_APP_CREATE_MESSAGES,
703
- paramsBody,
704
- paramsHeaders
705
- );
706
- if (!response.body) {
707
- return {
708
- message: response.message,
709
- errorDetail: response.errorDetail,
710
- };
711
- }
712
- };
713
648
 
714
649
  const createItemsOrderProduct = async (items = []) => {
715
650
  const paramsBody = {
@@ -757,11 +692,7 @@ export const ContentChat = (props) => {
757
692
  SECCION DE FUNCIONES
758
693
  ======================================================================= */
759
694
  const isSingleChat = () => {
760
- if (
761
- chatType === "merchant_product" ||
762
- chatType === "ticket" ||
763
- chatType === "product_status"
764
- ) {
695
+ if (chatType === "merchant_product" || chatType === "ticket") {
765
696
  return true;
766
697
  }
767
698
  if (companies && Object.keys(companies).length < 2) return true;
@@ -828,11 +759,15 @@ export const ContentChat = (props) => {
828
759
  setPlaySound(false);
829
760
  }, 5000);
830
761
  }
831
- return Object.values(itemsId).sort((a, b) => {
832
- if (a.id > b.id) return 1;
833
- if (a.id < b.id) return -1;
834
- return 0;
835
- });
762
+ if (chatType !== "ticket") {
763
+ return Object.values(itemsId).sort((a, b) => {
764
+ if (a.id > b.id) return 1;
765
+ if (a.id < b.id) return -1;
766
+ return 0;
767
+ });
768
+ } else {
769
+ return Object.values(itemsId).reverse();
770
+ }
836
771
  };
837
772
 
838
773
  const updateAllUsers = (newUsers = {}) => {
@@ -872,7 +807,7 @@ export const ContentChat = (props) => {
872
807
  // mostrar chat?
873
808
  let items;
874
809
  let enabledLoadMore;
875
- if (["merchant_product", "ticket", "product_status"].includes(chatType)) {
810
+ if (["merchant_product", "ticket"].includes(chatType)) {
876
811
  items = singleChat.items;
877
812
  enabledLoadMore = singleChat.enabledLoadMore;
878
813
  }
@@ -914,9 +849,7 @@ export const ContentChat = (props) => {
914
849
  activeCompanyId={activeCompanyId}
915
850
  ticketCompany={ticketCompany}
916
851
  currentUser={
917
- ["merchant_product", "order_product", "product_status"].includes(
918
- chatType
919
- )
852
+ ["merchant_product", "order_product"].includes(chatType)
920
853
  ? currentUser
921
854
  : dataChat.currentUser
922
855
  }
@@ -955,12 +888,6 @@ export const ContentChat = (props) => {
955
888
  ? { id: dataChat.id, version: currentArticle.version }
956
889
  : chatType === "ticket"
957
890
  ? { id: dataChat.id }
958
- : chatType === "product_status"
959
- ? {
960
- id: dataChat.id,
961
- version: dataChat.version,
962
- retailerId: dataChat.retailerId,
963
- }
964
891
  : undefined
965
892
  }
966
893
  chatCompany={getChatCompany()}
@@ -1003,6 +930,7 @@ export const ContentChat = (props) => {
1003
930
  }}
1004
931
  />
1005
932
  )}
933
+
1006
934
  {/* body */}
1007
935
  {renderBodyChat()}
1008
936
  </Container>
@@ -169,17 +169,6 @@ export const Footer = (props) => {
169
169
  errorMessage = "El ID del ticket no es valido";
170
170
  }
171
171
  break;
172
- case "product_status":
173
- if (
174
- isValidNaturalNumber(dataChat?.id) &&
175
- isValidNaturalNumber(dataChat?.version) &&
176
- isValidNaturalNumber(dataChat?.retailerId)
177
- ) {
178
- fileKey += `productStatus/${dataChat.id}-${dataChat?.version}-${dataChat?.retailerId}/`;
179
- } else {
180
- errorMessage = "El ID del ticket no es valido";
181
- }
182
- break;
183
172
 
184
173
  default:
185
174
  errorMessage =