contentoh-components-library 21.5.3 → 21.5.4

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 (294) 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/package.json +4 -1
  7. package/src/assets/images/Icons/addv2.svg +8 -0
  8. package/src/assets/images/Icons/beenhere.svg +9 -0
  9. package/src/assets/images/Icons/checkv2.svg +8 -0
  10. package/src/assets/images/Icons/close-magenta.svg +9 -0
  11. package/src/assets/images/Icons/close.svg +8 -0
  12. package/src/assets/images/Icons/closeCircle.svg +8 -0
  13. package/src/assets/images/Icons/delete-forever-red.svg +9 -0
  14. package/src/assets/images/Icons/delete-forever-white.svg +10 -0
  15. package/src/assets/images/Icons/edit.svg +8 -0
  16. package/src/assets/images/Icons/fullscreen.svg +3 -0
  17. package/src/assets/images/Icons/infoNR.svg +8 -0
  18. package/src/assets/images/Icons/options.svg +3 -0
  19. package/src/assets/images/Icons/save-white-gray.svg +9 -0
  20. package/src/assets/images/Icons/save-white.svg +9 -0
  21. package/src/assets/images/Icons/save.svg +8 -0
  22. package/src/assets/images/Icons/search.svg +3 -0
  23. package/src/assets/images/Icons/settings.svg +8 -0
  24. package/src/assets/images/Icons/trash.svg +8 -0
  25. package/src/assets/images/Icons/undo.svg +8 -0
  26. package/src/assets/images/Icons/upload-file-white.svg +4 -0
  27. package/src/assets/images/Icons/upload-file.svg +10 -0
  28. package/src/assets/images/Icons/upload_file.svg +10 -0
  29. package/src/assets/images/Icons/warningv2.svg +3 -0
  30. package/src/assets/images/checkBox/checkrosa.svg +3 -0
  31. package/src/assets/images/checkBox/checkverde.svg +3 -0
  32. package/src/assets/images/flagsv2/highPriority.svg +3 -0
  33. package/src/assets/images/flagsv2/lowPriority.svg +3 -0
  34. package/src/assets/images/flagsv2/mediumPriority.svg +3 -0
  35. package/src/assets/images/flagsv2/noPriority.svg +3 -0
  36. package/src/assets/images/generalButton/closeIconWhite.svg +4 -0
  37. package/src/assets/images/generalButton/closeIconv2.svg +4 -0
  38. package/src/assets/images/generalButton/saveIconpink.svg +3 -0
  39. package/src/components/atoms/Avatar/index.js +8 -2
  40. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +1 -0
  41. package/src/components/atoms/ButtonV2/index.js +1 -0
  42. package/src/components/atoms/ButtonV2/styles.js +16 -0
  43. package/src/components/atoms/CharsMissing/Wysiwyg.stories.js +12 -0
  44. package/src/components/atoms/CharsMissing/index.js +60 -0
  45. package/src/components/atoms/CharsMissing/styles.js +44 -0
  46. package/src/components/atoms/CheckBox/CheckBox.stories.js +5 -0
  47. package/src/components/atoms/CheckBox/index.js +5 -1
  48. package/src/components/atoms/CheckBox/styles.js +9 -3
  49. package/src/components/atoms/CustomChip/CustomChip.stories.js +16 -0
  50. package/src/components/atoms/CustomChip/index.js +34 -0
  51. package/src/components/atoms/CustomChip/styles.js +6 -0
  52. package/src/components/atoms/FeatureTagv2/FeatureTagv2.stories.js +16 -0
  53. package/src/components/atoms/FeatureTagv2/index.js +10 -0
  54. package/src/components/atoms/FeatureTagv2/styles.js +56 -0
  55. package/src/components/atoms/GeneralButton/styles.js +46 -0
  56. package/src/components/atoms/GeneralInput/index.js +3 -0
  57. package/src/components/atoms/GeneralInput/styles.js +19 -1
  58. package/src/components/atoms/GeneralInputv2/GeneralInputv2.stories.js +33 -0
  59. package/src/components/atoms/GeneralInputv2/index.js +155 -0
  60. package/src/components/atoms/GeneralInputv2/styles.js +67 -0
  61. package/src/components/atoms/InputFormatter/index.js +2 -1
  62. package/src/components/atoms/InputFormatter/styles.js +9 -4
  63. package/src/components/atoms/InputFormatterv2/Wysiwyg.stories.js +12 -0
  64. package/src/components/atoms/InputFormatterv2/index.js +148 -0
  65. package/src/components/atoms/InputFormatterv2/styles.js +39 -0
  66. package/src/components/atoms/InputImages/InputImages.stories.js +19 -0
  67. package/src/components/atoms/InputImages/index.js +25 -0
  68. package/src/components/atoms/InputImages/styles.js +17 -0
  69. package/src/components/atoms/Multiselect/Multiselect.stories.js +364 -0
  70. package/src/components/atoms/Multiselect/index.js +351 -0
  71. package/src/components/atoms/Multiselect/styles.js +33 -0
  72. package/src/components/atoms/NumberMandatory/NumberMandatory.stories.js +19 -0
  73. package/src/components/atoms/NumberMandatory/index.js +16 -0
  74. package/src/components/atoms/NumberMandatory/styles.js +11 -0
  75. package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +20 -0
  76. package/src/components/atoms/ObservationFlag/index.js +167 -0
  77. package/src/components/atoms/ObservationFlag/styles.js +104 -0
  78. package/src/components/atoms/PriorityFlagv2/PriorityFlagv2.stories.js +20 -0
  79. package/src/components/atoms/PriorityFlagv2/index.js +20 -0
  80. package/src/components/atoms/PriorityFlagv2/styles.js +6 -0
  81. package/src/components/atoms/ProductImage/index.js +24 -11
  82. package/src/components/atoms/ProductImage/styles.js +7 -0
  83. package/src/components/atoms/ProductImagev2/ProductImagev2.stories.js +28 -0
  84. package/src/components/atoms/ProductImagev2/index.js +16 -0
  85. package/src/components/atoms/ProductImagev2/styles.js +62 -0
  86. package/src/components/atoms/Progress/Progress.stories.js +25 -0
  87. package/src/components/atoms/Progress/index.js +74 -0
  88. package/src/components/atoms/Progress/styles.js +98 -0
  89. package/src/components/atoms/ScreenHeaderv2/ScreenHeaderv2.stories.js +53 -0
  90. package/src/components/atoms/ScreenHeaderv2/index.js +134 -0
  91. package/src/components/atoms/ScreenHeaderv2/styles.js +103 -0
  92. package/src/components/atoms/Selectv2/VersionSelect.js +27 -0
  93. package/src/components/atoms/Selectv2/index.js +35 -0
  94. package/src/components/atoms/Selectv2/style.js +93 -0
  95. package/src/components/atoms/SliderToolTip/styles.js +1 -1
  96. package/src/components/atoms/TabSection/index.js +1 -1
  97. package/src/components/atoms/TabSection/styles.js +0 -3
  98. package/src/components/atoms/TabSectionv2/TabSection.stories.js +25 -0
  99. package/src/components/atoms/TabSectionv2/index.js +9 -0
  100. package/src/components/atoms/TabSectionv2/styles.js +20 -0
  101. package/src/components/atoms/TooltipLight/Tooltip.stories.js +20 -0
  102. package/src/components/atoms/TooltipLight/index.js +46 -0
  103. package/src/components/atoms/TooltipLight/styles.js +65 -0
  104. package/src/components/atoms/WordsMissing/Wysiwyg.stories.js +12 -0
  105. package/src/components/atoms/WordsMissing/index.js +60 -0
  106. package/src/components/atoms/WordsMissing/styles.js +10 -0
  107. package/src/components/molecules/AddGroup/AddGroup.stories.js +15 -0
  108. package/src/components/molecules/AddGroup/index.js +84 -0
  109. package/src/components/molecules/AddGroup/styles.js +141 -0
  110. package/src/components/molecules/AsignationInfo/AsignationInfo.stories.js +17 -0
  111. package/src/components/molecules/AsignationInfo/index.js +108 -0
  112. package/src/components/molecules/AsignationInfo/styles.js +86 -0
  113. package/src/components/molecules/BoxAttribute/index.js +32 -25
  114. package/src/components/molecules/BoxAttribute/styles.js +1 -1
  115. package/src/components/molecules/BoxButtons/index.js +23 -22
  116. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  117. package/src/components/molecules/EditionActiveImagev2/EditionActiveImagev2.stories.js +12 -0
  118. package/src/components/molecules/EditionActiveImagev2/index.js +15 -0
  119. package/src/components/molecules/EditionActiveImagev2/styles.js +7 -0
  120. package/src/components/molecules/EditionTabs/EditionTabs.stories.js +12 -0
  121. package/src/components/molecules/EditionTabs/index.js +33 -0
  122. package/src/components/molecules/EditionTabs/styles.js +24 -0
  123. package/src/components/molecules/FeaturesBarv2/FeaturesBarv2.stories.js +20 -0
  124. package/src/components/molecules/FeaturesBarv2/index.js +32 -0
  125. package/src/components/molecules/FeaturesBarv2/styles.js +17 -0
  126. package/src/components/molecules/GalleryElement/index.js +76 -1
  127. package/src/components/molecules/GalleryElementv2/GalleryElementv2.stories.js +30 -0
  128. package/src/components/molecules/GalleryElementv2/index.js +142 -0
  129. package/src/components/molecules/GalleryElementv2/styles.js +119 -0
  130. package/src/components/molecules/GalleryHeader/index.js +1 -0
  131. package/src/components/molecules/GalleryHeaderv2/GalleryHeaderv2.stories.js +10 -0
  132. package/src/components/molecules/GalleryHeaderv2/index.js +25 -0
  133. package/src/components/molecules/GalleryHeaderv2/styles.js +47 -0
  134. package/src/components/molecules/GroupSelect/GroupSelect.stories.js +35 -0
  135. package/src/components/molecules/GroupSelect/SelectItem.js +105 -0
  136. package/src/components/molecules/GroupSelect/index.js +190 -0
  137. package/src/components/molecules/GroupSelect/styles.js +124 -0
  138. package/src/components/molecules/HeaderTop/index.js +52 -6
  139. package/src/components/molecules/HeaderTopv2/HeaderTopv2.stories.js +10 -0
  140. package/src/components/molecules/HeaderTopv2/index.js +100 -0
  141. package/src/components/molecules/HeaderTopv2/styles.js +33 -0
  142. package/src/components/molecules/ImageSelectorv2/ImageSelectorv2.stories.js +46 -0
  143. package/src/components/molecules/ImageSelectorv2/index.js +22 -0
  144. package/src/components/molecules/ImageSelectorv2/styles.js +15 -0
  145. package/src/components/molecules/Phase/Phase.stories.js +107 -0
  146. package/src/components/molecules/Phase/index.js +391 -0
  147. package/src/components/molecules/Phase/styles.js +97 -0
  148. package/src/components/molecules/ProductNameHeader/index.js +19 -1
  149. package/src/components/molecules/ProductNameHeaderv2/ProductNameHeaderv2.stories.js +37 -0
  150. package/src/components/molecules/ProductNameHeaderv2/index.js +12 -0
  151. package/src/components/molecules/ProductNameHeaderv2/styles.js +10 -0
  152. package/src/components/molecules/ProductSkuStatus/ProductSkuStatus.stories.js +37 -0
  153. package/src/components/molecules/ProductSkuStatus/index.js +26 -0
  154. package/src/components/molecules/ProductSkuStatus/styles.js +7 -0
  155. package/src/components/molecules/RetailerSelectorv2/RetailerSelectorv2.stories.js +35 -0
  156. package/src/components/molecules/RetailerSelectorv2/index.js +80 -0
  157. package/src/components/molecules/RetailerSelectorv2/styles.js +21 -0
  158. package/src/components/molecules/ServiceDataValidator/ServiceDataValidator.stories.js +90 -0
  159. package/src/components/molecules/ServiceDataValidator/index.js +49 -0
  160. package/src/components/molecules/ServiceDataValidator/styles.js +36 -0
  161. package/src/components/molecules/SignInLogin/index.js +11 -11
  162. package/src/components/molecules/StatusAsignationInfo/FinancedCompanies.js +501 -63
  163. package/src/components/molecules/StatusAsignationInfo/index.js +1 -1
  164. package/src/components/molecules/StatusRetailer/StatusAsignationInfo.stories.js +17 -0
  165. package/src/components/molecules/StatusRetailer/index.js +55 -0
  166. package/src/components/molecules/StatusRetailer/styles.js +85 -0
  167. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +1 -2
  168. package/src/components/molecules/TabsMenuv2/TabsMenuv2.stories.js +19 -0
  169. package/src/components/molecules/TabsMenuv2/index.js +112 -0
  170. package/src/components/molecules/TabsMenuv2/styles.js +19 -0
  171. package/src/components/molecules/TagAndInput/index.js +8 -6
  172. package/src/components/molecules/TagAndInputv2/TagAndInputv2.stories.js +24 -0
  173. package/src/components/molecules/TagAndInputv2/index.js +86 -0
  174. package/src/components/molecules/TagAndInputv2/styles.js +35 -0
  175. package/src/components/molecules/Validation/Validation.stories.js +12 -0
  176. package/src/components/molecules/Validation/index.js +77 -0
  177. package/src/components/molecules/Validation/styles.js +19 -0
  178. package/src/components/molecules/VersionItemv2/VersionItemv2.stories.js +14 -0
  179. package/src/components/molecules/VersionItemv2/index.js +59 -0
  180. package/src/components/molecules/VersionItemv2/styles.js +47 -0
  181. package/src/components/organisms/BarButtons/BarButtons.stories.js +13 -0
  182. package/src/components/organisms/BarButtons/index.js +150 -0
  183. package/src/components/organisms/BarButtons/styles.js +54 -0
  184. package/src/components/organisms/Chat/Chat.stories.js +27 -7
  185. package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
  186. package/src/components/organisms/Chat/ContainerItems/styles.js +14 -2
  187. package/src/components/organisms/Chat/ContentChat/index.js +88 -12
  188. package/src/components/organisms/Chat/Footer/index.js +11 -0
  189. package/src/components/organisms/Chat/index.js +46 -4
  190. package/src/components/organisms/Chat/styles.js +4 -0
  191. package/src/components/organisms/Chatv2/ChatLists/ChatLists.stories.js +65 -0
  192. package/src/components/organisms/Chatv2/ChatLists/Rotoplas.jpeg +0 -0
  193. package/src/components/organisms/Chatv2/ChatLists/THD.png +0 -0
  194. package/src/components/organisms/Chatv2/ChatLists/index.js +141 -0
  195. package/src/components/organisms/Chatv2/ChatLists/styles.js +162 -0
  196. package/src/components/organisms/Chatv2/Chatv2.stories.js +184 -0
  197. package/src/components/organisms/Chatv2/ContainerItems/ContainerItems.stories.js +142 -0
  198. package/src/components/organisms/Chatv2/ContainerItems/index.js +538 -0
  199. package/src/components/organisms/Chatv2/ContainerItems/styles.js +360 -0
  200. package/src/components/organisms/Chatv2/ContentChat/ContentChat.stories.js +102 -0
  201. package/src/components/organisms/Chatv2/ContentChat/Rotoplas.jpeg +0 -0
  202. package/src/components/organisms/Chatv2/ContentChat/THD.png +0 -0
  203. package/src/components/organisms/Chatv2/ContentChat/index.js +1016 -0
  204. package/src/components/organisms/Chatv2/ContentChat/styles.js +44 -0
  205. package/src/components/organisms/Chatv2/Footer/Footer.stories.js +22 -0
  206. package/src/components/organisms/Chatv2/Footer/index.js +668 -0
  207. package/src/components/organisms/Chatv2/Footer/styles.js +290 -0
  208. package/src/components/organisms/Chatv2/Header/Header.stories.js +66 -0
  209. package/src/components/organisms/Chatv2/Header/index.js +93 -0
  210. package/src/components/organisms/Chatv2/Header/styles.js +49 -0
  211. package/src/components/organisms/Chatv2/index.js +281 -0
  212. package/src/components/organisms/Chatv2/styles.js +85 -0
  213. package/src/components/organisms/CompleteServices/CompleteServices.stories.js +91 -0
  214. package/src/components/organisms/CompleteServices/index.js +82 -0
  215. package/src/components/organisms/CompleteServices/styles.js +35 -0
  216. package/src/components/organisms/DashboardMetric/index.js +6 -3
  217. package/src/components/organisms/DragAndDropPhases/DragAndDropPhases.stories.js +13 -0
  218. package/src/components/organisms/DragAndDropPhases/index.js +336 -0
  219. package/src/components/organisms/DragAndDropPhases/styles.js +107 -0
  220. package/src/components/organisms/DragPrueba/DragPrueba.stories.js +12 -0
  221. package/src/components/organisms/DragPrueba/index.js +57 -0
  222. package/src/components/organisms/DragPrueba/styles.js +8 -0
  223. package/src/components/organisms/EditGroup/EditGroup.stories.js +20 -0
  224. package/src/components/organisms/EditGroup/index.js +321 -0
  225. package/src/components/organisms/EditGroup/styles.js +207 -0
  226. package/src/components/organisms/FullProductNameHeader/index.js +13 -1
  227. package/src/components/organisms/FullProductNamev2/FullProductNamev2.stories.js +28 -0
  228. package/src/components/organisms/FullProductNamev2/index.js +101 -0
  229. package/src/components/organisms/FullProductNamev2/styles.js +49 -0
  230. package/src/components/organisms/FullTabsMenuv2/FullTabsMenuv2.stories.js +22 -0
  231. package/src/components/organisms/FullTabsMenuv2/index.js +142 -0
  232. package/src/components/organisms/FullTabsMenuv2/styles.js +47 -0
  233. package/src/components/organisms/GridProducts/GridProducts.stories.js +682 -107
  234. package/src/components/organisms/ImageDataTablev2/ImageDataTablev2.stories.js +24 -0
  235. package/src/components/organisms/ImageDataTablev2/index.js +124 -0
  236. package/src/components/organisms/ImageDataTablev2/styles.js +18 -0
  237. package/src/components/organisms/ImagePreviewerv2/ImagePreviewerv2.stories.js +38 -0
  238. package/src/components/organisms/ImagePreviewerv2/index.js +22 -0
  239. package/src/components/organisms/ImagePreviewerv2/styles.js +7 -0
  240. package/src/components/organisms/ImageUploader/ImageUploader.stories.js +15 -0
  241. package/src/components/organisms/ImageUploader/index.js +62 -0
  242. package/src/components/organisms/ImageUploader/styles.js +29 -0
  243. package/src/components/organisms/ImageVisor/ImageVisor.stories.js +15 -0
  244. package/src/components/organisms/ImageVisor/index.js +143 -0
  245. package/src/components/organisms/ImageVisor/styles.js +106 -0
  246. package/src/components/organisms/InputGroup/index.js +292 -144
  247. package/src/components/organisms/InputGroup/styles.js +31 -0
  248. package/src/components/organisms/InputGroupv2/InputGroupv2.stories.js +31 -0
  249. package/src/components/organisms/InputGroupv2/index.js +296 -0
  250. package/src/components/organisms/InputGroupv2/styles.js +90 -0
  251. package/src/components/organisms/MandatoryBar/MandatoryBar.stories.js +18 -0
  252. package/src/components/organisms/MandatoryBar/index.js +31 -0
  253. package/src/components/organisms/MandatoryBar/styles.js +12 -0
  254. package/src/components/organisms/Modal/Modal.stories.js +2 -1
  255. package/src/components/organisms/Modal/index.js +9 -2
  256. package/src/components/organisms/Modal/styles.js +8 -1
  257. package/src/components/organisms/OrderDetail/utils/Table/utils.js +6 -16
  258. package/src/components/organisms/ProductImageModalv2/ProductImageModalv2.stories.js +90 -0
  259. package/src/components/organisms/ProductImageModalv2/index.js +105 -0
  260. package/src/components/organisms/ProductImageModalv2/styles.js +71 -0
  261. package/src/components/organisms/RenameImagesBar/RenameImagesBar.stories.js +18 -0
  262. package/src/components/organisms/RenameImagesBar/index.js +30 -0
  263. package/src/components/organisms/RenameImagesBar/styles.js +12 -0
  264. package/src/components/organisms/Table/Table.stories.js +609 -0
  265. package/src/components/organisms/Table/index.js +84 -0
  266. package/src/components/organisms/Table/styles.js +114 -0
  267. package/src/components/organisms/VersionSelectorv2/VersionSelectorv2.stories.js +15 -0
  268. package/src/components/organisms/VersionSelectorv2/index.js +105 -0
  269. package/src/components/organisms/VersionSelectorv2/styles.js +45 -0
  270. package/src/components/pages/Dashboard/Dashboard.stories.js +33 -38
  271. package/src/components/pages/Dashboard/index.js +36 -7
  272. package/src/components/pages/MultipleEdition/MultipleEdition.stories.js +17 -0
  273. package/src/components/pages/MultipleEdition/components/ImageUploader.js +62 -0
  274. package/src/components/pages/MultipleEdition/components/ImageUploaderStyles.js +29 -0
  275. package/src/components/pages/MultipleEdition/components/ImageVisor.js +143 -0
  276. package/src/components/pages/MultipleEdition/components/styles.js +106 -0
  277. package/src/components/pages/MultipleEdition/index.js +248 -0
  278. package/src/components/pages/MultipleEdition/saveData.js +92 -0
  279. package/src/components/pages/MultipleEdition/styles.js +201 -0
  280. package/src/components/pages/MultipleEdition/utils.js +1073 -0
  281. package/src/components/pages/ProductEditionv2/ProductEditionv2.stories.js +213 -0
  282. package/src/components/pages/ProductEditionv2/index.js +1758 -0
  283. package/src/components/pages/ProductEditionv2/styles.js +154 -0
  284. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +56 -60
  285. package/src/components/pages/ProviderProductEdition/index.js +148 -133
  286. package/src/components/pages/ProviderProductEdition/styles.js +5 -1
  287. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +4 -0
  288. package/src/components/pages/RetailerProductEdition/generateThumnail.js +21 -0
  289. package/src/components/pages/RetailerProductEdition/index.js +293 -300
  290. package/src/components/pages/RetailerProductEdition/styles.js +4 -0
  291. package/src/components/pages/RetailerProductEdition/utils.js +37 -0
  292. package/src/global-files/data.js +6 -10
  293. package/src/global-files/variables.js +6 -0
  294. 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,22 @@ 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
