@@ -10,7 +10,7 @@ import {
1010} from '@contentstack/venus-components' ;
1111import { jsonToHtml } from '@contentstack/json-rte-serializer' ;
1212import HTMLReactParser from 'html-react-parser' ;
13- import { useLocation } from 'react-router-dom' ;
13+ import { useLocation , useNavigate } from 'react-router-dom' ;
1414import { useSelector } from 'react-redux' ;
1515
1616// Redux
@@ -19,7 +19,7 @@ import useBlockNavigation from '../../hooks/userNavigation';
1919
2020// Services
2121import { getCMSDataFromFile } from '../../cmsData/cmsSelector' ;
22- import { getAllProjects } from '../../services/api/project.service' ;
22+ import { createProject , getAllProjects } from '../../services/api/project.service' ;
2323
2424// Utilities
2525import { CS_ENTRIES } from '../../utilities/constants' ;
@@ -41,6 +41,9 @@ import { NO_PROJECTS, NO_PROJECTS_SEARCH } from '../../common/assets';
4141
4242// styles
4343import './index.scss' ;
44+ import { useDispatch } from 'react-redux' ;
45+ import { DEFAULT_NEW_MIGRATION } from '../../context/app/app.interface' ;
46+ import { updateNewMigrationData } from '../../store/slice/migrationDataSlice' ;
4447
4548const Projects = ( ) => {
4649 const [ data , setData ] = useState < ProjectsType > ( { } ) ;
@@ -69,6 +72,8 @@ const Projects = () => {
6972 const [ isModalOpen , setIsModalOpen ] = useState ( false ) ;
7073
7174 usePreventBackNavigation ( ) ;
75+ const navigate = useNavigate ( ) ;
76+ const dispatch = useDispatch ( ) ;
7277
7378 const fetchProjects = async ( ) => {
7479 setLoadStatus ( true ) ;
@@ -132,6 +137,20 @@ const Projects = () => {
132137 } ;
133138 useBlockNavigation ( isModalOpen || true ) ;
134139
140+ const createProjectCall = async ( values : any ) => {
141+ const res :any = await createProject ( selectedOrganisation ?. uid || '' , values ) ;
142+ if ( res ?. error ) {
143+ return res ?. error ;
144+ }
145+ if ( res ?. status === 201 ) {
146+ const projectId = res ?. data ?. project ?. id ;
147+ dispatch ( updateNewMigrationData ( DEFAULT_NEW_MIGRATION ) )
148+ navigate ( `/projects/${ projectId } /migration/steps/1` ) ;
149+
150+ }
151+ return res ;
152+
153+ }
135154 // Function for open modal
136155 const openModal = ( ) => {
137156 setIsModalOpen ( true ) ;
@@ -144,6 +163,7 @@ const Projects = () => {
144163 }
145164 selectedOrg = { selectedOrganisation }
146165 isOpen = { setIsModalOpen }
166+ createProject = { createProjectCall }
147167 { ...props }
148168 />
149169 ) ,
0 commit comments