contentoh-components-library 21.5.2 → 21.5.3

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 (293) hide show
  1. package/dist/components/organisms/Table/styles.js +1 -1
  2. package/dist/components/pages/MultipleEdition/saveData.js +19 -9
  3. package/dist/components/pages/MultipleEdition/styles.js +1 -1
  4. package/dist/components/pages/MultipleEdition/utils.js +153 -86
  5. package/package.json +1 -4
  6. package/src/components/atoms/Avatar/index.js +2 -8
  7. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +0 -1
  8. package/src/components/atoms/ButtonV2/index.js +0 -1
  9. package/src/components/atoms/ButtonV2/styles.js +0 -16
  10. package/src/components/atoms/CheckBox/CheckBox.stories.js +0 -5
  11. package/src/components/atoms/CheckBox/index.js +1 -5
  12. package/src/components/atoms/CheckBox/styles.js +3 -9
  13. package/src/components/atoms/GeneralButton/styles.js +0 -46
  14. package/src/components/atoms/GeneralInput/index.js +0 -3
  15. package/src/components/atoms/GeneralInput/styles.js +1 -19
  16. package/src/components/atoms/InputFormatter/index.js +1 -2
  17. package/src/components/atoms/InputFormatter/styles.js +4 -9
  18. package/src/components/atoms/ProductImage/index.js +11 -24
  19. package/src/components/atoms/ProductImage/styles.js +0 -7
  20. package/src/components/atoms/SliderToolTip/styles.js +1 -1
  21. package/src/components/atoms/TabSection/index.js +1 -1
  22. package/src/components/atoms/TabSection/styles.js +3 -0
  23. package/src/components/molecules/BoxAttribute/index.js +25 -32
  24. package/src/components/molecules/BoxAttribute/styles.js +1 -1
  25. package/src/components/molecules/BoxButtons/index.js +22 -23
  26. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  27. package/src/components/molecules/GalleryElement/index.js +1 -76
  28. package/src/components/molecules/GalleryHeader/index.js +0 -1
  29. package/src/components/molecules/HeaderTop/index.js +6 -52
  30. package/src/components/molecules/ProductNameHeader/index.js +1 -19
  31. package/src/components/molecules/SignInLogin/index.js +11 -11
  32. package/src/components/molecules/StatusAsignationInfo/FinancedCompanies.js +63 -501
  33. package/src/components/molecules/StatusAsignationInfo/index.js +1 -1
  34. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +2 -1
  35. package/src/components/molecules/TagAndInput/index.js +6 -8
  36. package/src/components/organisms/Chat/Chat.stories.js +7 -27
  37. package/src/components/organisms/Chat/ContainerItems/index.js +2 -18
  38. package/src/components/organisms/Chat/ContainerItems/styles.js +2 -14
  39. package/src/components/organisms/Chat/ContentChat/index.js +12 -88
  40. package/src/components/organisms/Chat/Footer/index.js +0 -11
  41. package/src/components/organisms/Chat/index.js +4 -46
  42. package/src/components/organisms/Chat/styles.js +0 -4
  43. package/src/components/organisms/DashboardMetric/index.js +3 -6
  44. package/src/components/organisms/FullProductNameHeader/index.js +1 -13
  45. package/src/components/organisms/GridProducts/GridProducts.stories.js +107 -682
  46. package/src/components/organisms/InputGroup/index.js +144 -292
  47. package/src/components/organisms/InputGroup/styles.js +0 -31
  48. package/src/components/organisms/Modal/Modal.stories.js +1 -2
  49. package/src/components/organisms/Modal/index.js +2 -9
  50. package/src/components/organisms/Modal/styles.js +1 -8
  51. package/src/components/organisms/OrderDetail/utils/Table/utils.js +16 -6
  52. package/src/components/pages/Dashboard/Dashboard.stories.js +38 -33
  53. package/src/components/pages/Dashboard/index.js +7 -36
  54. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +60 -56
  55. package/src/components/pages/ProviderProductEdition/index.js +133 -148
  56. package/src/components/pages/ProviderProductEdition/styles.js +1 -5
  57. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +0 -4
  58. package/src/components/pages/RetailerProductEdition/index.js +300 -293
  59. package/src/components/pages/RetailerProductEdition/styles.js +0 -4
  60. package/src/components/pages/RetailerProductEdition/utils.js +0 -37
  61. package/src/global-files/data.js +10 -6
  62. package/src/global-files/variables.js +0 -6
  63. package/src/index.js +0 -12
  64. package/src/assets/images/Icons/addv2.svg +0 -8
  65. package/src/assets/images/Icons/beenhere.svg +0 -9
  66. package/src/assets/images/Icons/checkv2.svg +0 -8
  67. package/src/assets/images/Icons/close-magenta.svg +0 -9
  68. package/src/assets/images/Icons/close.svg +0 -8
  69. package/src/assets/images/Icons/closeCircle.svg +0 -8
  70. package/src/assets/images/Icons/delete-forever-red.svg +0 -9
  71. package/src/assets/images/Icons/delete-forever-white.svg +0 -10
  72. package/src/assets/images/Icons/edit.svg +0 -8
  73. package/src/assets/images/Icons/fullscreen.svg +0 -3
  74. package/src/assets/images/Icons/infoNR.svg +0 -8
  75. package/src/assets/images/Icons/options.svg +0 -3
  76. package/src/assets/images/Icons/save-white-gray.svg +0 -9
  77. package/src/assets/images/Icons/save-white.svg +0 -9
  78. package/src/assets/images/Icons/save.svg +0 -8
  79. package/src/assets/images/Icons/search.svg +0 -3
  80. package/src/assets/images/Icons/settings.svg +0 -8
  81. package/src/assets/images/Icons/trash.svg +0 -8
  82. package/src/assets/images/Icons/undo.svg +0 -8
  83. package/src/assets/images/Icons/upload-file-white.svg +0 -4
  84. package/src/assets/images/Icons/upload-file.svg +0 -10
  85. package/src/assets/images/Icons/upload_file.svg +0 -10
  86. package/src/assets/images/Icons/warningv2.svg +0 -3
  87. package/src/assets/images/checkBox/checkrosa.svg +0 -3
  88. package/src/assets/images/checkBox/checkverde.svg +0 -3
  89. package/src/assets/images/flagsv2/highPriority.svg +0 -3
  90. package/src/assets/images/flagsv2/lowPriority.svg +0 -3
  91. package/src/assets/images/flagsv2/mediumPriority.svg +0 -3
  92. package/src/assets/images/flagsv2/noPriority.svg +0 -3
  93. package/src/assets/images/generalButton/closeIconWhite.svg +0 -4
  94. package/src/assets/images/generalButton/closeIconv2.svg +0 -4
  95. package/src/assets/images/generalButton/saveIconpink.svg +0 -3
  96. package/src/components/atoms/CharsMissing/Wysiwyg.stories.js +0 -12
  97. package/src/components/atoms/CharsMissing/index.js +0 -60
  98. package/src/components/atoms/CharsMissing/styles.js +0 -44
  99. package/src/components/atoms/CustomChip/CustomChip.stories.js +0 -16
  100. package/src/components/atoms/CustomChip/index.js +0 -34
  101. package/src/components/atoms/CustomChip/styles.js +0 -6
  102. package/src/components/atoms/FeatureTagv2/FeatureTagv2.stories.js +0 -16
  103. package/src/components/atoms/FeatureTagv2/index.js +0 -10
  104. package/src/components/atoms/FeatureTagv2/styles.js +0 -56
  105. package/src/components/atoms/GeneralInputv2/GeneralInputv2.stories.js +0 -33
  106. package/src/components/atoms/GeneralInputv2/index.js +0 -155
  107. package/src/components/atoms/GeneralInputv2/styles.js +0 -67
  108. package/src/components/atoms/InputFormatterv2/Wysiwyg.stories.js +0 -12
  109. package/src/components/atoms/InputFormatterv2/index.js +0 -148
  110. package/src/components/atoms/InputFormatterv2/styles.js +0 -39
  111. package/src/components/atoms/InputImages/InputImages.stories.js +0 -19
  112. package/src/components/atoms/InputImages/index.js +0 -25
  113. package/src/components/atoms/InputImages/styles.js +0 -17
  114. package/src/components/atoms/Multiselect/Multiselect.stories.js +0 -364
  115. package/src/components/atoms/Multiselect/index.js +0 -351
  116. package/src/components/atoms/Multiselect/styles.js +0 -33
  117. package/src/components/atoms/NumberMandatory/NumberMandatory.stories.js +0 -19
  118. package/src/components/atoms/NumberMandatory/index.js +0 -16
  119. package/src/components/atoms/NumberMandatory/styles.js +0 -11
  120. package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +0 -20
  121. package/src/components/atoms/ObservationFlag/index.js +0 -167
  122. package/src/components/atoms/ObservationFlag/styles.js +0 -104
  123. package/src/components/atoms/PriorityFlagv2/PriorityFlagv2.stories.js +0 -20
  124. package/src/components/atoms/PriorityFlagv2/index.js +0 -20
  125. package/src/components/atoms/PriorityFlagv2/styles.js +0 -6
  126. package/src/components/atoms/ProductImagev2/ProductImagev2.stories.js +0 -28
  127. package/src/components/atoms/ProductImagev2/index.js +0 -16
  128. package/src/components/atoms/ProductImagev2/styles.js +0 -62
  129. package/src/components/atoms/Progress/Progress.stories.js +0 -25
  130. package/src/components/atoms/Progress/index.js +0 -74
  131. package/src/components/atoms/Progress/styles.js +0 -98
  132. package/src/components/atoms/ScreenHeaderv2/ScreenHeaderv2.stories.js +0 -53
  133. package/src/components/atoms/ScreenHeaderv2/index.js +0 -134
  134. package/src/components/atoms/ScreenHeaderv2/styles.js +0 -103
  135. package/src/components/atoms/Selectv2/VersionSelect.js +0 -27
  136. package/src/components/atoms/Selectv2/index.js +0 -35
  137. package/src/components/atoms/Selectv2/style.js +0 -93
  138. package/src/components/atoms/TabSectionv2/TabSection.stories.js +0 -25
  139. package/src/components/atoms/TabSectionv2/index.js +0 -9
  140. package/src/components/atoms/TabSectionv2/styles.js +0 -20
  141. package/src/components/atoms/TooltipLight/Tooltip.stories.js +0 -20
  142. package/src/components/atoms/TooltipLight/index.js +0 -46
  143. package/src/components/atoms/TooltipLight/styles.js +0 -65
  144. package/src/components/atoms/WordsMissing/Wysiwyg.stories.js +0 -12
  145. package/src/components/atoms/WordsMissing/index.js +0 -60
  146. package/src/components/atoms/WordsMissing/styles.js +0 -10
  147. package/src/components/molecules/AddGroup/AddGroup.stories.js +0 -15
  148. package/src/components/molecules/AddGroup/index.js +0 -84
  149. package/src/components/molecules/AddGroup/styles.js +0 -141
  150. package/src/components/molecules/AsignationInfo/AsignationInfo.stories.js +0 -17
  151. package/src/components/molecules/AsignationInfo/index.js +0 -108
  152. package/src/components/molecules/AsignationInfo/styles.js +0 -86
  153. package/src/components/molecules/EditionActiveImagev2/EditionActiveImagev2.stories.js +0 -12
  154. package/src/components/molecules/EditionActiveImagev2/index.js +0 -15
  155. package/src/components/molecules/EditionActiveImagev2/styles.js +0 -7
  156. package/src/components/molecules/EditionTabs/EditionTabs.stories.js +0 -12
  157. package/src/components/molecules/EditionTabs/index.js +0 -33
  158. package/src/components/molecules/EditionTabs/styles.js +0 -24
  159. package/src/components/molecules/FeaturesBarv2/FeaturesBarv2.stories.js +0 -20
  160. package/src/components/molecules/FeaturesBarv2/index.js +0 -32
  161. package/src/components/molecules/FeaturesBarv2/styles.js +0 -17
  162. package/src/components/molecules/GalleryElementv2/GalleryElementv2.stories.js +0 -30
  163. package/src/components/molecules/GalleryElementv2/index.js +0 -142
  164. package/src/components/molecules/GalleryElementv2/styles.js +0 -119
  165. package/src/components/molecules/GalleryHeaderv2/GalleryHeaderv2.stories.js +0 -10
  166. package/src/components/molecules/GalleryHeaderv2/index.js +0 -25
  167. package/src/components/molecules/GalleryHeaderv2/styles.js +0 -47
  168. package/src/components/molecules/GroupSelect/GroupSelect.stories.js +0 -35
  169. package/src/components/molecules/GroupSelect/SelectItem.js +0 -105
  170. package/src/components/molecules/GroupSelect/index.js +0 -190
  171. package/src/components/molecules/GroupSelect/styles.js +0 -124
  172. package/src/components/molecules/HeaderTopv2/HeaderTopv2.stories.js +0 -10
  173. package/src/components/molecules/HeaderTopv2/index.js +0 -100
  174. package/src/components/molecules/HeaderTopv2/styles.js +0 -33
  175. package/src/components/molecules/ImageSelectorv2/ImageSelectorv2.stories.js +0 -46
  176. package/src/components/molecules/ImageSelectorv2/index.js +0 -22
  177. package/src/components/molecules/ImageSelectorv2/styles.js +0 -15
  178. package/src/components/molecules/Phase/Phase.stories.js +0 -107
  179. package/src/components/molecules/Phase/index.js +0 -391
  180. package/src/components/molecules/Phase/styles.js +0 -97
  181. package/src/components/molecules/ProductNameHeaderv2/ProductNameHeaderv2.stories.js +0 -37
  182. package/src/components/molecules/ProductNameHeaderv2/index.js +0 -12
  183. package/src/components/molecules/ProductNameHeaderv2/styles.js +0 -10
  184. package/src/components/molecules/ProductSkuStatus/ProductSkuStatus.stories.js +0 -37
  185. package/src/components/molecules/ProductSkuStatus/index.js +0 -26
  186. package/src/components/molecules/ProductSkuStatus/styles.js +0 -7
  187. package/src/components/molecules/RetailerSelectorv2/RetailerSelectorv2.stories.js +0 -35
  188. package/src/components/molecules/RetailerSelectorv2/index.js +0 -80
  189. package/src/components/molecules/RetailerSelectorv2/styles.js +0 -21
  190. package/src/components/molecules/ServiceDataValidator/ServiceDataValidator.stories.js +0 -90
  191. package/src/components/molecules/ServiceDataValidator/index.js +0 -49
  192. package/src/components/molecules/ServiceDataValidator/styles.js +0 -36
  193. package/src/components/molecules/StatusRetailer/StatusAsignationInfo.stories.js +0 -17
  194. package/src/components/molecules/StatusRetailer/index.js +0 -55
  195. package/src/components/molecules/StatusRetailer/styles.js +0 -85
  196. package/src/components/molecules/TabsMenuv2/TabsMenuv2.stories.js +0 -19
  197. package/src/components/molecules/TabsMenuv2/index.js +0 -112
  198. package/src/components/molecules/TabsMenuv2/styles.js +0 -19
  199. package/src/components/molecules/TagAndInputv2/TagAndInputv2.stories.js +0 -24
  200. package/src/components/molecules/TagAndInputv2/index.js +0 -86
  201. package/src/components/molecules/TagAndInputv2/styles.js +0 -35
  202. package/src/components/molecules/Validation/Validation.stories.js +0 -12
  203. package/src/components/molecules/Validation/index.js +0 -77
  204. package/src/components/molecules/Validation/styles.js +0 -19
  205. package/src/components/molecules/VersionItemv2/VersionItemv2.stories.js +0 -14
  206. package/src/components/molecules/VersionItemv2/index.js +0 -59
  207. package/src/components/molecules/VersionItemv2/styles.js +0 -47
  208. package/src/components/organisms/BarButtons/BarButtons.stories.js +0 -13
  209. package/src/components/organisms/BarButtons/index.js +0 -150
  210. package/src/components/organisms/BarButtons/styles.js +0 -54
  211. package/src/components/organisms/Chatv2/ChatLists/ChatLists.stories.js +0 -65
  212. package/src/components/organisms/Chatv2/ChatLists/Rotoplas.jpeg +0 -0
  213. package/src/components/organisms/Chatv2/ChatLists/THD.png +0 -0
  214. package/src/components/organisms/Chatv2/ChatLists/index.js +0 -141
  215. package/src/components/organisms/Chatv2/ChatLists/styles.js +0 -162
  216. package/src/components/organisms/Chatv2/Chatv2.stories.js +0 -184
  217. package/src/components/organisms/Chatv2/ContainerItems/ContainerItems.stories.js +0 -142
  218. package/src/components/organisms/Chatv2/ContainerItems/index.js +0 -538
  219. package/src/components/organisms/Chatv2/ContainerItems/styles.js +0 -360
  220. package/src/components/organisms/Chatv2/ContentChat/ContentChat.stories.js +0 -102
  221. package/src/components/organisms/Chatv2/ContentChat/Rotoplas.jpeg +0 -0
  222. package/src/components/organisms/Chatv2/ContentChat/THD.png +0 -0
  223. package/src/components/organisms/Chatv2/ContentChat/index.js +0 -1016
  224. package/src/components/organisms/Chatv2/ContentChat/styles.js +0 -44
  225. package/src/components/organisms/Chatv2/Footer/Footer.stories.js +0 -22
  226. package/src/components/organisms/Chatv2/Footer/index.js +0 -668
  227. package/src/components/organisms/Chatv2/Footer/styles.js +0 -290
  228. package/src/components/organisms/Chatv2/Header/Header.stories.js +0 -66
  229. package/src/components/organisms/Chatv2/Header/index.js +0 -93
  230. package/src/components/organisms/Chatv2/Header/styles.js +0 -49
  231. package/src/components/organisms/Chatv2/index.js +0 -281
  232. package/src/components/organisms/Chatv2/styles.js +0 -85
  233. package/src/components/organisms/CompleteServices/CompleteServices.stories.js +0 -91
  234. package/src/components/organisms/CompleteServices/index.js +0 -82
  235. package/src/components/organisms/CompleteServices/styles.js +0 -35
  236. package/src/components/organisms/DragAndDropPhases/DragAndDropPhases.stories.js +0 -13
  237. package/src/components/organisms/DragAndDropPhases/index.js +0 -336
  238. package/src/components/organisms/DragAndDropPhases/styles.js +0 -107
  239. package/src/components/organisms/DragPrueba/DragPrueba.stories.js +0 -12
  240. package/src/components/organisms/DragPrueba/index.js +0 -57
  241. package/src/components/organisms/DragPrueba/styles.js +0 -8
  242. package/src/components/organisms/EditGroup/EditGroup.stories.js +0 -20
  243. package/src/components/organisms/EditGroup/index.js +0 -321
  244. package/src/components/organisms/EditGroup/styles.js +0 -207
  245. package/src/components/organisms/FullProductNamev2/FullProductNamev2.stories.js +0 -28
  246. package/src/components/organisms/FullProductNamev2/index.js +0 -101
  247. package/src/components/organisms/FullProductNamev2/styles.js +0 -49
  248. package/src/components/organisms/FullTabsMenuv2/FullTabsMenuv2.stories.js +0 -22
  249. package/src/components/organisms/FullTabsMenuv2/index.js +0 -142
  250. package/src/components/organisms/FullTabsMenuv2/styles.js +0 -47
  251. package/src/components/organisms/ImageDataTablev2/ImageDataTablev2.stories.js +0 -24
  252. package/src/components/organisms/ImageDataTablev2/index.js +0 -124
  253. package/src/components/organisms/ImageDataTablev2/styles.js +0 -18
  254. package/src/components/organisms/ImagePreviewerv2/ImagePreviewerv2.stories.js +0 -38
  255. package/src/components/organisms/ImagePreviewerv2/index.js +0 -22
  256. package/src/components/organisms/ImagePreviewerv2/styles.js +0 -7
  257. package/src/components/organisms/ImageUploader/ImageUploader.stories.js +0 -15
  258. package/src/components/organisms/ImageUploader/index.js +0 -62
  259. package/src/components/organisms/ImageUploader/styles.js +0 -29
  260. package/src/components/organisms/ImageVisor/ImageVisor.stories.js +0 -15
  261. package/src/components/organisms/ImageVisor/index.js +0 -143
  262. package/src/components/organisms/ImageVisor/styles.js +0 -106
  263. package/src/components/organisms/InputGroupv2/InputGroupv2.stories.js +0 -31
  264. package/src/components/organisms/InputGroupv2/index.js +0 -296
  265. package/src/components/organisms/InputGroupv2/styles.js +0 -90
  266. package/src/components/organisms/MandatoryBar/MandatoryBar.stories.js +0 -18
  267. package/src/components/organisms/MandatoryBar/index.js +0 -31
  268. package/src/components/organisms/MandatoryBar/styles.js +0 -12
  269. package/src/components/organisms/ProductImageModalv2/ProductImageModalv2.stories.js +0 -90
  270. package/src/components/organisms/ProductImageModalv2/index.js +0 -105
  271. package/src/components/organisms/ProductImageModalv2/styles.js +0 -71
  272. package/src/components/organisms/RenameImagesBar/RenameImagesBar.stories.js +0 -18
  273. package/src/components/organisms/RenameImagesBar/index.js +0 -30
  274. package/src/components/organisms/RenameImagesBar/styles.js +0 -12
  275. package/src/components/organisms/Table/Table.stories.js +0 -609
  276. package/src/components/organisms/Table/index.js +0 -84
  277. package/src/components/organisms/Table/styles.js +0 -114
  278. package/src/components/organisms/VersionSelectorv2/VersionSelectorv2.stories.js +0 -15
  279. package/src/components/organisms/VersionSelectorv2/index.js +0 -105
  280. package/src/components/organisms/VersionSelectorv2/styles.js +0 -45
  281. package/src/components/pages/MultipleEdition/MultipleEdition.stories.js +0 -17
  282. package/src/components/pages/MultipleEdition/components/ImageUploader.js +0 -62
  283. package/src/components/pages/MultipleEdition/components/ImageUploaderStyles.js +0 -29
  284. package/src/components/pages/MultipleEdition/components/ImageVisor.js +0 -143
  285. package/src/components/pages/MultipleEdition/components/styles.js +0 -106
  286. package/src/components/pages/MultipleEdition/index.js +0 -248
  287. package/src/components/pages/MultipleEdition/saveData.js +0 -92
  288. package/src/components/pages/MultipleEdition/styles.js +0 -201
  289. package/src/components/pages/MultipleEdition/utils.js +0 -1073
  290. package/src/components/pages/ProductEditionv2/ProductEditionv2.stories.js +0 -213
  291. package/src/components/pages/ProductEditionv2/index.js +0 -1758
  292. package/src/components/pages/ProductEditionv2/styles.js +0 -154
  293. package/src/components/pages/RetailerProductEdition/generateThumnail.js +0 -21
