contentoh-components-library 21.5.3 → 21.5.5

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 (295) hide show
  1. package/dist/components/organisms/InputGroup/index.js +1 -1
  2. package/dist/components/organisms/Table/styles.js +1 -1
  3. package/dist/components/pages/MultipleEdition/saveData.js +9 -19
  4. package/dist/components/pages/MultipleEdition/styles.js +1 -1
  5. package/dist/components/pages/MultipleEdition/utils.js +86 -153
  6. package/dist/components/pages/ProviderProductEdition/index.js +3 -4
  7. package/package.json +4 -1
  8. package/src/assets/images/Icons/addv2.svg +8 -0
  9. package/src/assets/images/Icons/beenhere.svg +9 -0
  10. package/src/assets/images/Icons/checkv2.svg +8 -0
  11. package/src/assets/images/Icons/close-magenta.svg +9 -0
  12. package/src/assets/images/Icons/close.svg +8 -0
  13. package/src/assets/images/Icons/closeCircle.svg +8 -0
  14. package/src/assets/images/Icons/delete-forever-red.svg +9 -0
  15. package/src/assets/images/Icons/delete-forever-white.svg +10 -0
  16. package/src/assets/images/Icons/edit.svg +8 -0
  17. package/src/assets/images/Icons/fullscreen.svg +3 -0
  18. package/src/assets/images/Icons/infoNR.svg +8 -0
  19. package/src/assets/images/Icons/options.svg +3 -0
  20. package/src/assets/images/Icons/save-white-gray.svg +9 -0
  21. package/src/assets/images/Icons/save-white.svg +9 -0
  22. package/src/assets/images/Icons/save.svg +8 -0
  23. package/src/assets/images/Icons/search.svg +3 -0
  24. package/src/assets/images/Icons/settings.svg +8 -0
  25. package/src/assets/images/Icons/trash.svg +8 -0
  26. package/src/assets/images/Icons/undo.svg +8 -0
  27. package/src/assets/images/Icons/upload-file-white.svg +4 -0
  28. package/src/assets/images/Icons/upload-file.svg +10 -0
  29. package/src/assets/images/Icons/upload_file.svg +10 -0
  30. package/src/assets/images/Icons/warningv2.svg +3 -0
  31. package/src/assets/images/checkBox/checkrosa.svg +3 -0
  32. package/src/assets/images/checkBox/checkverde.svg +3 -0
  33. package/src/assets/images/flagsv2/highPriority.svg +3 -0
  34. package/src/assets/images/flagsv2/lowPriority.svg +3 -0
  35. package/src/assets/images/flagsv2/mediumPriority.svg +3 -0
  36. package/src/assets/images/flagsv2/noPriority.svg +3 -0
  37. package/src/assets/images/generalButton/closeIconWhite.svg +4 -0
  38. package/src/assets/images/generalButton/closeIconv2.svg +4 -0
  39. package/src/assets/images/generalButton/saveIconpink.svg +3 -0
  40. package/src/components/atoms/Avatar/index.js +8 -2
  41. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +1 -0
  42. package/src/components/atoms/ButtonV2/index.js +1 -0
  43. package/src/components/atoms/ButtonV2/styles.js +16 -0
  44. package/src/components/atoms/CharsMissing/Wysiwyg.stories.js +12 -0
  45. package/src/components/atoms/CharsMissing/index.js +60 -0
  46. package/src/components/atoms/CharsMissing/styles.js +44 -0
  47. package/src/components/atoms/CheckBox/CheckBox.stories.js +5 -0
  48. package/src/components/atoms/CheckBox/index.js +5 -1
  49. package/src/components/atoms/CheckBox/styles.js +9 -3
  50. package/src/components/atoms/CustomChip/CustomChip.stories.js +16 -0
  51. package/src/components/atoms/CustomChip/index.js +34 -0
  52. package/src/components/atoms/CustomChip/styles.js +6 -0
  53. package/src/components/atoms/FeatureTagv2/FeatureTagv2.stories.js +16 -0
  54. package/src/components/atoms/FeatureTagv2/index.js +10 -0
  55. package/src/components/atoms/FeatureTagv2/styles.js +56 -0
  56. package/src/components/atoms/GeneralButton/styles.js +46 -0
  57. package/src/components/atoms/GeneralInput/index.js +3 -0
  58. package/src/components/atoms/GeneralInput/styles.js +19 -1
  59. package/src/components/atoms/GeneralInputv2/GeneralInputv2.stories.js +33 -0
  60. package/src/components/atoms/GeneralInputv2/index.js +155 -0
  61. package/src/components/atoms/GeneralInputv2/styles.js +67 -0
  62. package/src/components/atoms/InputFormatter/index.js +2 -1
  63. package/src/components/atoms/InputFormatter/styles.js +9 -4
  64. package/src/components/atoms/InputFormatterv2/Wysiwyg.stories.js +12 -0
  65. package/src/components/atoms/InputFormatterv2/index.js +148 -0
  66. package/src/components/atoms/InputFormatterv2/styles.js +39 -0
  67. package/src/components/atoms/InputImages/InputImages.stories.js +19 -0
  68. package/src/components/atoms/InputImages/index.js +25 -0
  69. package/src/components/atoms/InputImages/styles.js +17 -0
  70. package/src/components/atoms/Multiselect/Multiselect.stories.js +364 -0
  71. package/src/components/atoms/Multiselect/index.js +351 -0
  72. package/src/components/atoms/Multiselect/styles.js +33 -0
  73. package/src/components/atoms/NumberMandatory/NumberMandatory.stories.js +19 -0
  74. package/src/components/atoms/NumberMandatory/index.js +16 -0
  75. package/src/components/atoms/NumberMandatory/styles.js +11 -0
  76. package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +20 -0
  77. package/src/components/atoms/ObservationFlag/index.js +167 -0
  78. package/src/components/atoms/ObservationFlag/styles.js +104 -0
  79. package/src/components/atoms/PriorityFlagv2/PriorityFlagv2.stories.js +20 -0
  80. package/src/components/atoms/PriorityFlagv2/index.js +20 -0
  81. package/src/components/atoms/PriorityFlagv2/styles.js +6 -0
  82. package/src/components/atoms/ProductImage/index.js +24 -11
  83. package/src/components/atoms/ProductImage/styles.js +7 -0
  84. package/src/components/atoms/ProductImagev2/ProductImagev2.stories.js +28 -0
  85. package/src/components/atoms/ProductImagev2/index.js +16 -0
  86. package/src/components/atoms/ProductImagev2/styles.js +62 -0
  87. package/src/components/atoms/Progress/Progress.stories.js +25 -0
  88. package/src/components/atoms/Progress/index.js +74 -0
  89. package/src/components/atoms/Progress/styles.js +98 -0
  90. package/src/components/atoms/ScreenHeaderv2/ScreenHeaderv2.stories.js +53 -0
  91. package/src/components/atoms/ScreenHeaderv2/index.js +134 -0
  92. package/src/components/atoms/ScreenHeaderv2/styles.js +103 -0
  93. package/src/components/atoms/Selectv2/VersionSelect.js +27 -0
  94. package/src/components/atoms/Selectv2/index.js +35 -0
  95. package/src/components/atoms/Selectv2/style.js +93 -0
  96. package/src/components/atoms/SliderToolTip/styles.js +1 -1
  97. package/src/components/atoms/TabSection/index.js +1 -1
  98. package/src/components/atoms/TabSection/styles.js +0 -3
  99. package/src/components/atoms/TabSectionv2/TabSection.stories.js +25 -0
  100. package/src/components/atoms/TabSectionv2/index.js +9 -0
  101. package/src/components/atoms/TabSectionv2/styles.js +20 -0
  102. package/src/components/atoms/TooltipLight/Tooltip.stories.js +20 -0
  103. package/src/components/atoms/TooltipLight/index.js +46 -0
  104. package/src/components/atoms/TooltipLight/styles.js +65 -0
  105. package/src/components/atoms/WordsMissing/Wysiwyg.stories.js +12 -0
  106. package/src/components/atoms/WordsMissing/index.js +60 -0
  107. package/src/components/atoms/WordsMissing/styles.js +10 -0
  108. package/src/components/molecules/AddGroup/AddGroup.stories.js +15 -0
  109. package/src/components/molecules/AddGroup/index.js +84 -0
  110. package/src/components/molecules/AddGroup/styles.js +141 -0
  111. package/src/components/molecules/AsignationInfo/AsignationInfo.stories.js +17 -0
  112. package/src/components/molecules/AsignationInfo/index.js +108 -0
  113. package/src/components/molecules/AsignationInfo/styles.js +86 -0
  114. package/src/components/molecules/BoxAttribute/index.js +32 -25
  115. package/src/components/molecules/BoxAttribute/styles.js +1 -1
  116. package/src/components/molecules/BoxButtons/index.js +23 -22
  117. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  118. package/src/components/molecules/EditionActiveImagev2/EditionActiveImagev2.stories.js +12 -0
  119. package/src/components/molecules/EditionActiveImagev2/index.js +15 -0
  120. package/src/components/molecules/EditionActiveImagev2/styles.js +7 -0
  121. package/src/components/molecules/EditionTabs/EditionTabs.stories.js +12 -0
  122. package/src/components/molecules/EditionTabs/index.js +33 -0
  123. package/src/components/molecules/EditionTabs/styles.js +24 -0
  124. package/src/components/molecules/FeaturesBarv2/FeaturesBarv2.stories.js +20 -0
  125. package/src/components/molecules/FeaturesBarv2/index.js +32 -0
  126. package/src/components/molecules/FeaturesBarv2/styles.js +17 -0
  127. package/src/components/molecules/GalleryElement/index.js +76 -1
  128. package/src/components/molecules/GalleryElementv2/GalleryElementv2.stories.js +30 -0
  129. package/src/components/molecules/GalleryElementv2/index.js +142 -0
  130. package/src/components/molecules/GalleryElementv2/styles.js +119 -0
  131. package/src/components/molecules/GalleryHeader/index.js +1 -0
  132. package/src/components/molecules/GalleryHeaderv2/GalleryHeaderv2.stories.js +10 -0
  133. package/src/components/molecules/GalleryHeaderv2/index.js +25 -0
  134. package/src/components/molecules/GalleryHeaderv2/styles.js +47 -0
  135. package/src/components/molecules/GroupSelect/GroupSelect.stories.js +35 -0
  136. package/src/components/molecules/GroupSelect/SelectItem.js +105 -0
  137. package/src/components/molecules/GroupSelect/index.js +190 -0
  138. package/src/components/molecules/GroupSelect/styles.js +124 -0
  139. package/src/components/molecules/HeaderTop/index.js +52 -6
  140. package/src/components/molecules/HeaderTopv2/HeaderTopv2.stories.js +10 -0
  141. package/src/components/molecules/HeaderTopv2/index.js +100 -0
  142. package/src/components/molecules/HeaderTopv2/styles.js +33 -0
  143. package/src/components/molecules/ImageSelectorv2/ImageSelectorv2.stories.js +46 -0
  144. package/src/components/molecules/ImageSelectorv2/index.js +22 -0
  145. package/src/components/molecules/ImageSelectorv2/styles.js +15 -0
  146. package/src/components/molecules/Phase/Phase.stories.js +107 -0
  147. package/src/components/molecules/Phase/index.js +391 -0
  148. package/src/components/molecules/Phase/styles.js +97 -0
  149. package/src/components/molecules/ProductNameHeader/index.js +19 -1
  150. package/src/components/molecules/ProductNameHeaderv2/ProductNameHeaderv2.stories.js +37 -0
  151. package/src/components/molecules/ProductNameHeaderv2/index.js +12 -0
  152. package/src/components/molecules/ProductNameHeaderv2/styles.js +10 -0
  153. package/src/components/molecules/ProductSkuStatus/ProductSkuStatus.stories.js +37 -0
  154. package/src/components/molecules/ProductSkuStatus/index.js +26 -0
  155. package/src/components/molecules/ProductSkuStatus/styles.js +7 -0
  156. package/src/components/molecules/RetailerSelectorv2/RetailerSelectorv2.stories.js +35 -0
  157. package/src/components/molecules/RetailerSelectorv2/index.js +80 -0
  158. package/src/components/molecules/RetailerSelectorv2/styles.js +21 -0
  159. package/src/components/molecules/ServiceDataValidator/ServiceDataValidator.stories.js +90 -0
  160. package/src/components/molecules/ServiceDataValidator/index.js +49 -0
  161. package/src/components/molecules/ServiceDataValidator/styles.js +36 -0
  162. package/src/components/molecules/SignInLogin/index.js +11 -11
  163. package/src/components/molecules/StatusAsignationInfo/FinancedCompanies.js +501 -63
  164. package/src/components/molecules/StatusAsignationInfo/index.js +1 -1
  165. package/src/components/molecules/StatusRetailer/StatusAsignationInfo.stories.js +17 -0
  166. package/src/components/molecules/StatusRetailer/index.js +55 -0
  167. package/src/components/molecules/StatusRetailer/styles.js +85 -0
  168. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +1 -2
  169. package/src/components/molecules/TabsMenuv2/TabsMenuv2.stories.js +19 -0
  170. package/src/components/molecules/TabsMenuv2/index.js +112 -0
  171. package/src/components/molecules/TabsMenuv2/styles.js +19 -0
  172. package/src/components/molecules/TagAndInput/index.js +8 -6
  173. package/src/components/molecules/TagAndInputv2/TagAndInputv2.stories.js +24 -0
  174. package/src/components/molecules/TagAndInputv2/index.js +86 -0
  175. package/src/components/molecules/TagAndInputv2/styles.js +35 -0
  176. package/src/components/molecules/Validation/Validation.stories.js +12 -0
  177. package/src/components/molecules/Validation/index.js +77 -0
  178. package/src/components/molecules/Validation/styles.js +19 -0
  179. package/src/components/molecules/VersionItemv2/VersionItemv2.stories.js +14 -0
  180. package/src/components/molecules/VersionItemv2/index.js +59 -0
  181. package/src/components/molecules/VersionItemv2/styles.js +47 -0
  182. package/src/components/organisms/BarButtons/BarButtons.stories.js +13 -0
  183. package/src/components/organisms/BarButtons/index.js +150 -0
  184. package/src/components/organisms/BarButtons/styles.js +54 -0
  185. package/src/components/organisms/Chat/Chat.stories.js +27 -7
  186. package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
  187. package/src/components/organisms/Chat/ContainerItems/styles.js +14 -2
  188. package/src/components/organisms/Chat/ContentChat/index.js +88 -12
  189. package/src/components/organisms/Chat/Footer/index.js +11 -0
  190. package/src/components/organisms/Chat/index.js +46 -4
  191. package/src/components/organisms/Chat/styles.js +4 -0
  192. package/src/components/organisms/Chatv2/ChatLists/ChatLists.stories.js +65 -0
  193. package/src/components/organisms/Chatv2/ChatLists/Rotoplas.jpeg +0 -0
  194. package/src/components/organisms/Chatv2/ChatLists/THD.png +0 -0
  195. package/src/components/organisms/Chatv2/ChatLists/index.js +141 -0
  196. package/src/components/organisms/Chatv2/ChatLists/styles.js +162 -0
  197. package/src/components/organisms/Chatv2/Chatv2.stories.js +184 -0
  198. package/src/components/organisms/Chatv2/ContainerItems/ContainerItems.stories.js +142 -0
  199. package/src/components/organisms/Chatv2/ContainerItems/index.js +538 -0
  200. package/src/components/organisms/Chatv2/ContainerItems/styles.js +360 -0
  201. package/src/components/organisms/Chatv2/ContentChat/ContentChat.stories.js +102 -0
  202. package/src/components/organisms/Chatv2/ContentChat/Rotoplas.jpeg +0 -0
  203. package/src/components/organisms/Chatv2/ContentChat/THD.png +0 -0
  204. package/src/components/organisms/Chatv2/ContentChat/index.js +1016 -0
  205. package/src/components/organisms/Chatv2/ContentChat/styles.js +44 -0
  206. package/src/components/organisms/Chatv2/Footer/Footer.stories.js +22 -0
  207. package/src/components/organisms/Chatv2/Footer/index.js +668 -0
  208. package/src/components/organisms/Chatv2/Footer/styles.js +290 -0
  209. package/src/components/organisms/Chatv2/Header/Header.stories.js +66 -0
  210. package/src/components/organisms/Chatv2/Header/index.js +93 -0
  211. package/src/components/organisms/Chatv2/Header/styles.js +49 -0
  212. package/src/components/organisms/Chatv2/index.js +281 -0
  213. package/src/components/organisms/Chatv2/styles.js +85 -0
  214. package/src/components/organisms/CompleteServices/CompleteServices.stories.js +91 -0
  215. package/src/components/organisms/CompleteServices/index.js +82 -0
  216. package/src/components/organisms/CompleteServices/styles.js +35 -0
  217. package/src/components/organisms/DashboardMetric/index.js +6 -3
  218. package/src/components/organisms/DragAndDropPhases/DragAndDropPhases.stories.js +13 -0
  219. package/src/components/organisms/DragAndDropPhases/index.js +336 -0
  220. package/src/components/organisms/DragAndDropPhases/styles.js +107 -0
  221. package/src/components/organisms/DragPrueba/DragPrueba.stories.js +12 -0
  222. package/src/components/organisms/DragPrueba/index.js +57 -0
  223. package/src/components/organisms/DragPrueba/styles.js +8 -0
  224. package/src/components/organisms/EditGroup/EditGroup.stories.js +20 -0
  225. package/src/components/organisms/EditGroup/index.js +321 -0
  226. package/src/components/organisms/EditGroup/styles.js +207 -0
  227. package/src/components/organisms/FullProductNameHeader/index.js +13 -1
  228. package/src/components/organisms/FullProductNamev2/FullProductNamev2.stories.js +28 -0
  229. package/src/components/organisms/FullProductNamev2/index.js +101 -0
  230. package/src/components/organisms/FullProductNamev2/styles.js +49 -0
  231. package/src/components/organisms/FullTabsMenuv2/FullTabsMenuv2.stories.js +22 -0
  232. package/src/components/organisms/FullTabsMenuv2/index.js +142 -0
  233. package/src/components/organisms/FullTabsMenuv2/styles.js +47 -0
  234. package/src/components/organisms/GridProducts/GridProducts.stories.js +682 -107
  235. package/src/components/organisms/ImageDataTablev2/ImageDataTablev2.stories.js +24 -0
  236. package/src/components/organisms/ImageDataTablev2/index.js +124 -0
  237. package/src/components/organisms/ImageDataTablev2/styles.js +18 -0
  238. package/src/components/organisms/ImagePreviewerv2/ImagePreviewerv2.stories.js +38 -0
  239. package/src/components/organisms/ImagePreviewerv2/index.js +22 -0
  240. package/src/components/organisms/ImagePreviewerv2/styles.js +7 -0
  241. package/src/components/organisms/ImageUploader/ImageUploader.stories.js +15 -0
  242. package/src/components/organisms/ImageUploader/index.js +62 -0
  243. package/src/components/organisms/ImageUploader/styles.js +29 -0
  244. package/src/components/organisms/ImageVisor/ImageVisor.stories.js +15 -0
  245. package/src/components/organisms/ImageVisor/index.js +143 -0
  246. package/src/components/organisms/ImageVisor/styles.js +106 -0
  247. package/src/components/organisms/InputGroup/index.js +292 -144
  248. package/src/components/organisms/InputGroup/styles.js +31 -0
  249. package/src/components/organisms/InputGroupv2/InputGroupv2.stories.js +31 -0
  250. package/src/components/organisms/InputGroupv2/index.js +296 -0
  251. package/src/components/organisms/InputGroupv2/styles.js +90 -0
  252. package/src/components/organisms/MandatoryBar/MandatoryBar.stories.js +18 -0
  253. package/src/components/organisms/MandatoryBar/index.js +31 -0
  254. package/src/components/organisms/MandatoryBar/styles.js +12 -0
  255. package/src/components/organisms/Modal/Modal.stories.js +2 -1
  256. package/src/components/organisms/Modal/index.js +9 -2
  257. package/src/components/organisms/Modal/styles.js +8 -1
  258. package/src/components/organisms/OrderDetail/utils/Table/utils.js +6 -16
  259. package/src/components/organisms/ProductImageModalv2/ProductImageModalv2.stories.js +90 -0
  260. package/src/components/organisms/ProductImageModalv2/index.js +105 -0
  261. package/src/components/organisms/ProductImageModalv2/styles.js +71 -0
  262. package/src/components/organisms/RenameImagesBar/RenameImagesBar.stories.js +18 -0
  263. package/src/components/organisms/RenameImagesBar/index.js +30 -0
  264. package/src/components/organisms/RenameImagesBar/styles.js +12 -0
  265. package/src/components/organisms/Table/Table.stories.js +609 -0
  266. package/src/components/organisms/Table/index.js +84 -0
  267. package/src/components/organisms/Table/styles.js +114 -0
  268. package/src/components/organisms/VersionSelectorv2/VersionSelectorv2.stories.js +15 -0
  269. package/src/components/organisms/VersionSelectorv2/index.js +105 -0
  270. package/src/components/organisms/VersionSelectorv2/styles.js +45 -0
  271. package/src/components/pages/Dashboard/Dashboard.stories.js +33 -38
  272. package/src/components/pages/Dashboard/index.js +36 -7
  273. package/src/components/pages/MultipleEdition/MultipleEdition.stories.js +17 -0
  274. package/src/components/pages/MultipleEdition/components/ImageUploader.js +62 -0
  275. package/src/components/pages/MultipleEdition/components/ImageUploaderStyles.js +29 -0
  276. package/src/components/pages/MultipleEdition/components/ImageVisor.js +143 -0
  277. package/src/components/pages/MultipleEdition/components/styles.js +106 -0
  278. package/src/components/pages/MultipleEdition/index.js +248 -0
  279. package/src/components/pages/MultipleEdition/saveData.js +92 -0
  280. package/src/components/pages/MultipleEdition/styles.js +201 -0
  281. package/src/components/pages/MultipleEdition/utils.js +1073 -0
  282. package/src/components/pages/ProductEditionv2/ProductEditionv2.stories.js +213 -0
  283. package/src/components/pages/ProductEditionv2/index.js +1758 -0
  284. package/src/components/pages/ProductEditionv2/styles.js +154 -0
  285. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +56 -60
  286. package/src/components/pages/ProviderProductEdition/index.js +149 -133
  287. package/src/components/pages/ProviderProductEdition/styles.js +5 -1
  288. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +4 -0
  289. package/src/components/pages/RetailerProductEdition/generateThumnail.js +21 -0
  290. package/src/components/pages/RetailerProductEdition/index.js +293 -300
  291. package/src/components/pages/RetailerProductEdition/styles.js +4 -0
  292. package/src/components/pages/RetailerProductEdition/utils.js +37 -0
  293. package/src/global-files/data.js +6 -10
  294. package/src/global-files/variables.js +6 -0
  295. package/src/index.js +12 -0
