@@ -322,43 +322,42 @@ export const createUiState: StateCreator<AtuinUiState> = (set, get, _store): Atu
322322 }
323323 } ,
324324 setTabTitle : ( id : string , title : string ) => {
325- const tabs = get ( ) . tabs ;
326- const tab = tabs . find ( ( tab ) => tab . id === id ) ;
327- if ( tab ) {
328- tab . title = title ;
329- set ( ( ) => ( { tabs : tabs } ) ) ;
330- }
325+ set ( ( state ) => ( {
326+ tabs : state . tabs . map ( ( tab ) =>
327+ tab . id === id ? { ...tab , title } : tab
328+ ) ,
329+ } ) ) ;
331330 } ,
332331
333332 setTabPtyCount : ( id : string , ptyCount : number ) => {
334- const tabs = get ( ) . tabs ;
335- const tab = tabs . find ( ( tab ) => tab . id === id ) ;
336- if ( tab ) {
337- console . log ( "setTabPtyCount" , id , ptyCount ) ;
338- tab . ptyCount = ptyCount ;
339- tab . badge = tab . badgeCount + tab . ptyCount > 0 ? String ( tab . badgeCount + tab . ptyCount ) : null ;
340- console . log ( "setTabPtyCount" , tab . badge ) ;
341- set ( ( ) => ( { tabs : tabs } ) ) ;
342- }
333+ set ( ( state ) => ( {
334+ tabs : state . tabs . map ( ( tab ) => {
335+ if ( tab . id !== id ) return tab ;
336+ const badge = tab . badgeCount + ptyCount > 0 ? String ( tab . badgeCount + ptyCount ) : null ;
337+ return { ...tab , ptyCount, badge } ;
338+ } ) ,
339+ } ) ) ;
343340 } ,
344341
345342 incrementTabBadgeCount : ( id : string , count : number ) => {
346- const tabs = get ( ) . tabs ;
347- const tab = tabs . find ( ( tab ) => tab . id === id ) ;
348- if ( tab ) {
349- tab . badgeCount = tab . badgeCount + count ;
350- tab . badge = tab . badgeCount + tab . ptyCount > 0 ? String ( tab . badgeCount + tab . ptyCount ) : null ;
351- set ( ( ) => ( { tabs : tabs } ) ) ;
352- }
343+ set ( ( state ) => ( {
344+ tabs : state . tabs . map ( ( tab ) => {
345+ if ( tab . id !== id ) return tab ;
346+ const badgeCount = tab . badgeCount + count ;
347+ const badge = badgeCount + tab . ptyCount > 0 ? String ( badgeCount + tab . ptyCount ) : null ;
348+ return { ...tab , badgeCount, badge } ;
349+ } ) ,
350+ } ) ) ;
353351 } ,
354352 decrementTabBadgeCount : ( id : string , count : number ) => {
355- const tabs = get ( ) . tabs ;
356- const tab = tabs . find ( ( tab ) => tab . id === id ) ;
357- if ( tab ) {
358- tab . badgeCount = tab . badgeCount - count ;
359- tab . badge = tab . badgeCount + tab . ptyCount > 0 ? String ( tab . badgeCount + tab . ptyCount ) : null ;
360- set ( ( ) => ( { tabs : tabs } ) ) ;
361- }
353+ set ( ( state ) => ( {
354+ tabs : state . tabs . map ( ( tab ) => {
355+ if ( tab . id !== id ) return tab ;
356+ const badgeCount = tab . badgeCount - count ;
357+ const badge = badgeCount + tab . ptyCount > 0 ? String ( badgeCount + tab . ptyCount ) : null ;
358+ return { ...tab , badgeCount, badge } ;
359+ } ) ,
360+ } ) ) ;
362361 } ,
363362 advanceActiveTab : ( amount : number ) => {
364363 const tabs = get ( ) . tabs ;
0 commit comments