@@ -431,6 +431,46 @@ export const mainSlice = createSlice({
431
431
const { tabs, currentTab } = state ;
432
432
tabs [ currentTab ] = { ...tabs [ currentTab ] , seriesSavedStatus : action . payload }
433
433
434
+ } ,
435
+
436
+ onHover : ( state , action ) => {
437
+ const { currentTab, port } = state ;
438
+
439
+ port . postMessage ( {
440
+ action : 'onHover' ,
441
+ payload : action . payload ,
442
+ tabId : currentTab ,
443
+ } ) ;
444
+ } ,
445
+
446
+ onHoverExit : ( state , action ) => {
447
+ const { currentTab, port } = state ;
448
+
449
+ port . postMessage ( {
450
+ action : 'onHoverExit' ,
451
+ payload : action . payload ,
452
+ tabId : currentTab ,
453
+ } ) ;
454
+ } ,
455
+
456
+ save : ( state , action ) => {
457
+ const { currentTab, tabs } = state ;
458
+
459
+ const { newSeries, newSeriesName } = action . payload ;
460
+ if ( ! tabs [ currentTab ] . seriesSavedStatus ) {
461
+ tabs [ currentTab ] = { ...tabs [ currentTab ] , seriesSavedStatus : 'inputBoxOpen' } ;
462
+ }
463
+ // Runs if series name input box is active.
464
+ // Updates chrome local storage with the newly saved series. Console logging the seriesArray grabbed from local storage may be helpful.
465
+ if ( tabs [ currentTab ] . seriesSavedStatus === 'inputBoxOpen' ) {
466
+ //Set a type for seriesArray 10/04/2023
467
+ let seriesArray : any = localStorage . getItem ( 'project' ) ;
468
+ seriesArray = seriesArray === null ? [ ] : JSON . parse ( seriesArray ) ;
469
+ newSeries . name = newSeriesName ;
470
+ seriesArray . push ( newSeries ) ;
471
+ localStorage . setItem ( 'project' , JSON . stringify ( seriesArray ) ) ;
472
+ tabs [ currentTab ] = { ...tabs [ currentTab ] , seriesSavedStatus : 'saved' } ;
473
+ }
434
474
}
435
475
} ,
436
476
} )
@@ -456,7 +496,10 @@ export const {
456
496
resetSlider,
457
497
toggleMode,
458
498
importSnapshots,
459
- tutorialSaveSeriesToggle
499
+ tutorialSaveSeriesToggle,
500
+ onHover,
501
+ onHoverExit,
502
+
460
503
} = mainSlice . actions
461
504
462
505
0 commit comments