@@ -406,14 +406,40 @@ <h4 class="text-sm font-bold text-black mb-2">Actions</h4>
406406 const state = window . workspaceManager ?. getState ( ) ;
407407 if ( ! state ) return ;
408408
409+ // First, clear all states and reset loadedData
410+ loadedData = { } ;
411+
412+ // Clear MCPs state
413+ const mcpButton = document . querySelector ( '[data-theme="yellow"]' ) ;
414+ const mcpDropdown = document . getElementById ( 'dropdown-mcps' ) ;
415+ if ( mcpButton && mcpDropdown ) {
416+ mcpButton . classList . remove ( 'toggled' , 'expanded' ) ;
417+ mcpDropdown . style . display = 'none' ;
418+ }
419+
420+ // Clear Rules state
421+ const rulesButton = document . querySelector ( '[data-theme="pink"]' ) ;
422+ const rulesDropdown = document . getElementById ( 'dropdown-rules' ) ;
423+ if ( rulesButton && rulesDropdown ) {
424+ rulesButton . classList . remove ( 'toggled' , 'expanded' ) ;
425+ rulesDropdown . style . display = 'none' ;
426+ }
427+
428+ // Clear Agents state
429+ const agentsButton = document . querySelector ( '[data-theme="blue"]' ) ;
430+ const agentsDropdown = document . getElementById ( 'dropdown-agents' ) ;
431+ if ( agentsButton && agentsDropdown ) {
432+ agentsButton . classList . remove ( 'toggled' , 'expanded' ) ;
433+ agentsDropdown . style . display = 'none' ;
434+ }
435+
436+ // Now restore the active states
409437 // Restore MCPs state
410438 if ( state . isActionCategoryActive ( 'mcps' ) ) {
411- const button = document . querySelector ( '[data-theme="yellow"]' ) ;
412- const dropdown = document . getElementById ( 'dropdown-mcps' ) ;
413- if ( button && dropdown ) {
414- button . classList . add ( 'toggled' ) ;
415- button . classList . add ( 'expanded' ) ;
416- dropdown . style . display = 'block' ;
439+ if ( mcpButton && mcpDropdown ) {
440+ mcpButton . classList . add ( 'toggled' ) ;
441+ mcpButton . classList . add ( 'expanded' ) ;
442+ mcpDropdown . style . display = 'block' ;
417443 if ( ! loadedData [ 'mcps' ] ) {
418444 loadDropdownData ( 'mcps' ) ;
419445 loadedData [ 'mcps' ] = true ;
@@ -423,12 +449,10 @@ <h4 class="text-sm font-bold text-black mb-2">Actions</h4>
423449
424450 // Restore Rules state
425451 if ( state . isActionCategoryActive ( 'rules' ) ) {
426- const button = document . querySelector ( '[data-theme="pink"]' ) ;
427- const dropdown = document . getElementById ( 'dropdown-rules' ) ;
428- if ( button && dropdown ) {
429- button . classList . add ( 'toggled' ) ;
430- button . classList . add ( 'expanded' ) ;
431- dropdown . style . display = 'block' ;
452+ if ( rulesButton && rulesDropdown ) {
453+ rulesButton . classList . add ( 'toggled' ) ;
454+ rulesButton . classList . add ( 'expanded' ) ;
455+ rulesDropdown . style . display = 'block' ;
432456 if ( ! loadedData [ 'rules' ] ) {
433457 loadDropdownData ( 'rules' ) ;
434458 loadedData [ 'rules' ] = true ;
@@ -438,12 +462,10 @@ <h4 class="text-sm font-bold text-black mb-2">Actions</h4>
438462
439463 // Restore Agents state
440464 if ( state . isActionCategoryActive ( 'agents' ) ) {
441- const button = document . querySelector ( '[data-theme="blue"]' ) ;
442- const dropdown = document . getElementById ( 'dropdown-agents' ) ;
443- if ( button && dropdown ) {
444- button . classList . add ( 'toggled' ) ;
445- button . classList . add ( 'expanded' ) ;
446- dropdown . style . display = 'block' ;
465+ if ( agentsButton && agentsDropdown ) {
466+ agentsButton . classList . add ( 'toggled' ) ;
467+ agentsButton . classList . add ( 'expanded' ) ;
468+ agentsDropdown . style . display = 'block' ;
447469 if ( ! loadedData [ 'agents' ] ) {
448470 loadDropdownData ( 'agents' ) ;
449471 loadedData [ 'agents' ] = true ;
0 commit comments