contentoh-components-library 21.3.82 → 21.3.83

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 (72) 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 +208 -359
  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/global-files/handle_http.js +2 -3
  31. package/dist/index.js +12 -51
  32. package/package.json +1 -3
  33. package/src/components/atoms/ButtonV2/styles.js +1 -1
  34. package/src/components/atoms/Card/index.js +2 -35
  35. package/src/components/atoms/Card/styles.js +5 -41
  36. package/src/components/atoms/CheckBox/index.js +0 -2
  37. package/src/components/atoms/GeneralInput/index.js +21 -20
  38. package/src/components/atoms/InputFormatter/index.js +18 -14
  39. package/src/components/atoms/InputFormatter/styles.js +1 -2
  40. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  41. package/src/components/molecules/HeaderTop/index.js +6 -52
  42. package/src/components/molecules/TabsMenu/index.js +88 -65
  43. package/src/components/molecules/TagAndInput/index.js +12 -10
  44. package/src/components/organisms/Chat/Chat.stories.js +7 -27
  45. package/src/components/organisms/Chat/ContainerItems/index.js +2 -18
  46. package/src/components/organisms/Chat/ContainerItems/styles.js +2 -10
  47. package/src/components/organisms/Chat/ContentChat/index.js +23 -97
  48. package/src/components/organisms/Chat/Footer/index.js +0 -11
  49. package/src/components/organisms/Chat/index.js +4 -46
  50. package/src/components/organisms/FullProductNameHeader/index.js +1 -1
  51. package/src/components/organisms/FullTabsMenu/index.js +16 -4
  52. package/src/components/organisms/Modal/styles.js +1 -4
  53. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +98 -181
  54. package/src/components/pages/ProviderProductEdition/index.js +142 -134
  55. package/src/components/pages/ProviderProductEdition/styles.js +1 -5
  56. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +26 -38
  57. package/src/components/pages/RetailerProductEdition/index.js +148 -111
  58. package/src/components/pages/RetailerProductEdition/styles.js +0 -4
  59. package/src/components/pages/RetailerProductEdition/utils.js +0 -37
  60. package/src/global-files/handle_http.js +1 -2
  61. package/src/index.js +0 -3
  62. package/src/components/molecules/StripeCardForm/StripeCardForm.stories.js +0 -13
  63. package/src/components/molecules/StripeCardForm/index.js +0 -42
  64. package/src/components/molecules/StripeCardForm/paymentForm.js +0 -124
  65. package/src/components/molecules/StripeCardForm/styles.js +0 -73
  66. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +0 -12
  67. package/src/components/molecules/StripeCardSelector/index.js +0 -44
  68. package/src/components/molecules/StripeCardSelector/styles.js +0 -4
  69. package/src/components/molecules/StripeCardSelector/utils.js +0 -17
  70. package/src/components/organisms/SideModal/SideModal.stories.js +0 -23
  71. package/src/components/organisms/SideModal/index.js +0 -50
  72. 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",
@@ -286,11 +241,9 @@ export const ContentChat = (props) => {
286
241
  isUserTech: dataChat.currentUser?.isUserTech,
287
242
  };
288
243
  const paramsQuery = {
289
- //id: JSON.stringify(dataChat.id),
290
- id: dataChat.id,
244
+ id: JSON.stringify(dataChat.id),
291
245
  getType: "initial",
292
- //currentUser: encodeUriJson(dataUser),
293
- currentUser: encodeURIComponent(JSON.stringify(dataUser)),
246
+ currentUser: encodeUriJson(dataUser),
294
247
  currentItemsFront: encodeUriJson(getItemsIdSingleChat()),
295
248
  };
