@@ -2,14 +2,15 @@ import type { RootState } from 'store';
22import { applyMode , Mode } from '@cloudscape-design/global-styles' ;
33import { createSlice , PayloadAction } from '@reduxjs/toolkit' ;
44
5- import { AUTH_DATA_STORAGE_KEY , MODE_STORAGE_KEY } from './constants' ;
5+ import { AUTH_DATA_STORAGE_KEY , MODE_STORAGE_KEY , TUTORIAL_SHOW_STARTUP_STORAGE_KEY } from './constants' ;
66import { getThemeMode } from './helpers' ;
77
88import { IAppState , ToolsTabs } from './types' ;
99
1010const getInitialState = ( ) : IAppState => {
1111 let authData = null ;
1212 let storageData = null ;
13+ let hideStartUp : null | boolean = null ;
1314 let activeMode = getThemeMode ( ) ;
1415
1516 try {
@@ -18,6 +19,18 @@ const getInitialState = (): IAppState => {
1819 console . log ( e ) ;
1920 }
2021
22+ try {
23+ hideStartUp = ( ( ) => {
24+ if ( ! localStorage . getItem ( TUTORIAL_SHOW_STARTUP_STORAGE_KEY ) ) {
25+ return null ;
26+ }
27+
28+ return localStorage . getItem ( TUTORIAL_SHOW_STARTUP_STORAGE_KEY ) === 'true' ;
29+ } ) ( ) ;
30+ } catch ( e ) {
31+ console . log ( e ) ;
32+ }
33+
2134 try {
2235 const modeStorageData = localStorage . getItem ( MODE_STORAGE_KEY ) ;
2336
@@ -53,6 +66,7 @@ const getInitialState = (): IAppState => {
5366 discordCompleted : false ,
5467 tallyCompleted : false ,
5568 quickStartCompleted : false ,
69+ hideStartUp,
5670 } ,
5771 } ;
5872} ;
@@ -138,6 +152,19 @@ export const appSlice = createSlice({
138152 ...action . payload ,
139153 } ;
140154 } ,
155+
156+ setHideAtStartup : ( state , action : PayloadAction < boolean > ) => {
157+ state . tutorialPanel = {
158+ ...state . tutorialPanel ,
159+ hideStartUp : action . payload ,
160+ } ;
161+
162+ try {
163+ localStorage . setItem ( TUTORIAL_SHOW_STARTUP_STORAGE_KEY , JSON . stringify ( action . payload ) ) ;
164+ } catch ( e ) {
165+ console . log ( e ) ;
166+ }
167+ } ,
141168 } ,
142169} ) ;
143170
@@ -152,6 +179,7 @@ export const {
152179 setToolsTab,
153180 openTutorialPanel,
154181 updateTutorialPanelState,
182+ setHideAtStartup,
155183} = appSlice . actions ;
156184export const selectUserData = ( state : RootState ) => state . app . userData ;
157185export const selectAuthToken = ( state : RootState ) => state . app . authData ?. token ;
0 commit comments