Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3328 | Rev 3416 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3320 stevensc 1
import React from 'react'
2
import { useParams } from 'react-router-dom'
3
import { useDispatch } from 'react-redux'
4
 
5
import { useFetch, useHabitProgress } from '@hooks'
6
import { updateProgress } from '@services/habits/habits'
3328 stevensc 7
import { addNotification } from '@store/notification/notification.actions'
3320 stevensc 8
 
9
import PageHeader from '@components/common/page-header'
10
import LoadingWrapper from '@components/common/loading-wrapper'
11
import ProgressForm from '@components/habits/progress/progress-form'
12
 
13
export default function EditHabitProgress() {
14
  const { id } = useParams()
15
  const dispatch = useDispatch()
16
 
17
  const { getItemById, loading, editItem } = useHabitProgress()
3374 stevensc 18
  const currentRegister = getItemById(id)
3322 stevensc 19
 
3320 stevensc 20
  const { data: registerValues, isLoading } = useFetch(
21
    currentRegister?.actions.link_edit
22
  )
23
 
24
  const onSubmit = async (progress) => {
25
    try {
26
      const response = await updateProgress(
27
        currentRegister?.actions.link_edit,
28
        progress
29
      )
30
      editItem(response.data)
3328 stevensc 31
      dispatch(addNotification({ style: 'success', msg: response.message }))
3320 stevensc 32
    } catch (error) {
3328 stevensc 33
      dispatch(addNotification({ style: 'danger', msg: error.message }))
3320 stevensc 34
    }
35
  }
36
 
37
  return (
38
    <>
39
      <PageHeader title='Editar progreso' goBack />
3323 stevensc 40
      <LoadingWrapper loading={loading || isLoading}>
3320 stevensc 41
        <ProgressForm onSubmit={onSubmit} values={registerValues} />
42
      </LoadingWrapper>
43
    </>
44
  )
45
}