Proyectos de Subversion LeadersLinked - SPA

Rev

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

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