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.
- 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/dist/components/pages/ProviderProductEdition/index.js +3 -4
- 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 +149 -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,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 (
|
|
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
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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={() =>
|
|
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="
|
|
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>
|
|
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
|
-
|
|
1604
|
-
<
|
|
1605
|
-
|
|
1606
|
-
|
|
1611
|
+
<>
|
|
1612
|
+
<SliderToolTip
|
|
1613
|
+
infoIcon={InfoIcon}
|
|
1614
|
+
slidefront={slidefront}
|
|
1615
|
+
iconSize={"big-image"}
|
|
1616
|
+
slidePosition={"top-slide"}
|
|
1607
1617
|
/>
|
|
1608
1618
|
<Button
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
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
|
-
|
|
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
|
+
`;
|
|
@@ -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;
|