+ if (approvedInputs.hasOwnProperty(attributeId)) {
705
+ item.isApproved = true;
706
+ }
707
+ return item;
708
+ });
709
+
699
710
  if (product?.orderId) dataObject["orderId"] = product?.orderId;
711
+ console.log("dataObject", dataObject);
700
712
  try {
701
713
  const res = await axios.put(
702
714
  `${process.env.REACT_APP_ARTICLE_DATA_ENDPOINT}?description=true&version=${version}`,
@@ -738,6 +750,13 @@ export const ProviderProductEdition = ({
738
750
  articleData: updatedDatasheets,
739
751
  ...(parseBoxData.length > 0 && { boxData: parseBoxData }),
740
752
  };
753
+ dataObject.articleData = dataObject.articleData.map((item) => {
754
+ const attributeId = item.attributeId;
755
+ if (approvedInputs.hasOwnProperty(attributeId)) {
756
+ item.isApproved = true;
757
+ }
758
+ return item;
759
+ });
741
760
 
742
761
  if (product?.orderId) dataObject["orderId"] = product?.orderId;
743
762
  try {
@@ -800,12 +819,23 @@ export const ProviderProductEdition = ({
800
819
  return false;
801
820
  });
802
821
  }
822
+ console.log("DATA NEW", data);
823
+
803
824
  if (valid && duplicated?.length === 0) {
804
825
  setLoading(true);
805
826
  try {
806
827
  data?.articleData?.forEach((e) => {
807
828
  e.uuid = uuidv4();
808
829
  });
830
+ data.updateImages = data.updateImages.map((image) => {
831
+ if (approvedInputsImages[image.image_id] !== undefined) {
832
+ return {
833
+ ...image,
834
+ isApproved: approvedInputsImages[image.image_id],
835
+ };
836
+ }
837
+ return image;
838
+ });
809
839
  setDataImages(data);
810
840
  if (data?.articleData?.length > 0) {
811
841
  setImagesUploaded(false);
@@ -839,7 +869,7 @@ export const ProviderProductEdition = ({
839
869
  );
840
870
  }
841
871
  // eslint-disable-next-line react-hooks/exhaustive-deps
842
- }, [images, imagesUploaded]);
872
+ }, [approvedInputsImages, images, imagesUploaded]);
843
873
 
844
874
  useEffect(async () => {
845
875
  if (imagesUploaded) {
@@ -884,32 +914,19 @@ export const ProviderProductEdition = ({
884
914
  }
885
915
  };
886
916
 
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
- }
917
+ const createComment = async (messages = [], retailerId) => {
901
918
  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,
919
+ paramsBody: {
920
+ id: product.article.id_article || productEdit.ArticleId,
921
+ version: version,
922
+ items: messages,
923
+ retailerId: retailerId,
924
+ status: product.status || productEdit.product.status,
911
925
  },
912
- });
926
+ paramsHeader: { Authorization: token },
927
+ };
928
+ setMessage("");
929
+ return sendMessage(data);
913
930
  };
914
931
 
915
932
  useEffect(() => {
@@ -1238,8 +1255,6 @@ export const ProviderProductEdition = ({
1238
1255
 
1239
1256
  const enableActions = (versionStatus) => {
1240
1257
  try {
1241
- if (user.is_retailer) return false;
1242
-
1243
1258
  if (versionStatus) {
1244
1259
  return ["AP", "ACA", "RCA", null].includes(versionStatus);
1245
1260
  }
@@ -1322,8 +1337,7 @@ export const ProviderProductEdition = ({
1322
1337
  return;
1323
1338
  } else if (user.is_retailer) {
1324
1339
  if (product.id_order || product.orderId) {
1325
- setValidatedAll(true);
1326
- showGlobalModal("error");
1340
+ sendEvaluation("R");
1327
1341
  } else {
1328
1342
  setDataGenericModal((prev) => ({
1329
1343
  ...prev,
@@ -1335,8 +1349,7 @@ export const ProviderProductEdition = ({
1335
1349
  showGlobalModal("generic");
1336
1350
  }
1337
1351
  } else {
1338
- setValidatedAll(true);
1339
- showGlobalModal("error");
1352
+ sendEvaluation("R");
1340
1353
  }
1341
1354
  }
1342
1355
  };
@@ -1346,6 +1359,7 @@ export const ProviderProductEdition = ({
1346
1359
  <HeaderTop
1347
1360
  setHeaderTop={setHeaderTop}
1348
1361
  withChat={location?.state?.withChat}
1362
+ chatType={location?.state?.chatType}
1349
1363
  productSelected={productSelected}
1350
1364
  token={token}
1351
1365
  activeRetailer={activeRetailer}
@@ -1424,7 +1438,7 @@ export const ProviderProductEdition = ({
1424
1438
  } else if (user.is_retailer) {
1425
1439
  if (product.id_order || product.orderId) {
1426
1440
  setValidatedAll(true);
1427
- showGlobalModal("error");
1441
+ setShowRejectModal(true);
1428
1442
  } else {
1429
1443
  setDataGenericModal((prev) => ({
1430
1444
  ...prev,
@@ -1436,12 +1450,14 @@ export const ProviderProductEdition = ({
1436
1450
  showGlobalModal("generic");
1437
1451
  }
1438
1452
  } else {
1453
+ setShowRejectModal(true);
1439
1454
  setValidatedAll(true);
1440
- showGlobalModal("error");
1441
1455
  }
1442
1456
  }}
1443
1457
  approve={() => sendToEvaluation("A")}
1444
- reject={() => sendToEvaluation("R")}
1458
+ reject={() => {
1459
+ setShowRejectModal(true);
1460
+ }}
1445
1461
  />
1446
1462
  <FullTabsMenu
1447
1463
  tabsSections={tabsSections}
@@ -1527,6 +1543,7 @@ export const ProviderProductEdition = ({
1527
1543
  }}
1528
1544
  index={index}
1529
1545
  //enableActions={enableActions(product.version_status)} ADD THIS VALIDATION
1546
+ updateApprovedInputs={updateApprovedInputs}
1530
1547
  ></InputGroup>
1531
1548
  ))}
1532
1549
  </div>
@@ -1545,7 +1562,9 @@ export const ProviderProductEdition = ({
1545
1562
  setUpdatedDescriptions={setUpdatedDescriptions}
1546
1563
  articleId={product?.id_article}
1547
1564
  version={version}
1565
+ isShowbox={false}
1548
1566
  dinamicHeight={true}
1567
+ updateApprovedInputs={updateApprovedInputs}
1549
1568
  />
1550
1569
  ) : (
1551
1570
  <ScreenHeader
@@ -1571,87 +1590,41 @@ export const ProviderProductEdition = ({
1571
1590
  </>
1572
1591
  )}
1573
1592
  </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>
1593
+ {!(isRevision() && getSectionStatus()) && !revision && (
1594
+ <div className="required-inputs-message">
1595
+ <div>
1596
+ <p>
1597
+ Los atributos son requeridos por las plataformas de las
1598
+ cadenas, es muy importante completar los campos requeridos ya
1599
+ que pueden rechazar el producto por falta de información.
1600
+ </p>
1601
+ </div>
1602
+ {inCart ? (
1603
+ <button type="button">
1604
+ <Link to="/checkout">
1605
+ <p>Articulo en carrito</p>
1606
+ <p>Ir a checkout</p>
1607
+ </Link>
1608
+ </button>
1602
1609
  ) : (
1603
- <div className="feedback-box">
1604
- <Commentary
1605
- comment={comment.message}
1606
- reviewed={crossComment}
1610
+ <>
1611
+ <SliderToolTip
1612
+ infoIcon={InfoIcon}
1613
+ slidefront={slidefront}
1614
+ iconSize={"big-image"}
1615
+ slidePosition={"top-slide"}
1607
1616
  />
1608
1617
  <Button
1609
- buttonType={"circular-button accept-button"}
1610
- onClick={async () => {
1611
- setCrossComment(true);
1612
- commentRevised();
1618
+ onClick={() => {
1619
+ setShowContentohRequestModal &&
1620
+ setShowContentohRequestModal(true);
1613
1621
  }}
1622
+ buttonType="general-default-button"
1623
+ label="Enviar a Content-oh!"
1614
1624
  />
1615
- </div>
1625
+ </>
1616
1626
  )}
1617
1627
  </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
1628
  )}
1656
1629
  </div>
1657
1630
  </div>
@@ -1694,6 +1667,48 @@ export const ProviderProductEdition = ({
1694
1667
  jwt={token}
1695
1668
  />
1696
1669
  )}
1670
+ {showRejectModal && (
1671
+ <Modal
1672
+ title={"Agregar mensaje de rechazo"}
1673
+ show={showRejectModal}
1674
+ customComponent={
1675
+ <TagAndInput
1676
+ inputType={"textarea"}
1677
+ inputId={"modal-message-box"}
1678
+ index={0}
1679
+ color={"white"}
1680
+ />
1681
+ }
1682
+ buttons={[
1683
+ <ButtonV2
1684
+ key={"btn-Cancelar"}
1685
+ type={"white"}
1686
+ label={"Cancelar"}
1687
+ size={12}
1688
+ onClick={() => {
1689
+ setShowRejectModal(false);
1690
+ }}
1691
+ />,
1692
+ <ButtonV2
1693
+ key={"btn-Aceptar"}
1694
+ type={"pink"}
1695
+ label={"Aceptar"}
1696
+ size={12}
1697
+ onClick={async () => {
1698
+ const body = document.querySelector(
1699
+ "#modal-message-box .ql-container .ql-editor > p"
1700
+ ).innerHTML;
1701
+ const messages = [
1702
+ { type: "message", value: body?.replace(/<.*?\/?>/gm, "") },
1703
+ ];
1704
+ await createComment(messages, activeRetailer.id);
1705
+ validatedAll ? validateAll("R") : sendToEvaluation("R");
1706
+ setShowRejectModal(false);
1707
+ }}
1708
+ />,
1709
+ ]}
1710
+ />
1711
+ )}
1697
1712
  </Container>
1698
1713
  );
1699
1714
  };
@@ -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;