Rev 3278 | Rev 3432 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from "react";import { useDispatch, useSelector } from "react-redux";import { Controller, useForm } from "react-hook-form";import { axios } from "@utils";import { addNotification } from "@store/notification/notification.actions";import Modal from "../modal/Modal";import FormErrorFeedback from "../form/FormErrorFeedback";import DropzoneComponent from "@components/dropzone/DropzoneComponent";const CoverModal = ({show = false,sizes = "",onClose = () => {},onChange = () => {},url = "",}) => {const labels = useSelector(({ intl }) => intl.labels);const dispatch = useDispatch();const {control,formState: { isSubmitting },handleSubmit,} = useForm();const onSubmit = handleSubmit(async () => {try {const newCover = await axios.post(url, cover);onChange(newCover);onClose();} catch (error) {dispatch(addNotification({style: "danger",msg: "Error al actualizar el portada",}));}});return (<Modaltitle={labels.cover}show={show}onClose={onClose}onAccept={onSubmit}loading={isSubmitting}><Controllername="cover"control={control}rules={{ required: "Portada requerida" }}render={({ field: { onChange, value }, fieldState: { error } }) => (<><DropzoneComponenttype="IMAGE"onUploaded={onChange}settedFile={value}recomendationText={`Imágenes recomendadas de ${sizes}`}/>{error && <FormErrorFeedback>{error.message}</FormErrorFeedback>}</>)}/></Modal>);};export default CoverModal;