Rev 3318 | Rev 3320 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'import { useParams } from 'react-router-dom'import { useDispatch } from 'react-redux'import { useForm } from 'react-hook-form'import { Button } from '@mui/material'import { useFetch, useMyProgress } from '@hooks'import { saveProgress } from '@services/habits/habits'import { addNotification } from '@store/notification/notification.actions'import PageHeader from '@components/common/page-header'import Form from '@components/common/form'import LoadingWrapper from '@components/common/loading-wrapper'import Input from '@components/UI/inputs/Input'import Ckeditor from '@components/common/ckeditor/Ckeditor'export default function AddHabitProgress() {const { id } = useParams()const dispatch = useDispatch()const { getHabitById } = useMyProgress()const currentHabit = getHabitById(id)const { data, isLoading } = useFetch(currentHabit?.link)const {control,formState: { errors, isSubmitting },handleSubmit} = useForm()const getCurrentDate = () => {const date = new Date()const year = date.getFullYear()const month = String(date.getMonth() + 1).padStart(2, '0') // Enero es 0const day = String(date.getDate()).padStart(2, '0')const hours = String(date.getHours()).padStart(2, '0')const minutes = String(date.getMinutes()).padStart(2, '0')const seconds = String(date.getSeconds()).padStart(2, '0')return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`}const onSubmit = handleSubmit(async (progress) => {try {const date = getCurrentDate()const response = await saveProgress(data.link_add, {...progress,date})console.log(response)} catch (error) {dispatch(addNotification({ style: 'danger', msg: error.message }))}})return (<><PageHeadertitle={`${currentHabit?.name ?? ''} - Agregar progreso`}goBack/><LoadingWrapper loading={isLoading}><Form onSubmit={onSubmit}><LoadingWrapper loading={isSubmitting} displayChildren><Inputcontrol={control}label='Valor cuantitativo:'name='quantitative_value'type='number'rules={{ required: 'El valor es requerido' }}error={errors.quantitative_value?.message}/><Ckeditorcontrol={control}name='qualitative_description'error={errors.qualitative_description?.message}rules={{ required: 'La descripción es requerida' }}label='Descripción cualitativa:'/><Button color='primary' type='submit'>Enviar</Button></LoadingWrapper></Form></LoadingWrapper></>)}