Proyectos de Subversion LeadersLinked - SPA

Rev

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

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