@@ -39,6 +39,10 @@ import Slide1_4 from "../../../assets/images/sliderToolTip/slide4.svg";
39
39
  import Slide1_5 from "../../../assets/images/sliderToolTip/slide5.svg";
40
40
  import { VersionSelector } from "../../organisms/VersionSelector";
41
41
  import { useCloseModal } from "../../../global-files/customHooks";
42
+ import { createMessage, sendMessage } from "../RetailerProductEdition/utils";
43
+ import { Modal } from "../../organisms/Modal";
44
+ import { ButtonV2 } from "../../atoms/ButtonV2";
45
+ import { Box } from "../../organisms/Box";
42
46
 
43
47
  const reducerImages = (state, action) => {
44
48
  let { values, attrForImgs, inputsByRetailer } = state;
@@ -147,7 +151,7 @@ export const ProviderProductEdition = ({
147
151
  const [datasheets, setDatasheets] = useState([]);
148
152
  const [images, setImages] = useReducer(reducerImages, {});
149
153
  const [showModal, setShowModal] = useState(false);
150
- const [boxData, setBoxData] = useState();
154
+ const [boxData, setBoxData] = useState({});
151
155
  const { getRootProps, getInputProps } = useDropzone({
152
156
  accept: "image/*",
153
157
  noKeyboard: true,
@@ -173,6 +177,7 @@ export const ProviderProductEdition = ({
173
177
  ext: ext[ext.length - 1],
174
178
  width: width,
175
179
  height: height,
180
+ isApproved: true, //VALIDAR QUE SOLO SEA PARA RADIOSHACK
176
181
  },
177
182
  };
178
183
  setImages(newImg);
@@ -222,6 +227,22 @@ export const ProviderProductEdition = ({
222
227
  const isRetailer = user?.is_retailer;
223
228
  const [loading, setLoading] = useState(true);
224
229
  const [validatedAll, setValidatedAll] = useState(false);
230
+ const [showRejectModal, setShowRejectModal] = useState(false);
231
+ const [approvedInputs, setApprovedInputs] = useState({});
232
+ const [approvedInputsImages, setApprovedInputsImages] = useState({});
233
+
234
+ const updateApprovedInputs = (inputId) => {
235
+ setApprovedInputs((prevInputs) => ({
236
+ ...prevInputs,
237
+ [inputId]: true,
238
+ }));
239
+ };
240
+ const updateApprovedInputsImages = (inputId) => {
241
+ setApprovedInputsImages((prevInputs) => ({
242
+ ...prevInputs,
243
+ [inputId]: true,
244
+ }));
245
+ };
225
246
 
226
247
  const [origin, setOrigin] = useState({
227
248
  "Ficha técnica": null,
@@ -351,28 +372,6 @@ export const ProviderProductEdition = ({
351
372
  (type) => {
352
373
  const formatter = new Intl.ListFormat("es", { type: "conjunction" });
353
374
  switch (type) {
354
- case "error":
355
- setGlobalModal({
356
- message: `${activeTab} rechazada`,
357
- detail: "Agrega tu comentarios para enviar el rechazo",
358
- img: errorModal,
359
- textArea: true,
360
- button1: {
361
- name: "Enviar",
362
- action: (e) => {
363
- const textArea = document.querySelector("#area");
364
- if (textArea.value.trim()) {
365
- textArea.style.border = "none";
366
- createComment(e, textArea.value.trim());
367
- showGlobalModal("commentsSent");
368
- validatedAll ? validateAll("R") : sendEvaluation("R");
369
- } else {
370
- textArea.style.border = "2px solid red";
371
- }
372
- },
373
- },
374
- });
375
- break;
376
375
  case "generic":
377
376
  setGlobalModal(dataGenericModal);
378
377
  break;
@@ -546,7 +545,9 @@ export const ProviderProductEdition = ({
546
545
  );
547
546
  setServicesData(parsedResponse);
548
547
  }
549
- !activeRetailer.id && setActiveRetailer(active ? active : retailers[0]);
548
+ retailers &&
549
+ !activeRetailer.id &&
550
+ setActiveRetailer(active ? active : retailers[0]);
550
551
  };
551
552
 
552
553
  const isRevision = () => {
@@ -624,7 +625,7 @@ export const ProviderProductEdition = ({
624
625
  });
625
626
  }
626
627
  setProduct(productTemp);
627
- setActivePercentage(retailers[0]?.percentage);
628
+ retailers && setActivePercentage(retailers[0]?.percentage);
628
629
  }, [percentages]);
629
630
 
630
631
  const loadInputs = () => {
@@ -676,6 +677,7 @@ export const ProviderProductEdition = ({
676
677
  changeImage={setImages}
677
678
  selectedImages={selectedImages}
678
679
  setSelectedImages={setSelectedImages}
680
+ updateApprovedInputsImages={updateApprovedInputsImages}
679
681
  />
680
682
  ));
681
683
  };
@@ -691,12 +693,23 @@ export const ProviderProductEdition = ({
691
693
  }, [images]);
692
694
 
693
695
  const saveDescriptions = async () => {
696
+ //GUARDAS DESCRIPCIONES
694
697
  setLoading(true);
695
698
  const dataObject = {
696
699
  articleId: product?.id_article,
697
700
  articleData: updatedDescriptions,
698
701
  };
702
+ dataObject.articleData = dataObject.articleData.map((item) => {
703
+ const attributeId = item.attributeId;
704
+ item.isApproved = true;
705
+ /**if (approvedInputs.hasOwnProperty(attributeId)) {
706
+ item.isApproved = true;
707
+ }
708
+ return item;**/
709
+ });
710
+
699
711
  if (product?.orderId) dataObject["orderId"] = product?.orderId;
712
+ console.log("dataObject", dataObject);
700
713
  try {
701
714
  const res = await axios.put(
702
715
  `${process.env.REACT_APP_ARTICLE_DATA_ENDPOINT}?description=true&version=${version}`,
@@ -738,6 +751,13 @@ export const ProviderProductEdition = ({
738
751
  articleData: updatedDatasheets,
739
752
  ...(parseBoxData.length > 0 && { boxData: parseBoxData }),
740
753
  };
754
+ dataObject.articleData = dataObject.articleData.map((item) => {
755
+ const attributeId = item.attributeId;
756
+ if (approvedInputs.hasOwnProperty(attributeId)) {
757
+ item.isApproved = true;
758
+ }
759
+ return item;
760
+ });
741
761
 
742
762
  if (product?.orderId) dataObject["orderId"] = product?.orderId;
743
763
  try {
@@ -800,12 +820,23 @@ export const ProviderProductEdition = ({
800
820
  return false;
801
821
  });
802
822
  }
823
+ console.log("DATA NEW", data);
824
+
803
825
  if (valid && duplicated?.length === 0) {
804
826
  setLoading(true);
805
827
  try {
806
828
  data?.articleData?.forEach((e) => {
807
829
  e.uuid = uuidv4();
808
830
  });
831
+ data.updateImages = data.updateImages.map((image) => {
832
+ if (approvedInputsImages[image.image_id] !== undefined) {
833
+ return {
834
+ ...image,
835
+ isApproved: approvedInputsImages[image.image_id],
836
+ };
837
+ }
838
+ return image;
839
+ });
809
840
  setDataImages(data);
810
841
  if (data?.articleData?.length > 0) {
811
842
  setImagesUploaded(false);
@@ -839,7 +870,7 @@ export const ProviderProductEdition = ({
839
870
  );
840
871
  }
841
872
  // eslint-disable-next-line react-hooks/exhaustive-deps
842
- }, [images, imagesUploaded]);
873
+ }, [approvedInputsImages, images, imagesUploaded]);
843
874
 
844
875
  useEffect(async () => {
845
876
  if (imagesUploaded) {
@@ -884,32 +915,19 @@ export const ProviderProductEdition = ({
884
915
  }
885
916
  };
886
917
 
887
- const createComment = async (e, body, tab) => {
888
- let concept = "";
889
- switch (activeTab) {
890
- case "Ficha técnica":
891
- concept = "datasheet";
892
- break;
893
- case "Imágenes":
894
- concept = "images";
895
- break;
896
-
897
- default:
898
- concept = "description";
899
- break;
900
- }
918
+ const createComment = async (messages = [], retailerId) => {
901
919
  const data = {
902
- articleId: product?.id_article,
903
- orderId: product?.orderId,
904
- message: body,
905
- concept: concept,
906
- version: version,
907
- };
908
- await axios.post(`${process.env.REACT_APP_COMMENTS_ENDPOINT}`, data, {
909
- headers: {
910
- Authorization: token,
920
+ paramsBody: {
921
+ id: product.article.id_article || productEdit.ArticleId,
922
+ version: version,
923
+ items: messages,
924
+ retailerId: retailerId,
925
+ status: product.status || productEdit.product.status,
911
926
  },
912
- });
927
+ paramsHeader: { Authorization: token },
928
+ };
929
+ setMessage("");
930
+ return sendMessage(data);
913
931
  };
914
932
 
915
933
  useEffect(() => {
@@ -1238,8 +1256,6 @@ export const ProviderProductEdition = ({
1238
1256
 
1239
1257
  const enableActions = (versionStatus) => {
1240
1258
  try {
1241
- if (user.is_retailer) return false;
1242
-
1243
1259
  if (versionStatus) {
1244
1260
  return ["AP", "ACA", "RCA", null].includes(versionStatus);
1245
1261
  }
@@ -1322,8 +1338,7 @@ export const ProviderProductEdition = ({
1322
1338
  return;
1323
1339
  } else if (user.is_retailer) {
1324
1340
  if (product.id_order || product.orderId) {
1325
- setValidatedAll(true);
1326
- showGlobalModal("error");
1341
+ sendEvaluation("R");
1327
1342
  } else {
1328
1343
  setDataGenericModal((prev) => ({
1329
1344
  ...prev,
@@ -1335,8 +1350,7 @@ export const ProviderProductEdition = ({
1335
1350
  showGlobalModal("generic");
1336
1351
  }
1337
1352
  } else {
1338
- setValidatedAll(true);
1339
- showGlobalModal("error");
1353
+ sendEvaluation("R");
1340
1354
  }
1341
1355
  }
1342
1356
  };
@@ -1346,6 +1360,7 @@ export const ProviderProductEdition = ({
1346
1360
  <HeaderTop
1347
1361
  setHeaderTop={setHeaderTop}
1348
1362
  withChat={location?.state?.withChat}
1363
+ chatType={location?.state?.chatType}
1349
1364
  productSelected={productSelected}
1350
1365
  token={token}
1351
1366
  activeRetailer={activeRetailer}
@@ -1424,7 +1439,7 @@ export const ProviderProductEdition = ({
1424
1439
  } else if (user.is_retailer) {
1425
1440
  if (product.id_order || product.orderId) {
1426
1441
  setValidatedAll(true);
1427
- showGlobalModal("error");
1442
+ setShowRejectModal(true);
1428
1443
  } else {
1429
1444
  setDataGenericModal((prev) => ({
1430
1445
  ...prev,
@@ -1436,12 +1451,14 @@ export const ProviderProductEdition = ({
1436
1451
  showGlobalModal("generic");
1437
1452
  }
1438
1453
  } else {
1454
+ setShowRejectModal(true);
1439
1455
  setValidatedAll(true);
1440
- showGlobalModal("error");
1441
1456
  }
1442
1457
  }}
1443
1458
  approve={() => sendToEvaluation("A")}
1444
- reject={() => sendToEvaluation("R")}
1459
+ reject={() => {
1460
+ setShowRejectModal(true);
1461
+ }}
1445
1462
  />
1446
1463
  <FullTabsMenu
1447
1464
  tabsSections={tabsSections}
@@ -1527,6 +1544,7 @@ export const ProviderProductEdition = ({
1527
1544
  }}
1528
1545
  index={index}
1529
1546
  //enableActions={enableActions(product.version_status)} ADD THIS VALIDATION
1547
+ updateApprovedInputs={updateApprovedInputs}
1530
1548
  ></InputGroup>
1531
1549
  ))}
1532
1550
  </div>
@@ -1545,7 +1563,9 @@ export const ProviderProductEdition = ({
1545
1563
  setUpdatedDescriptions={setUpdatedDescriptions}
1546
1564
  articleId={product?.id_article}
1547
1565
  version={version}
1566
+ isShowbox={false}
1548
1567
  dinamicHeight={true}
1568
+ updateApprovedInputs={updateApprovedInputs}
1549
1569
  />
1550
1570
  ) : (
1551
1571
  <ScreenHeader
@@ -1571,87 +1591,41 @@ export const ProviderProductEdition = ({
1571
1591
  </>
1572
1592
  )}
1573
1593
  </div>
1574
- {isRevision() && getSectionStatus() ? (
1575
- <div className="commentary-box">
1576
- {!comment ? (
1577
- <div className="commentary">
1578
- <TagAndInput
1579
- label={"Caja de Comentario"}
1580
- inputType={"textarea"}
1581
- inputCols={80}
1582
- inputRows={4}
1583
- inputId={"commentary-box"}
1584
- index={0}
1585
- />
1586
- <div className="buttons-box">
1587
- <Button
1588
- buttonType={"general-transparent-button"}
1589
- label={"Enviar comentario"}
1590
- onClick={(e) =>
1591
- createComment(
1592
- e,
1593
- document.querySelector(
1594
- "#description-commentary-box-0 .ql-container .ql-editor > p"
1595
- ).innerHTML,
1596
- activeTab
1597
- )
1598
- }
1599
- />
1600
- </div>
1601
- </div>
1594
+ {!(isRevision() && getSectionStatus()) && !revision && (
1595
+ <div className="required-inputs-message">
1596
+ <div>
1597
+ <p>
1598
+ Los atributos son requeridos por las plataformas de las
1599
+ cadenas, es muy importante completar los campos requeridos ya
1600
+ que pueden rechazar el producto por falta de información.
1601
+ </p>
1602
+ </div>
1603
+ {inCart ? (
1604
+ <button type="button">
1605
+ <Link to="/checkout">
1606
+ <p>Articulo en carrito</p>
1607
+ <p>Ir a checkout</p>
1608
+ </Link>
1609
+ </button>
1602
1610
  ) : (
1603
- <div className="feedback-box">
1604
- <Commentary
1605
- comment={comment.message}
1606
- reviewed={crossComment}
1611
+ <>
1612
+ <SliderToolTip
1613
+ infoIcon={InfoIcon}
1614
+ slidefront={slidefront}
1615
+ iconSize={"big-image"}
1616
+ slidePosition={"top-slide"}
1607
1617
  />
1608
1618
  <Button
1609
- buttonType={"circular-button accept-button"}
1610
- onClick={async () => {
1611
- setCrossComment(true);
1612
- commentRevised();
1619
+ onClick={() => {
1620
+ setShowContentohRequestModal &&
1621
+ setShowContentohRequestModal(true);
1613
1622
  }}
1623
+ buttonType="general-default-button"
1624
+ label="Enviar a Content-oh!"
1614
1625
  />
1615
- </div>
1626
+ </>
1616
1627
  )}
1617
1628
  </div>
1618
- ) : (
1619
- !revision && (
1620
- <div className="required-inputs-message">
1621
- <div>
1622
- <p>
1623
- Los atributos son requeridos por las plataformas de las
1624
- cadenas, es muy importante completar los campos requeridos
1625
- ya que pueden rechazar el producto por falta de información.
1626
- </p>
1627
- </div>
1628
- {inCart ? (
1629
- <button type="button">
1630
- <Link to="/checkout">
1631
- <p>Articulo en carrito</p>
1632
- <p>Ir a checkout</p>
1633
- </Link>
1634
- </button>
1635
- ) : (
1636
- <>
1637
- <SliderToolTip
1638
- infoIcon={InfoIcon}
1639
- slidefront={slidefront}
1640
- iconSize={"big-image"}
1641
- slidePosition={"top-slide"}
1642
- />
1643
- <Button
1644
- onClick={() => {
1645
- setShowContentohRequestModal &&
1646
- setShowContentohRequestModal(true);
1647
- }}
1648
- buttonType="general-default-button"
1649
- label="Enviar a Content-oh!"
1650
- />
1651
- </>
1652
- )}
1653
- </div>
1654
- )
1655
1629
  )}
1656
1630
  </div>
1657
1631
  </div>
@@ -1694,6 +1668,48 @@ export const ProviderProductEdition = ({
1694
1668
  jwt={token}
1695
1669
  />
1696
1670
  )}
1671
+ {showRejectModal && (
1672
+ <Modal
1673
+ title={"Agregar mensaje de rechazo"}
1674
+ show={showRejectModal}
1675
+ customComponent={
1676
+ <TagAndInput
1677
+ inputType={"textarea"}
1678
+ inputId={"modal-message-box"}
1679
+ index={0}
1680
+ color={"white"}
1681
+ />
1682
+ }
1683
+ buttons={[
1684
+ <ButtonV2
1685
+ key={"btn-Cancelar"}
1686
+ type={"white"}
1687
+ label={"Cancelar"}
1688
+ size={12}
1689
+ onClick={() => {
1690
+ setShowRejectModal(false);
1691
+ }}
1692
+ />,
1693
+ <ButtonV2
1694
+ key={"btn-Aceptar"}
1695
+ type={"pink"}
1696
+ label={"Aceptar"}
1697
+ size={12}
1698
+ onClick={async () => {
1699
+ const body = document.querySelector(
1700
+ "#modal-message-box .ql-container .ql-editor > p"
1701
+ ).innerHTML;
1702
+ const messages = [
1703
+ { type: "message", value: body?.replace(/<.*?\/?>/gm, "") },
1704
+ ];
1705
+ await createComment(messages, activeRetailer.id);
1706
+ validatedAll ? validateAll("R") : sendToEvaluation("R");
1707
+ setShowRejectModal(false);
1708
+ }}
1709
+ />,
1710
+ ]}
1711
+ />
1712
+ )}
1697
1713
  </Container>
1698
1714
  );
1699
1715
  };
@@ -107,6 +107,10 @@ export const Container = styled.div`
107
107
  }
108
108
  }
109
109
  }
110
+ #modal-message-box {
111
+ width: 400px;
112
+ height: 100px;
113
+ }
110
114
  .container {
111
115
  width: 100%;
112
116
  height: 100%;
@@ -115,4 +119,4 @@ export const Container = styled.div`
115
119
  width: 100%;
116
120
  }
117
121
  }
118
- `;
122
+ `;
@@ -70,6 +70,10 @@ RetailerProductEditionDefault.args = {
70
70
  },
71
71
  location: {
72
72
  product: { articleId: 39364, versionId: 3 },
73
+ state: {
74
+ withChat: true,
75
+ chatType: "product_status",
76
+ },
73
77
  },
74
78
  user: {
75
79
  id_user: 37,
@@ -0,0 +1,21 @@
1
+ import React, { useRef, useState } from 'react';
2
+
3
+ function generateThumbnail(videoSrc, timeInSeconds) {
4
+ return new Promise((resolve, reject) => {
5
+ const video = document.createElement('video');
6
+ video.crossOrigin = 'anonymous'; // Necessary for CORS-enabled videos
7
+ video.src = videoSrc;
8
+ video.currentTime = timeInSeconds; // Set the time to capture the desired frame
9
+ video.addEventListener('loadeddata', () => {
10
+ const canvas = document.createElement('canvas');
11
+ canvas.width = video.videoWidth;
12
+ canvas.height = video.videoHeight;
13
+ canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
14
+ const dataURL = canvas.toDataURL('image/jpeg'); // Change format if needed
15
+ resolve(dataURL);
16
+ });
17
+ video.addEventListener('error', reject);
18
+ });
19
+ }
20
+
21
+ export default generateThumbnail;