@@ -81,12 +81,17 @@ export class McpMynahUi {
8181 private mynahUi : MynahUI
8282 private messager : Messager
8383 private isMcpServersListActive = false
84+ private mcpDetailedList : { close : ( ) => void } | undefined
8485
8586 constructor ( mynahUi : MynahUI , messager : Messager ) {
8687 this . mynahUi = mynahUi
8788 this . messager = messager
8889 }
8990
91+ close ( ) {
92+ this . mcpDetailedList ?. close ( )
93+ }
94+
9095 /**
9196 * Processes filter options by converting icons to Mynah icons
9297 */
@@ -397,15 +402,15 @@ export class McpMynahUi {
397402 ; ( detailedList . filterOptions [ 0 ] as any ) . autoFocus = true
398403 }
399404
400- const mcpSheet = this . mynahUi . openDetailedList ( {
405+ this . mcpDetailedList = this . mynahUi . openDetailedList ( {
401406 detailedList : detailedList ,
402407 events : {
403408 onFilterValueChange : ( filterValues : Record < string , any > ) => {
404409 this . messager . onListMcpServers ( filterValues )
405410 } ,
406411 onKeyPress : ( e : KeyboardEvent ) => {
407412 if ( e . key === 'Escape' ) {
408- mcpSheet . close ( )
413+ this . mcpDetailedList ? .close ( )
409414 }
410415 } ,
411416 onItemSelect : ( item : DetailedListItem ) => {
@@ -426,6 +431,7 @@ export class McpMynahUi {
426431 } ,
427432 onClose : ( ) => {
428433 this . isMcpServersListActive = false
434+ this . mcpDetailedList = undefined
429435 } ,
430436 onTitleActionClick : button => {
431437 this . messager . onMcpServerClick ( button . id )
0 commit comments