@@ -102,12 +102,12 @@ const TechniquesTable = ({
102102 if ( importContent ?. technique_table ) {
103103 localStorage . setItem ( 'technique_table' , JSON . stringify ( importContent . technique_table ) ) ;
104104 localStorage . setItem ( 'techniques' , JSON . stringify ( importContent . techniques ) ) ;
105- setTableData ( importContent . technique_table ) ;
105+ handleHideTechniques ( )
106106 }
107107 } , [ importContent ] ) ;
108108
109- // Handle viewCustomMode toggles
110109 useEffect ( ( ) => {
110+ if ( ! importContent ) {
111111 if ( viewCustomMode ) {
112112 const local = localStorage . getItem ( "technique_table" ) ;
113113 try {
@@ -121,6 +121,16 @@ const TechniquesTable = ({
121121 } else {
122122 setTableData ( allTechniques ) ;
123123 }
124+ }
125+
126+ if ( ! viewCustomMode ) {
127+ setTableData ( allTechniques ) ;
128+ setHideTechniques ( [ ] )
129+ } else {
130+ handleHideTechniques ( )
131+ }
132+
133+
124134 } , [ viewCustomMode ] ) ;
125135
126136 useEffect ( ( ) => {
@@ -150,16 +160,18 @@ const TechniquesTable = ({
150160 localStorage . setItem ( 'techniques' , JSON . stringify ( updatedTechniques ) ) ;
151161
152162 setHideTechniques ( prev => {
153- const alreadyExists = prev ?. includes ( selectedTechnique ) ;
154-
163+ const list = prev ?? [ ] ; // default to empty array if prev is undefined
164+ const alreadyExists = list . includes ( selectedTechnique ) ;
165+
155166 if ( hideStatus && ! alreadyExists ) {
156- return [ ...prev , selectedTechnique ] ;
167+ return [ ...list , selectedTechnique ] ;
157168 } else if ( ! hideStatus && alreadyExists ) {
158- return prev . filter ( item => item !== selectedTechnique ) ;
169+ return list . filter ( item => item !== selectedTechnique ) ;
159170 }
160-
161- return prev ;
171+
172+ return list ;
162173 } ) ;
174+
163175
164176 }
165177 } ;
@@ -178,7 +190,8 @@ const TechniquesTable = ({
178190 // eslint-disable-next-line
179191 } , [ searchFilter ] ) ;
180192
181- useEffect ( ( ) => {
193+
194+ const handleHideTechniques = ( ) => {
182195 setAddedColumns ( [ ] ) ;
183196 if ( ! hideToggleStatus ) {
184197 const matchedTechniques = handleHideToggle ( hideToggleStatus ) ;
@@ -195,6 +208,11 @@ const TechniquesTable = ({
195208
196209 setTableData ( allTechniques ) ;
197210 }
211+ }
212+
213+ useEffect ( ( ) => {
214+ setAddedColumns ( [ ] ) ;
215+ handleHideTechniques ( )
198216 // eslint-disable-next-line
199217 } , [ hideToggleStatus ] ) ;
200218
@@ -991,8 +1009,6 @@ const TechniquesTable = ({
9911009 . map ( li => extractText ( li . props . children ) ) ;
9921010 }
9931011
994-
995-
9961012 const renderRows = ( ) => {
9971013 if ( tableData && tableData . length === 0 ) {
9981014 const savedData = localStorage . getItem ( 'technique_table' ) ;
0 commit comments