From 347c94702aa15dcd9e5c429ce8d3db801d0d5fcc Mon Sep 17 00:00:00 2001 From: MTG2000 Date: Thu, 29 Sep 2022 13:42:06 +0300 Subject: [PATCH] update: navigate to created project page after creation --- .../Components/SaveChangesCard/SaveChangesCard.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/features/Projects/pages/ListProjectPage/Components/SaveChangesCard/SaveChangesCard.tsx b/src/features/Projects/pages/ListProjectPage/Components/SaveChangesCard/SaveChangesCard.tsx index 08fa676..fb49334 100644 --- a/src/features/Projects/pages/ListProjectPage/Components/SaveChangesCard/SaveChangesCard.tsx +++ b/src/features/Projects/pages/ListProjectPage/Components/SaveChangesCard/SaveChangesCard.tsx @@ -3,13 +3,13 @@ import Card from 'src/Components/Card/Card' import Avatar from 'src/features/Profiles/Components/Avatar/Avatar' import { useFormContext } from "react-hook-form" import { IListProjectForm } from "../FormContainer/FormContainer"; -import { useMemo } from 'react' +import { useMemo, useState } from 'react' import { tabs } from '../../ListProjectPage' import { NotificationsService } from 'src/services' import { useAppDispatch } from 'src/utils/hooks'; import { openModal } from 'src/redux/features/modals.slice'; import { useCreateProjectMutation, useUpdateProjectMutation, UpdateProjectInput } from 'src/graphql' -import { Link } from 'react-router-dom'; +import { Navigate, useNavigate } from 'react-router-dom'; import { createRoute } from 'src/utils/routing'; import { wrapLink } from 'src/utils/hoc'; @@ -23,8 +23,8 @@ export default function SaveChangesCard(props: Props) { const { handleSubmit, formState: { isDirty, }, reset, getValues, watch } = useFormContext(); const dispatch = useAppDispatch(); - const isUpdating = useMemo(() => !!getValues('id'), [getValues]); + const [navigateToCreatedProject, setNavigateToCreatedProject] = useState(false) const [update, updatingStatus] = useUpdateProjectMutation(); const [create, creatingStatus] = useCreateProjectMutation() @@ -41,7 +41,6 @@ export default function SaveChangesCard(props: Props) { const clickSubmit = handleSubmit(async data => { try { - const input: UpdateProjectInput = { ...data, members: data.members.map(m => ({ id: m.id, role: m.role })), @@ -70,6 +69,7 @@ export default function SaveChangesCard(props: Props) { } } })) + setNavigateToCreatedProject(true); } }, (errors) => { NotificationsService.error("Please fill all the required fields"); @@ -115,6 +115,8 @@ export default function SaveChangesCard(props: Props) { }, [clickSubmit, isDirty, isLoading, isUpdating, props.currentTab, props.onNext]) + if (navigateToCreatedProject) return + return (