11import React , { useEffect , useState } from 'react' ;
2- import { useSelector } from 'react-redux' ;
2+ import { useSelector , useDispatch } from 'react-redux' ;
33import { Params , useNavigate , useParams } from 'react-router' ;
44import {
55 Icon ,
@@ -31,9 +31,8 @@ import DeleteProjectModal from '../DeleteProjectModal';
3131
3232//stylesheet
3333import './Settings.scss' ;
34- import { useDispatch } from 'react-redux' ;
3534import { updateNewMigrationData } from '../../../store/slice/migrationDataSlice' ;
36- import { DEFAULT_NEW_MIGRATION } from '../../../context/app/app.interface' ;
35+ import { DEFAULT_NEW_MIGRATION , INewMigration } from '../../../context/app/app.interface' ;
3736import ExecutionLog from '../../../components/ExecutionLogs' ;
3837import AuditLogs from '../../AuditLogs' ;
3938
@@ -45,16 +44,19 @@ const Settings = () => {
4544 const params : Params < string > = useParams ( ) ;
4645
4746 const [ cmsData , setCmsData ] = useState < Setting > ( ) ;
48- const [ active , setActive ] = useState < string > ( ) ;
4947 const [ currentHeader , setCurrentHeader ] = useState < string > ( ) ;
5048 const [ projectName , setProjectName ] = useState ( '' ) ;
51- const [ projectId , setProjectId ] = useState ( '' ) ;
49+
5250 const [ projectDescription , setProjectDescription ] = useState ( '' ) ;
5351
5452 const selectedOrganisation = useSelector (
5553 ( state : RootState ) => state ?. authentication ?. selectedOrganisation
5654 ) ;
5755
56+ const newMigrationData = useSelector ( ( state : RootState ) => state ?. migration ?. newMigrationData ) ;
57+
58+ const active_state = newMigrationData ?. settings ?. active_state ;
59+
5860 const currentStep = useSelector (
5961 ( state : RootState ) => state ?. migration ?. newMigrationData ?. project_current_step
6062 ) ;
@@ -68,7 +70,6 @@ const Settings = () => {
6870 getCMSDataFromFile ( CS_ENTRIES . SETTING )
6971 . then ( ( data ) => {
7072 setCmsData ( data ) ;
71- setActive ( data ?. project ?. title ) ;
7273 setCurrentHeader ( data ?. project ?. title ) ;
7374 } )
7475 . catch ( ( err ) => {
@@ -84,7 +85,6 @@ const Settings = () => {
8485 if ( status === HTTP_CODES . OK ) {
8586 setProjectName ( data ?. name ) ;
8687 setProjectDescription ( data ?. description ) ;
87- setProjectId ( params ?. projectId ?? '' ) ;
8888 }
8989 } ;
9090
@@ -133,13 +133,11 @@ const Settings = () => {
133133 } ;
134134
135135 const handleDeleteProject = async ( closeModal : ( ) => void ) : Promise < void > => {
136- //setIsLoading(true);
137136 const response = await deleteProject ( selectedOrganisation ?. value , params ?. projectId ?? '' ) ;
138137
139- if ( response ?. status === HTTP_CODES . OK ) {
140- //setIsLoading(false);
138+ if ( response ?. status === HTTP_CODES ?. OK ) {
141139 closeModal ( ) ;
142- dispatch ( updateNewMigrationData ( DEFAULT_NEW_MIGRATION ) ) ;
140+ dispatch ( updateNewMigrationData ( newMigrationData ) ) ;
143141 setTimeout ( ( ) => {
144142 navigate ( '/projects' ) ;
145143 } , 800 ) ;
@@ -158,7 +156,8 @@ const Settings = () => {
158156
159157 const handleBack = ( ) => {
160158 navigate ( `/projects/${ params ?. projectId } /migration/steps/${ currentStep } ` ) ;
161- }
159+ dispatch ( updateNewMigrationData ( { ...newMigrationData , settings : DEFAULT_NEW_MIGRATION ?. settings } ) ) ;
160+ } ;
162161
163162 const handleClick = ( ) => {
164163 cbModal ( {
@@ -207,7 +206,7 @@ const Settings = () => {
207206 const content = {
208207 component : (
209208 < div >
210- { active === cmsData ?. project ?. title && (
209+ { active_state === cmsData ?. project ?. title && (
211210 < div className = "content-block" >
212211 < div data-test-id = "cs-stack-setting-general" className = "stack-settings__heading" >
213212 { cmsData ?. project ?. general }
@@ -261,13 +260,8 @@ const Settings = () => {
261260 </ div >
262261 </ div >
263262 ) }
264- { active === cmsData ?. execution_logs ?. title && (
265- < ExecutionLog projectId = { projectId } />
266- ) }
267- { active === cmsData ?. audit_logs ?. title &&
268- < AuditLogs />
269-
270- }
263+ { active_state === cmsData ?. execution_logs ?. title && < ExecutionLog /> }
264+ { active_state === cmsData ?. audit_logs ?. title && < AuditLogs /> }
271265 </ div >
272266 )
273267 } ;
@@ -291,42 +285,60 @@ const Settings = () => {
291285 withTooltip = { true }
292286 tooltipContent = { 'Back' }
293287 tooltipPosition = "right"
294- className = ' back-button'
288+ className = " back-button"
295289 />
296290 </ div >
297291 { cmsData ?. title }
298292 </ div >
299293
300294 < ListRow
301295 rightArrow = { true }
302- active = { active === cmsData ?. project ?. title }
296+ active = { active_state === cmsData ?. project ?. title }
303297 content = { cmsData ?. project ?. title }
304298 leftIcon = { < Icon icon = "Stacks" version = "v2" /> }
305299 onClick = { ( ) => {
306- setActive ( cmsData ?. project ?. title ) ;
307300 setCurrentHeader ( cmsData ?. project ?. title ) ;
301+ const activeTabState : INewMigration = {
302+ ...newMigrationData ,
303+ settings : {
304+ active_state : cmsData ?. project ?. title ?? ''
305+ }
306+ } ;
307+ dispatch ( updateNewMigrationData ( activeTabState ) ) ;
308308 } }
309309 version = "v2"
310310 />
311311
312312 < ListRow
313313 rightArrow = { true }
314- active = { active === cmsData ?. execution_logs ?. title }
314+ active = { active_state === cmsData ?. execution_logs ?. title }
315315 content = { cmsData ?. execution_logs ?. title }
316316 leftIcon = { < Icon icon = "ExecutionLog" version = "v2" /> }
317317 onClick = { ( ) => {
318- setActive ( cmsData ?. execution_logs ?. title ) ;
319318 setCurrentHeader ( cmsData ?. execution_logs ?. title ) ;
319+ const activeTabState : INewMigration = {
320+ ...newMigrationData ,
321+ settings : {
322+ active_state : cmsData ?. execution_logs ?. title ?? ''
323+ }
324+ } ;
325+ dispatch ( updateNewMigrationData ( activeTabState ) ) ;
320326 } }
321327 version = "v2"
322328 />
323329 < ListRow
324330 rightArrow = { true }
325- active = { active === cmsData ?. audit_logs ?. title }
331+ active = { active_state === cmsData ?. audit_logs ?. title }
326332 content = { cmsData ?. audit_logs ?. title }
327333 leftIcon = { < Icon icon = "Stacks" version = "v2" /> }
328334 onClick = { ( ) => {
329- setActive ( cmsData ?. audit_logs ?. title ) ;
335+ const activeTabState : INewMigration = {
336+ ...newMigrationData ,
337+ settings : {
338+ active_state : cmsData ?. audit_logs ?. title ?? ''
339+ }
340+ } ;
341+ dispatch ( updateNewMigrationData ( activeTabState ) ) ;
330342 setCurrentHeader ( cmsData ?. audit_logs ?. title ) ;
331343 } }
332344 version = "v2"
@@ -338,18 +350,18 @@ const Settings = () => {
338350 const header = {
339351 component : (
340352 < div >
341- { active === cmsData ?. project ?. title ? (
353+ { active_state === cmsData ?. project ?. title ? (
342354 < PageHeader
343355 testId = "header"
344356 className = "action-component-title"
345- title = { { label : currentHeader } }
357+ title = { { label : active_state } }
346358 actions = { pageActions }
347359 />
348360 ) : (
349361 < PageHeader
350362 testId = "header"
351363 className = "action-component-title"
352- title = { { label : currentHeader } }
364+ title = { { label : active_state } }
353365 />
354366 ) }
355367 </ div >
0 commit comments