Rev 3432 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';import { useParams, useNavigate } from 'react-router-dom';import { useDispatch } from 'react-redux';import { useFetch, useHabits } from '@hooks';import { editHabit } from '@services/habits/habits';import { addNotification } from '@store/notification/notification.actions';import PageHeader from '@components/common/page-header';import LoadingWrapper from '@components/common/loading-wrapper';import HabitForm from '@components/habits/habits/habit-form';export default function EditHabitPage() {const { id } = useParams();const navigate = useNavigate();const dispatch = useDispatch();const { updateHabit, getHabitById } = useHabits();const currentHabit = getHabitById(id);const { data: habitValues, isLoading } = useFetch(currentHabit?.actions.link_edit);const onSubmit = async (habit) => {try {const response = await editHabit(currentHabit?.actions.link_edit, habit);dispatch(addNotification({ style: 'success', msg: response.message }));updateHabit(response.data);navigate('/habits/habits');} catch (error) {dispatch(addNotification({ style: 'danger', msg: error.message }));}};return (<><PageHeader title='Editar hábito o competencia' goBack /><LoadingWrapper loading={isLoading}><HabitForm onSubmit={onSubmit} values={habitValues} /></LoadingWrapper></>);}