@@ -1,538 +0,0 @@
1
- import { Container } from "./styles";
2
- import { useEffect, useState } from "react";
3
- import { getProfilePicture } from "../../../../global-files/data";
4
- import { ImageTooltip } from "../../../molecules/ImageTooltip";
5
- import {
6
- decodeJSON,
7
- getFullDate,
8
- getImageURL,
9
- getResizeImgHeight,
10
- getTime,
11
- } from "../../../../global-files/utils";
12
- import {
13
- faUser as IconUser,
14
- faImage as IconImage,
15
- faRedoAlt as IconReload,
16
- } from "@fortawesome/free-solid-svg-icons";
17
- import { CustomIcon } from "../../../atoms/CustomIcon";
18
- import { ButtonV2 } from "../../../atoms/ButtonV2";
19
- import { ButtonDownloadFile } from "../../../molecules/ButtonDownloadFile";
20
- import { Modal } from "../../Modal";
21
- import { Tooltip } from "../../../atoms/Tooltip";
22
- import { Slide, Zoom } from "@mui/material";
23
- import { useRef } from "react";
24
- import { ImagePreview } from "../../../atoms/ImagePreview";
25
- import { Status } from "../../../atoms/Status";
26
- import { isUserTech } from "../../../../global-files/handle_userTech";
27
- import { container } from "aws-amplify";
28
-
29
- export const ContainerItems = (props) => {
30
- const {
31
- items /* [
32
- { id , date , type , value , userId } ,
33
- ...
34
- ] */,
35
- users /* {
36
- id: { name , companyId } ,
37
- ...
38
- } */,
39
- currentUser, // { id , companyId , ... }
40
- activeCompanyId, // number
41
- chatType, // string
42
- showBtnLoadMore, // boolean
43
- onClickBtnLoadMore, // () => {}
44
- ticketCompany, // id de la comañía que creó el ticket
45
- } = props;
46
- const [scrollHeight, setScrollHeight] = useState(0);
47
- const [btnLoadMoreLoading, setBtnLoadMoreLoading] = useState(false);
48
- const [customItems, setCustomItems] = useState([]);
49
- const [modalAlert, setModalAlert] = useState({
50
- show: false,
51
- title: "",
52
- message: "",
53
- });
54
- const containerList = useRef(null);
55
- const containerItems = useRef(null);
56
-
57
- useEffect(() => {
58
- if (!items) return;
59
- if (
60
- ["merchant_product", "order_product", "product_status"].includes(chatType)
61
- )
62
- renderItems();
63
- else if (chatType === "ticket") renderItemsTicket();
64
- else setCustomItems([]);
65
- }, [items]);
66
-
67
- useEffect(() => {
68
- const containerScroll = document.getElementById("ulItems");
69
- if (customItems.length)
70
- setTimeout(() => {
71
- containerScroll.lastElementChild.scrollIntoView({
72
- block: "start",
73
- });
74
- }, 1);
75
- }, [customItems]);
76
-
77
- const updateScroll = () => {
78
- const containerScroll = document.getElementById("containerItems");
79
- if (containerScroll) {
80
- const newScrollHeight = containerScroll.scrollHeight + 15;
81
- const positionScroll = newScrollHeight - scrollHeight;
82
-
83
- if (newScrollHeight !== scrollHeight) {
84
- containerScroll.scrollTop = positionScroll;
85
- setScrollHeight(newScrollHeight);
86
- }
87
- }
88
- };
89
-
90
- const renderGrayLabel = (text, key) => {
91
- return (
92
- <Zoom
93
- in={true}
94
- timeout={600}
95
- container={containerList.current}
96
- key={key ?? ""}
97
- >
98
- <li className={`label-gray`}>
99
- <div className="separator"></div>
100
- <label>{text}</label>
101
- <div className="separator"></div>
102
- </li>
103
- </Zoom>
104
- );
105
- };
106
-
107
- const renderStatusService = (text, key) => {
108
- return (
109
- <Zoom
110
- in={true}
111
- timeout={600}
112
- container={containerList.current}
113
- key={key ?? ""}
114
- >
115
- <div className="label-statusService">{text}</div>
116
- </Zoom>
117
- );
118
- };
119
-
120
- const renderStatusArticle = (text, key) => {
121
- return (
122
- <Zoom
123
- in={true}
124
- timeout={600}
125
- container={containerList.current}
126
- key={key ?? ""}
127
- >
128
- <div className="label-statusArticle">{text}</div>
129
- </Zoom>
130
- );
131
- };
132
-
133
- const renderStatusTicket = (item) => {
134
- return <label className="item-statusTicket">{item.value}</label>;
135
- };
136
-
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
- const renderStatusTicketNeutral = (item) => {
148
- return (
149
- <Tooltip
150
- componentTooltip={<label>{users[item.userId].name}</label>}
151
- className="itemStatus ticket"
152
- position={"topCenter"}
153
- addArrow={false}
154
- transitionType={"zoom"}
155
- followCursor={false}
156
- >
157
- {item.value}
158
- </Tooltip>
159
- );
160
- };
161
-
162
- const renderMessage = (item, differentCompany) => {
163
- return (
164
- <label
165
- className={`item-message ${
166
- differentCompany ? "different-company" : ""
167
- }`}
168
- >
169
- {" "}
170
- {item.value}{" "}
171
- </label>
172
- );
173
- };
174
-
175
- const renderComment = (item) => {
176
- return <label className="item-comment"> {item.value} </label>;
177
- };
178
-
179
- const renderImg = (item) => {
180
- const value = decodeJSON(item.value);
181
- const originalImgURL = `${process.env.REACT_APP_IMAGES_ENDPOINT}/${value.key}`;
182
- // dimensiones de la imagen a mostrar en el chat
183
- const imgHeight = getResizeImgHeight(
184
- value.width ?? 400,
185
- value.height ?? 400,
186
- 400
187
- );
188
- const imgURL = getImageURL(
189
- process.env.REACT_APP_IMAGES_BUCKET,
190
- value.key,
191
- 400,
192
- imgHeight
193
- );
194
- // dimensiones de la imagen a mostrar en modal full
195
- const modalImgHeight = getResizeImgHeight(
196
- value.width ?? screen.width,
197
- value.height ?? screen.height,
198
- screen.width
199
- );
200
- const modalImgURL = getImageURL(
201
- process.env.REACT_APP_IMAGES_BUCKET,
202
- value.key,
203
- screen.width,
204
- modalImgHeight
205
- );
206
-
207
- return (
208
- <div className="item-img">
209
- <ImagePreview
210
- className="container-ImagePreview"
211
- width={"100%"}
212
- sizeLoading={35}
213
- colorLoading={undefined}
214
- imgURL={imgURL}
215
- modalImgURL={modalImgURL}
216
- downloadImgURL={originalImgURL}
217
- imageName={value.name}
218
- showButtonDownload={true}
219
- componentDefault={
220
- <Tooltip
221
- componentTooltip={<label>{value.name}</label>}
222
- className="label-nameImg"
223
- position={"topCenter"}
224
- addArrow={false}
225
- transitionType={"zoom"}
226
- followCursor={false}
227
- >
228
- <CustomIcon
229
- className="iconDefaultImg"
230
- type={"white"}
231
- size={60}
232
- borderType={"rectangle"}
233
- icon={IconImage}
234
- />
235
- </Tooltip>
236
- }
237
- componentDefaultModal={
238
- <Tooltip
239
- componentTooltip={<label>{value.name}</label>}
240
- className="label-nameImgModal"
241
- position={"topCenter"}
242
- addArrow={false}
243
- transitionType={"zoom"}
244
- followCursor={false}
245
- >
246
- <CustomIcon
247
- className="iconDefaultImgModal"
248
- type={"white"}
249
- size={100}
250
- borderType={"rectangle"}
251
- icon={IconImage}
252
- />
253
- </Tooltip>
254
- }
255
- />
256
- </div>
257
- );
258
- /*
259
- <Tooltip
260
- componentTooltip={<label>{value.name}</label>}
261
- className="label-nameFileShort"
262
- position={"topCenter"}
263
- addArrow={false}
264
- transitionType={"zoom"}
265
- followCursor={false}
266
- >
267
- {value.name}
268
- </Tooltip>
269
- */
270
- };
271
-
272
- const renderFile = (item, ownMessage) => {
273
- const value = decodeJSON(item.value);
274
- const url = `${process.env.REACT_APP_IMAGES_ENDPOINT}/${value.key}`;
275
-
276
- return (
277
- <div className="item-file">
278
- <ButtonDownloadFile
279
- className="btnDownloadFileItem"
280
- size={22}
281
- type={ownMessage ? "black" : "white"}
282
- transparent
283
- url={url}
284
- onDownload={(error) => {
285
- error &&
286
- setModalAlert((prev) => ({
287
- show: true,
288
- title: error.message,
289
- message: error.details,
290
- }));
291
- }}
292
- />
293
- <Tooltip
294
- componentTooltip={<label>{value.name}</label>}
295
- className="label-nameFileShort"
296
- position={"topCenter"}
297
- addArrow={false}
298
- transitionType={"zoom"}
299
- followCursor={false}
300
- >
301
- {value.name}
302
- </Tooltip>
303
- </div>
304
- );
305
- };
306
-
307
- const getUserCreatedItem = (ownMessage, item, lastUserId) => {
308
- const differentCompany =
309
- currentUser.companyId !== users[item.userId].companyId;
310
- return (
311
- <Slide
312
- id={"itemScroll-" + item.id}
313
- direction={ownMessage ? "left" : "right"}
314
- in={true}
315
- timeout={500}
316
- container={containerList.current}
317
- key={"item-" + item.id}
318
- >
319
- <li
320
- className={
321
- (ownMessage && item.type !== "status" ? "own-message " : "") +
322
- (lastUserId === item.userId ? "sameUser" : "")
323
- }
324
- >
325
- {/* img del user */}
326
- {item.type !== "statusTicket" && lastUserId !== item.userId && (
327
- <ImageTooltip
328
- className={"container-imgUser"}
329
- sizeLoading={25}
330
- colorLoading={undefined}
331
- src={getProfilePicture(item.userId, 34, 34)}
332
- componentDefault={
333
- <CustomIcon
334
- className="icon-imgUser"
335
- type={"whiteS2"}
336
- size={17}
337
- borderType={"circle"}
338
- icon={IconUser}
339
- />
340
- }
341
- classNameTooltip={"tooltip-imgUser"}
342
- componentTooltip={
343
- <label className="label-nameUser">
344
- {users[item.userId].name}
345
- </label>
346
- }
347
- />
348
- )}
349
-
350
- {item.type === "message"
351
- ? renderMessage(item, differentCompany)
352
- : item.type === "comment"
353
- ? renderComment(item)
354
- : item.type === "img"
355
- ? renderImg(item)
356
- : item.type === "status"
357
- ? renderStatusItem(item)
358
- : item.type === "file"
359
- ? renderFile(item, ownMessage)
360
- : item.type === "statusTicket" &&
361
- [ticketCompany, 254].includes(currentUser.companyId)
362
- ? renderStatusTicket(item)
363
- : null}
364
-
365
- <label className="label-time">{getTime(item.date)}</label>
366
- </li>
367
- </Slide>
368
- );
369
- };
370
-
371
- const getItemNeutral = (item) => {
372
- return (
373
- <Zoom
374
- in={true}
375
- timeout={600}
376
- container={containerList.current}
377
- key={"item-" + item.id}
378
- >
379
- <li className={"itemNeutral"}>
380
- {item.type === "statusTicket"
381
- ? renderStatusTicketNeutral(item)
382
- : null}
383
- </li>
384
- </Zoom>
385
- );
386
- };
387
-
388
- const renderItems = () => {
389
- let jsxItems = [];
390
- let date = undefined;
391
- let countDate = 1;
392
- for (const item of items) {
393
- // manejo de las etiquetas fechas
394
- if (!date) {
395
- date = getFullDate(new Date(item.date));
396
- jsxItems.push(renderGrayLabel(date, `itemDate-${countDate++}`));
397
- } else {
398
- let newDate = getFullDate(new Date(item.date));
399
- if (newDate !== date) {
400
- jsxItems.push(renderGrayLabel(newDate, `itemDate-${countDate++}`));
401
- date = newDate;
402
- }
403
- }
404
-
405
- // elementos que van alineados al centro
406
- switch (item.type) {
407
- case "statusArticle":
408
- jsxItems.push(renderStatusArticle(item.value, `item-${item.id}`));
409
- break;
410
- case "statusService":
411
- jsxItems.push(renderStatusService(item.value, `item-${item.id}`));
412
- break;
413
- }
414
-
415
- // acomodo del item (left o right)
416
- let ownMessage = false;
417
- // CHAT MERCHANT ARTICLE
418
- if (currentUser.id === item.userId) {
419
- ownMessage = true;
420
- }
421
-
422
- // renderizar tipo de item
423
- jsxItems.push(getUserCreatedItem(ownMessage, item));
424
- }
425
- setCustomItems(jsxItems);
426
- };
427
-
428
- const renderItemsTicket = () => {
429
- let jsxItems = [];
430
- let date = undefined;
431
- let countDate = 1;
432
- let lastUserId = undefined;
433
-
434
- // recorrido de los items (del mas viejo al mas reciente)
435
- for (let index = items.length - 1; index >= 0; index--) {
436
- const item = items[index];
437
- // manejo de las etiquetas fechas
438
- if (!date) {
439
- date = getFullDate(new Date(item.date));
440
- if (item.type === "statusTicket") {
441
- [ticketCompany, 254].includes(currentUser.companyId) &&
442
- jsxItems.push(renderGrayLabel(date, `itemDate-${countDate++}`));
443
- } else {
444
- jsxItems.push(renderGrayLabel(date, `itemDate-${countDate++}`));
445
- }
446
- lastUserId = undefined;
447
- } else {
448
- let newDate = getFullDate(new Date(item.date));
449
- if (newDate !== date) {
450
- if (item.type === "statusTicket") {
451
- [ticketCompany, 254].includes(currentUser.companyId) &&
452
- jsxItems.push(renderGrayLabel(date, `itemDate-${countDate++}`));
453
- } else {
454
- jsxItems.push(renderGrayLabel(date, `itemDate-${countDate++}`));
455
- }
456
- date = newDate;
457
- lastUserId = undefined;
458
- }
459
- }
460
-
461
- // elementos que van alineados al centro
462
- /*
463
- switch (item.type) {
464
- case "statusTicket":
465
- jsxItems.push(getItemNeutral(item));
466
- lastUserId = undefined;
467
- continue;
468
- }
469
- */
470
-
471
- // acomodo del item (left o right)
472
- let ownMessage = false;
473
- if (currentUser.id === item.userId) {
474
- ownMessage = true;
475
- }
476
-
477
- // renderizar tipo de item
478
- jsxItems.push(
479
- getUserCreatedItem(ownMessage, item, lastUserId, index === 0)
480
- );
481
- lastUserId = item.userId;
482
- }
483
-
484
- setCustomItems(jsxItems);
485
- };
486
-
487
- return (
488
- <>
489
- <Container id="containerItems" ref={containerItems}>
490
- <div className="btn-loadMore">
491
- {showBtnLoadMore && (
492
- <ButtonV2
493
- className="container-btnLoadMore"
494
- type={"purple"}
495
- label={"cargar más"}
496
- size={10}
497
- borderType="oval"
498
- icon={IconReload}
499
- iconPosition="start"
500
- isLoading={btnLoadMoreLoading}
501
- onClick={async (event) => {
502
- setBtnLoadMoreLoading(true);
503
- if (onClickBtnLoadMore) {
504
- const responseError = await onClickBtnLoadMore();
505
- if (responseError) {
506
- setModalAlert({
507
- show: true,
508
- title: responseError.title,
509
- message: responseError.message,
510
- });
511
- }
512
- }
513
- setBtnLoadMoreLoading(false);
514
- }}
515
- />
516
- )}
517
- </div>
518
-
519
- <ul id="ulItems" ref={containerList}>
520
- {customItems}
521
- </ul>
522
- </Container>
523
-
524
- <Modal
525
- show={modalAlert.show}
526
- title={modalAlert.title}
527
- message={modalAlert.message}
528
- icon={"info"}
529
- onClickBtnDefault={(event) =>
530
- setModalAlert((prev) => ({
531
- ...prev,
532
- show: false,
533
- }))
534
- }
535
- />
536
- </>
537
- );
538
- };