296
249
  const response = await fetchGET(
@@ -613,14 +566,14 @@ export const ContentChat = (props) => {
613
566
  };
614
567
 
615
568
  /*=======================================================================
616
- FUNCION QUE EJECUTA EL MICROSERVICIO CREATE-ITEM
569
+ FUNCION QUE EJECUTA EL MICROSERVICIO CREATE-ITEM
617
570
  Este metodo recibe los items que queremos agregar al chat.
618
571
  requiere:
619
- => items: [ { type , value } , ... ]
572
+ => items: [ { type , value } , ... ]
620
573
  NOTA: si se quiere agregar un mensaje mandar un array con un object
621
- example: [ {
622
- type: "message" ,
623
- value: "mi mensaje"
574
+ example: [ {
575
+ type: "message" ,
576
+ value: "mi mensaje"
624
577
  } ]
625
578
  ======================================================================= */
626
579
  const createItemsChat = async (items = []) => {
@@ -656,14 +609,12 @@ export const ContentChat = (props) => {
656
609
  // enviar items a la BD
657
610
  if (chatType === "merchant_product") {
658
611
  errorCreate = await createItemsMerchantProduct(items);
659
- } else if (chatType === "product_status") {
660
- errorCreate = await createItemsProductStatus(items);
661
612
  } else if (chatType === "order_product") {
662
613
  errorCreate = await createItemsOrderProduct(items);
663
614
  } else errorCreate = await createItemsTicket(items);
664
615
 
665
616
  // actualizar chat para que aparezcan los items enviados
666
- if (["merchant_product", "product_status"].includes(chatType)) {
617
+ if (chatType === "merchant_product") {
667
618
  await getUpdateLatestMerchantProduct();
668
619
  } else if (chatType === "order_product") {
669
620
  await getUpdateLatestOrderProduct();
@@ -676,10 +627,9 @@ export const ContentChat = (props) => {
676
627
  };
677
628
 
678
629
  const createItemsMerchantProduct = async (items = []) => {
679
- const { id, version, orderId } = dataChat;
630
+ const { id, version } = dataChat;
680
631
  const { id: retailerId } = activeRetailer;
681
632
  const paramsBody = { id, version, items, retailerId };
682
- if (chatType === "product_status") paramsBody["orderId"] = orderId;
683
633
  const paramsHeaders = { Authorization: dataChat.userToken };
684
634
  const response = await fetchPOST(
685
635
  process.env.REACT_APP_PRODUCTS_CHAT_ENDPOINT,
@@ -693,23 +643,6 @@ export const ContentChat = (props) => {
693
643
  };
694
644
  }
695
645
  };
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
646
 
714
647
  const createItemsOrderProduct = async (items = []) => {
715
648
  const paramsBody = {
@@ -757,11 +690,7 @@ export const ContentChat = (props) => {
757
690
  SECCION DE FUNCIONES
758
691
  ======================================================================= */
759
692
  const isSingleChat = () => {
760
- if (
761
- chatType === "merchant_product" ||
762
- chatType === "ticket" ||
763
- chatType === "product_status"
764
- ) {
693
+ if (chatType === "merchant_product" || chatType === "ticket") {
765
694
  return true;
766
695
  }
767
696
  if (companies && Object.keys(companies).length < 2) return true;
@@ -828,11 +757,15 @@ export const ContentChat = (props) => {
828
757
  setPlaySound(false);
829
758
  }, 5000);
830
759
  }
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
- });
760
+ if (chatType !== "ticket") {
761
+ return Object.values(itemsId).sort((a, b) => {
762
+ if (a.id > b.id) return 1;
763
+ if (a.id < b.id) return -1;
764
+ return 0;
765
+ });
766
+ } else {
767
+ return Object.values(itemsId).reverse();
768
+ }
836
769
  };
837
770
 
838
771
  const updateAllUsers = (newUsers = {}) => {
@@ -872,7 +805,7 @@ export const ContentChat = (props) => {
872
805
  // mostrar chat?
873
806
  let items;
874
807
  let enabledLoadMore;
875
- if (["merchant_product", "ticket", "product_status"].includes(chatType)) {
808
+ if (["merchant_product", "ticket"].includes(chatType)) {
876
809
  items = singleChat.items;
877
810
  enabledLoadMore = singleChat.enabledLoadMore;
878
811
  }
@@ -914,9 +847,7 @@ export const ContentChat = (props) => {
914
847
  activeCompanyId={activeCompanyId}
915
848
  ticketCompany={ticketCompany}
916
849
  currentUser={
917
- ["merchant_product", "order_product", "product_status"].includes(
918
- chatType
919
- )
850
+ ["merchant_product", "order_product"].includes(chatType)
920
851
  ? currentUser
921
852
  : dataChat.currentUser
922
853
  }
@@ -955,12 +886,6 @@ export const ContentChat = (props) => {
955
886
  ? { id: dataChat.id, version: currentArticle.version }
956
887
  : chatType === "ticket"
957
888
  ? { id: dataChat.id }
958
- : chatType === "product_status"
959
- ? {
960
- id: dataChat.id,
961
- version: dataChat.version,
962
- retailerId: dataChat.retailerId,
963
- }
964
889
  : undefined
965
890
  }
966
891
  chatCompany={getChatCompany()}
@@ -1003,6 +928,7 @@ export const ContentChat = (props) => {
1003
928
  }}
1004
929
  />
1005
930
  )}
931
+
1006
932
  {/* body */}
1007
933
  {renderBodyChat()}
1008
934
  </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 =