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.
- package/dist/components/organisms/InputGroup/index.js +1 -1
- package/dist/components/organisms/Table/styles.js +1 -1
- package/dist/components/pages/MultipleEdition/saveData.js +9 -19
- package/dist/components/pages/MultipleEdition/styles.js +1 -1
- package/dist/components/pages/MultipleEdition/utils.js +86 -153
- package/package.json +4 -1
- package/src/assets/images/Icons/addv2.svg +8 -0
- package/src/assets/images/Icons/beenhere.svg +9 -0
- package/src/assets/images/Icons/checkv2.svg +8 -0
- package/src/assets/images/Icons/close-magenta.svg +9 -0
- package/src/assets/images/Icons/close.svg +8 -0
- package/src/assets/images/Icons/closeCircle.svg +8 -0
- package/src/assets/images/Icons/delete-forever-red.svg +9 -0
- package/src/assets/images/Icons/delete-forever-white.svg +10 -0
- package/src/assets/images/Icons/edit.svg +8 -0
- package/src/assets/images/Icons/fullscreen.svg +3 -0
- package/src/assets/images/Icons/infoNR.svg +8 -0
- package/src/assets/images/Icons/options.svg +3 -0
- package/src/assets/images/Icons/save-white-gray.svg +9 -0
- package/src/assets/images/Icons/save-white.svg +9 -0
- package/src/assets/images/Icons/save.svg +8 -0
- package/src/assets/images/Icons/search.svg +3 -0
- package/src/assets/images/Icons/settings.svg +8 -0
- package/src/assets/images/Icons/trash.svg +8 -0
- package/src/assets/images/Icons/undo.svg +8 -0
- package/src/assets/images/Icons/upload-file-white.svg +4 -0
- package/src/assets/images/Icons/upload-file.svg +10 -0
- package/src/assets/images/Icons/upload_file.svg +10 -0
- package/src/assets/images/Icons/warningv2.svg +3 -0
- package/src/assets/images/checkBox/checkrosa.svg +3 -0
- package/src/assets/images/checkBox/checkverde.svg +3 -0
- package/src/assets/images/flagsv2/highPriority.svg +3 -0
- package/src/assets/images/flagsv2/lowPriority.svg +3 -0
- package/src/assets/images/flagsv2/mediumPriority.svg +3 -0
- package/src/assets/images/flagsv2/noPriority.svg +3 -0
- package/src/assets/images/generalButton/closeIconWhite.svg +4 -0
- package/src/assets/images/generalButton/closeIconv2.svg +4 -0
- package/src/assets/images/generalButton/saveIconpink.svg +3 -0
- package/src/components/atoms/Avatar/index.js +8 -2
- package/src/components/atoms/ButtonV2/ButtonV2.stories.js +1 -0
- package/src/components/atoms/ButtonV2/index.js +1 -0
- package/src/components/atoms/ButtonV2/styles.js +16 -0
- package/src/components/atoms/CharsMissing/Wysiwyg.stories.js +12 -0
- package/src/components/atoms/CharsMissing/index.js +60 -0
- package/src/components/atoms/CharsMissing/styles.js +44 -0
- package/src/components/atoms/CheckBox/CheckBox.stories.js +5 -0
- package/src/components/atoms/CheckBox/index.js +5 -1
- package/src/components/atoms/CheckBox/styles.js +9 -3
- package/src/components/atoms/CustomChip/CustomChip.stories.js +16 -0
- package/src/components/atoms/CustomChip/index.js +34 -0
- package/src/components/atoms/CustomChip/styles.js +6 -0
- package/src/components/atoms/FeatureTagv2/FeatureTagv2.stories.js +16 -0
- package/src/components/atoms/FeatureTagv2/index.js +10 -0
- package/src/components/atoms/FeatureTagv2/styles.js +56 -0
- package/src/components/atoms/GeneralButton/styles.js +46 -0
- package/src/components/atoms/GeneralInput/index.js +3 -0
- package/src/components/atoms/GeneralInput/styles.js +19 -1
- package/src/components/atoms/GeneralInputv2/GeneralInputv2.stories.js +33 -0
- package/src/components/atoms/GeneralInputv2/index.js +155 -0
- package/src/components/atoms/GeneralInputv2/styles.js +67 -0
- package/src/components/atoms/InputFormatter/index.js +2 -1
- package/src/components/atoms/InputFormatter/styles.js +9 -4
- package/src/components/atoms/InputFormatterv2/Wysiwyg.stories.js +12 -0
- package/src/components/atoms/InputFormatterv2/index.js +148 -0
- package/src/components/atoms/InputFormatterv2/styles.js +39 -0
- package/src/components/atoms/InputImages/InputImages.stories.js +19 -0
- package/src/components/atoms/InputImages/index.js +25 -0
- package/src/components/atoms/InputImages/styles.js +17 -0
- package/src/components/atoms/Multiselect/Multiselect.stories.js +364 -0
- package/src/components/atoms/Multiselect/index.js +351 -0
- package/src/components/atoms/Multiselect/styles.js +33 -0
- package/src/components/atoms/NumberMandatory/NumberMandatory.stories.js +19 -0
- package/src/components/atoms/NumberMandatory/index.js +16 -0
- package/src/components/atoms/NumberMandatory/styles.js +11 -0
- package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +20 -0
- package/src/components/atoms/ObservationFlag/index.js +167 -0
- package/src/components/atoms/ObservationFlag/styles.js +104 -0
- package/src/components/atoms/PriorityFlagv2/PriorityFlagv2.stories.js +20 -0
- package/src/components/atoms/PriorityFlagv2/index.js +20 -0
- package/src/components/atoms/PriorityFlagv2/styles.js +6 -0
- package/src/components/atoms/ProductImage/index.js +24 -11
- package/src/components/atoms/ProductImage/styles.js +7 -0
- package/src/components/atoms/ProductImagev2/ProductImagev2.stories.js +28 -0
- package/src/components/atoms/ProductImagev2/index.js +16 -0
- package/src/components/atoms/ProductImagev2/styles.js +62 -0
- package/src/components/atoms/Progress/Progress.stories.js +25 -0
- package/src/components/atoms/Progress/index.js +74 -0
- package/src/components/atoms/Progress/styles.js +98 -0
- package/src/components/atoms/ScreenHeaderv2/ScreenHeaderv2.stories.js +53 -0
- package/src/components/atoms/ScreenHeaderv2/index.js +134 -0
- package/src/components/atoms/ScreenHeaderv2/styles.js +103 -0
- package/src/components/atoms/Selectv2/VersionSelect.js +27 -0
- package/src/components/atoms/Selectv2/index.js +35 -0
- package/src/components/atoms/Selectv2/style.js +93 -0
- package/src/components/atoms/SliderToolTip/styles.js +1 -1
- package/src/components/atoms/TabSection/index.js +1 -1
- package/src/components/atoms/TabSection/styles.js +0 -3
- package/src/components/atoms/TabSectionv2/TabSection.stories.js +25 -0
- package/src/components/atoms/TabSectionv2/index.js +9 -0
- package/src/components/atoms/TabSectionv2/styles.js +20 -0
- package/src/components/atoms/TooltipLight/Tooltip.stories.js +20 -0
- package/src/components/atoms/TooltipLight/index.js +46 -0
- package/src/components/atoms/TooltipLight/styles.js +65 -0
- package/src/components/atoms/WordsMissing/Wysiwyg.stories.js +12 -0
- package/src/components/atoms/WordsMissing/index.js +60 -0
- package/src/components/atoms/WordsMissing/styles.js +10 -0
- package/src/components/molecules/AddGroup/AddGroup.stories.js +15 -0
- package/src/components/molecules/AddGroup/index.js +84 -0
- package/src/components/molecules/AddGroup/styles.js +141 -0
- package/src/components/molecules/AsignationInfo/AsignationInfo.stories.js +17 -0
- package/src/components/molecules/AsignationInfo/index.js +108 -0
- package/src/components/molecules/AsignationInfo/styles.js +86 -0
- package/src/components/molecules/BoxAttribute/index.js +32 -25
- package/src/components/molecules/BoxAttribute/styles.js +1 -1
- package/src/components/molecules/BoxButtons/index.js +23 -22
- package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
- package/src/components/molecules/EditionActiveImagev2/EditionActiveImagev2.stories.js +12 -0
- package/src/components/molecules/EditionActiveImagev2/index.js +15 -0
- package/src/components/molecules/EditionActiveImagev2/styles.js +7 -0
- package/src/components/molecules/EditionTabs/EditionTabs.stories.js +12 -0
- package/src/components/molecules/EditionTabs/index.js +33 -0
- package/src/components/molecules/EditionTabs/styles.js +24 -0
- package/src/components/molecules/FeaturesBarv2/FeaturesBarv2.stories.js +20 -0
- package/src/components/molecules/FeaturesBarv2/index.js +32 -0
- package/src/components/molecules/FeaturesBarv2/styles.js +17 -0
- package/src/components/molecules/GalleryElement/index.js +76 -1
- package/src/components/molecules/GalleryElementv2/GalleryElementv2.stories.js +30 -0
- package/src/components/molecules/GalleryElementv2/index.js +142 -0
- package/src/components/molecules/GalleryElementv2/styles.js +119 -0
- package/src/components/molecules/GalleryHeader/index.js +1 -0
- package/src/components/molecules/GalleryHeaderv2/GalleryHeaderv2.stories.js +10 -0
- package/src/components/molecules/GalleryHeaderv2/index.js +25 -0
- package/src/components/molecules/GalleryHeaderv2/styles.js +47 -0
- package/src/components/molecules/GroupSelect/GroupSelect.stories.js +35 -0
- package/src/components/molecules/GroupSelect/SelectItem.js +105 -0
- package/src/components/molecules/GroupSelect/index.js +190 -0
- package/src/components/molecules/GroupSelect/styles.js +124 -0
- package/src/components/molecules/HeaderTop/index.js +52 -6
- package/src/components/molecules/HeaderTopv2/HeaderTopv2.stories.js +10 -0
- package/src/components/molecules/HeaderTopv2/index.js +100 -0
- package/src/components/molecules/HeaderTopv2/styles.js +33 -0
- package/src/components/molecules/ImageSelectorv2/ImageSelectorv2.stories.js +46 -0
- package/src/components/molecules/ImageSelectorv2/index.js +22 -0
- package/src/components/molecules/ImageSelectorv2/styles.js +15 -0
- package/src/components/molecules/Phase/Phase.stories.js +107 -0
- package/src/components/molecules/Phase/index.js +391 -0
- package/src/components/molecules/Phase/styles.js +97 -0
- package/src/components/molecules/ProductNameHeader/index.js +19 -1
- package/src/components/molecules/ProductNameHeaderv2/ProductNameHeaderv2.stories.js +37 -0
- package/src/components/molecules/ProductNameHeaderv2/index.js +12 -0
- package/src/components/molecules/ProductNameHeaderv2/styles.js +10 -0
- package/src/components/molecules/ProductSkuStatus/ProductSkuStatus.stories.js +37 -0
- package/src/components/molecules/ProductSkuStatus/index.js +26 -0
- package/src/components/molecules/ProductSkuStatus/styles.js +7 -0
- package/src/components/molecules/RetailerSelectorv2/RetailerSelectorv2.stories.js +35 -0
- package/src/components/molecules/RetailerSelectorv2/index.js +80 -0
- package/src/components/molecules/RetailerSelectorv2/styles.js +21 -0
- package/src/components/molecules/ServiceDataValidator/ServiceDataValidator.stories.js +90 -0
- package/src/components/molecules/ServiceDataValidator/index.js +49 -0
- package/src/components/molecules/ServiceDataValidator/styles.js +36 -0
- package/src/components/molecules/SignInLogin/index.js +11 -11
- package/src/components/molecules/StatusAsignationInfo/FinancedCompanies.js +501 -63
- package/src/components/molecules/StatusAsignationInfo/index.js +1 -1
- package/src/components/molecules/StatusRetailer/StatusAsignationInfo.stories.js +17 -0
- package/src/components/molecules/StatusRetailer/index.js +55 -0
- package/src/components/molecules/StatusRetailer/styles.js +85 -0
- package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +1 -2
- package/src/components/molecules/TabsMenuv2/TabsMenuv2.stories.js +19 -0
- package/src/components/molecules/TabsMenuv2/index.js +112 -0
- package/src/components/molecules/TabsMenuv2/styles.js +19 -0
- package/src/components/molecules/TagAndInput/index.js +8 -6
- package/src/components/molecules/TagAndInputv2/TagAndInputv2.stories.js +24 -0
- package/src/components/molecules/TagAndInputv2/index.js +86 -0
- package/src/components/molecules/TagAndInputv2/styles.js +35 -0
- package/src/components/molecules/Validation/Validation.stories.js +12 -0
- package/src/components/molecules/Validation/index.js +77 -0
- package/src/components/molecules/Validation/styles.js +19 -0
- package/src/components/molecules/VersionItemv2/VersionItemv2.stories.js +14 -0
- package/src/components/molecules/VersionItemv2/index.js +59 -0
- package/src/components/molecules/VersionItemv2/styles.js +47 -0
- package/src/components/organisms/BarButtons/BarButtons.stories.js +13 -0
- package/src/components/organisms/BarButtons/index.js +150 -0
- package/src/components/organisms/BarButtons/styles.js +54 -0
- package/src/components/organisms/Chat/Chat.stories.js +27 -7
- package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
- package/src/components/organisms/Chat/ContainerItems/styles.js +14 -2
- package/src/components/organisms/Chat/ContentChat/index.js +88 -12
- package/src/components/organisms/Chat/Footer/index.js +11 -0
- package/src/components/organisms/Chat/index.js +46 -4
- package/src/components/organisms/Chat/styles.js +4 -0
- package/src/components/organisms/Chatv2/ChatLists/ChatLists.stories.js +65 -0
- package/src/components/organisms/Chatv2/ChatLists/Rotoplas.jpeg +0 -0
- package/src/components/organisms/Chatv2/ChatLists/THD.png +0 -0
- package/src/components/organisms/Chatv2/ChatLists/index.js +141 -0
- package/src/components/organisms/Chatv2/ChatLists/styles.js +162 -0
- package/src/components/organisms/Chatv2/Chatv2.stories.js +184 -0
- package/src/components/organisms/Chatv2/ContainerItems/ContainerItems.stories.js +142 -0
- package/src/components/organisms/Chatv2/ContainerItems/index.js +538 -0
- package/src/components/organisms/Chatv2/ContainerItems/styles.js +360 -0
- package/src/components/organisms/Chatv2/ContentChat/ContentChat.stories.js +102 -0
- package/src/components/organisms/Chatv2/ContentChat/Rotoplas.jpeg +0 -0
- package/src/components/organisms/Chatv2/ContentChat/THD.png +0 -0
- package/src/components/organisms/Chatv2/ContentChat/index.js +1016 -0
- package/src/components/organisms/Chatv2/ContentChat/styles.js +44 -0
- package/src/components/organisms/Chatv2/Footer/Footer.stories.js +22 -0
- package/src/components/organisms/Chatv2/Footer/index.js +668 -0
- package/src/components/organisms/Chatv2/Footer/styles.js +290 -0
- package/src/components/organisms/Chatv2/Header/Header.stories.js +66 -0
- package/src/components/organisms/Chatv2/Header/index.js +93 -0
- package/src/components/organisms/Chatv2/Header/styles.js +49 -0
- package/src/components/organisms/Chatv2/index.js +281 -0
- package/src/components/organisms/Chatv2/styles.js +85 -0
- package/src/components/organisms/CompleteServices/CompleteServices.stories.js +91 -0
- package/src/components/organisms/CompleteServices/index.js +82 -0
- package/src/components/organisms/CompleteServices/styles.js +35 -0
- package/src/components/organisms/DashboardMetric/index.js +6 -3
- package/src/components/organisms/DragAndDropPhases/DragAndDropPhases.stories.js +13 -0
- package/src/components/organisms/DragAndDropPhases/index.js +336 -0
- package/src/components/organisms/DragAndDropPhases/styles.js +107 -0
- package/src/components/organisms/DragPrueba/DragPrueba.stories.js +12 -0
- package/src/components/organisms/DragPrueba/index.js +57 -0
- package/src/components/organisms/DragPrueba/styles.js +8 -0
- package/src/components/organisms/EditGroup/EditGroup.stories.js +20 -0
- package/src/components/organisms/EditGroup/index.js +321 -0
- package/src/components/organisms/EditGroup/styles.js +207 -0
- package/src/components/organisms/FullProductNameHeader/index.js +13 -1
- package/src/components/organisms/FullProductNamev2/FullProductNamev2.stories.js +28 -0
- package/src/components/organisms/FullProductNamev2/index.js +101 -0
- package/src/components/organisms/FullProductNamev2/styles.js +49 -0
- package/src/components/organisms/FullTabsMenuv2/FullTabsMenuv2.stories.js +22 -0
- package/src/components/organisms/FullTabsMenuv2/index.js +142 -0
- package/src/components/organisms/FullTabsMenuv2/styles.js +47 -0
- package/src/components/organisms/GridProducts/GridProducts.stories.js +682 -107
- package/src/components/organisms/ImageDataTablev2/ImageDataTablev2.stories.js +24 -0
- package/src/components/organisms/ImageDataTablev2/index.js +124 -0
- package/src/components/organisms/ImageDataTablev2/styles.js +18 -0
- package/src/components/organisms/ImagePreviewerv2/ImagePreviewerv2.stories.js +38 -0
- package/src/components/organisms/ImagePreviewerv2/index.js +22 -0
- package/src/components/organisms/ImagePreviewerv2/styles.js +7 -0
- package/src/components/organisms/ImageUploader/ImageUploader.stories.js +15 -0
- package/src/components/organisms/ImageUploader/index.js +62 -0
- package/src/components/organisms/ImageUploader/styles.js +29 -0
- package/src/components/organisms/ImageVisor/ImageVisor.stories.js +15 -0
- package/src/components/organisms/ImageVisor/index.js +143 -0
- package/src/components/organisms/ImageVisor/styles.js +106 -0
- package/src/components/organisms/InputGroup/index.js +292 -144
- package/src/components/organisms/InputGroup/styles.js +31 -0
- package/src/components/organisms/InputGroupv2/InputGroupv2.stories.js +31 -0
- package/src/components/organisms/InputGroupv2/index.js +296 -0
- package/src/components/organisms/InputGroupv2/styles.js +90 -0
- package/src/components/organisms/MandatoryBar/MandatoryBar.stories.js +18 -0
- package/src/components/organisms/MandatoryBar/index.js +31 -0
- package/src/components/organisms/MandatoryBar/styles.js +12 -0
- package/src/components/organisms/Modal/Modal.stories.js +2 -1
- package/src/components/organisms/Modal/index.js +9 -2
- package/src/components/organisms/Modal/styles.js +8 -1
- package/src/components/organisms/OrderDetail/utils/Table/utils.js +6 -16
- package/src/components/organisms/ProductImageModalv2/ProductImageModalv2.stories.js +90 -0
- package/src/components/organisms/ProductImageModalv2/index.js +105 -0
- package/src/components/organisms/ProductImageModalv2/styles.js +71 -0
- package/src/components/organisms/RenameImagesBar/RenameImagesBar.stories.js +18 -0
- package/src/components/organisms/RenameImagesBar/index.js +30 -0
- package/src/components/organisms/RenameImagesBar/styles.js +12 -0
- package/src/components/organisms/Table/Table.stories.js +609 -0
- package/src/components/organisms/Table/index.js +84 -0
- package/src/components/organisms/Table/styles.js +114 -0
- package/src/components/organisms/VersionSelectorv2/VersionSelectorv2.stories.js +15 -0
- package/src/components/organisms/VersionSelectorv2/index.js +105 -0
- package/src/components/organisms/VersionSelectorv2/styles.js +45 -0
- package/src/components/pages/Dashboard/Dashboard.stories.js +33 -38
- package/src/components/pages/Dashboard/index.js +36 -7
- package/src/components/pages/MultipleEdition/MultipleEdition.stories.js +17 -0
- package/src/components/pages/MultipleEdition/components/ImageUploader.js +62 -0
- package/src/components/pages/MultipleEdition/components/ImageUploaderStyles.js +29 -0
- package/src/components/pages/MultipleEdition/components/ImageVisor.js +143 -0
- package/src/components/pages/MultipleEdition/components/styles.js +106 -0
- package/src/components/pages/MultipleEdition/index.js +248 -0
- package/src/components/pages/MultipleEdition/saveData.js +92 -0
- package/src/components/pages/MultipleEdition/styles.js +201 -0
- package/src/components/pages/MultipleEdition/utils.js +1073 -0
- package/src/components/pages/ProductEditionv2/ProductEditionv2.stories.js +213 -0
- package/src/components/pages/ProductEditionv2/index.js +1758 -0
- package/src/components/pages/ProductEditionv2/styles.js +154 -0
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +56 -60
- package/src/components/pages/ProviderProductEdition/index.js +148 -133
- package/src/components/pages/ProviderProductEdition/styles.js +5 -1
- package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +4 -0
- package/src/components/pages/RetailerProductEdition/generateThumnail.js +21 -0
- package/src/components/pages/RetailerProductEdition/index.js +293 -300
- package/src/components/pages/RetailerProductEdition/styles.js +4 -0
- package/src/components/pages/RetailerProductEdition/utils.js +37 -0
- package/src/global-files/data.js +6 -10
- package/src/global-files/variables.js +6 -0
- 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
|
-
|
|
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 (
|
|
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
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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={() =>
|
|
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="
|
|
1576
|
-
|
|
1577
|
-
<
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
<
|
|
1588
|
-
|
|
1589
|
-
|
|
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
|
-
|
|
1604
|
-
<
|
|
1605
|
-
|
|
1606
|
-
|
|
1610
|
+
<>
|
|
1611
|
+
<SliderToolTip
|
|
1612
|
+
infoIcon={InfoIcon}
|
|
1613
|
+
slidefront={slidefront}
|
|
1614
|
+
iconSize={"big-image"}
|
|
1615
|
+
slidePosition={"top-slide"}
|
|
1607
1616
|
/>
|
|
1608
1617
|
<Button
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
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
|
-
|
|
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
|
+
`;
|
|
@@ -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;
|