@@ -376,14 +376,39 @@ export const Layout: React.FC = () => {
376376 return (
377377 < div className = "flex flex-col h-screen overflow-hidden" style = { { backgroundColor : 'var(--theme-bg)' , color : 'var(--theme-foreground)' } } >
378378 { /* Title Bar with Menu */ }
379- < div className = "h-[40px ] flex items-center select-none flex-shrink-0 relative z-50 pt-[2px] "
379+ < div className = "h-[34px ] flex items-center select-none flex-shrink-0 relative z-50"
380380 style = { { backgroundColor : 'var(--theme-title-bar)' , WebkitAppRegion : 'drag' } as any } >
381381 < div className = "flex items-center text-[12px]" style = { { color : 'var(--theme-foreground)' , opacity : 0.8 , WebkitAppRegion : 'no-drag' } as any } >
382382 < span className = "px-2 flex items-center" title = "guIDE by Brendan Gray" >
383383 < img src = "zzz.png" alt = "guIDE" className = "w-5 h-5" style = { { filter : 'brightness(1.2)' } } />
384384 </ span >
385385 < MenuBar onAction = { handleMenuAction } />
386386 </ div >
387+ { /* Centered VS Code-style project search bar */ }
388+ < div
389+ className = "absolute left-1/2 -translate-x-1/2 flex items-center"
390+ style = { { WebkitAppRegion : 'no-drag' } as any }
391+ >
392+ < button
393+ className = "flex items-center gap-2 h-[22px] rounded transition-all px-3 hover:opacity-100"
394+ style = { {
395+ backgroundColor : 'var(--theme-input-bg, rgba(255,255,255,0.06))' ,
396+ border : '1px solid var(--theme-border, rgba(255,255,255,0.10))' ,
397+ color : 'var(--theme-foreground-muted)' ,
398+ width : 'clamp(220px, 30vw, 440px)' ,
399+ opacity : 0.75 ,
400+ } }
401+ onClick = { ( ) => handleMenuAction ( 'command-palette' ) }
402+ title = "Search files, commands, and more (Ctrl+P)"
403+ aria-label = "Open command palette"
404+ >
405+ < Search size = { 11 } className = "flex-shrink-0 opacity-60" />
406+ < span className = "truncate flex-1 text-left text-[11px]" >
407+ { rootPath ? rootPath . split ( / [ \/ \\ ] / ) . pop ( ) : 'Search files by name...' }
408+ </ span >
409+ < kbd className = "text-[10px] opacity-35 flex-shrink-0 ml-1 font-sans" > Ctrl+P</ kbd >
410+ </ button >
411+ </ div >
387412 < div className = "flex-1" />
388413 { /* VS Code–style layout toggle buttons */ }
389414 < div className = "flex items-center gap-0.5 mr-2" style = { { WebkitAppRegion : 'no-drag' } as any } >
@@ -572,7 +597,7 @@ export const Layout: React.FC = () => {
572597 ) : (
573598 < >
574599 { /* Sidebar — always mounted so panels stay alive; width animates open/close */ }
575- < div className = "flex flex-col flex-shrink-0 overflow-hidden" style = { { width : sidebarVisible ? sidebarWidth : 0 , backgroundColor : 'var(--theme-sidebar)' , borderRight : sidebarVisible ? '1px solid var(--theme-sidebar-border)' : 'none' , transition : 'width 200ms cubic-bezier(0.4,0,0.2,1)' } } >
600+ < div className = "flex flex-col flex-shrink-0 overflow-hidden" style = { { width : sidebarVisible ? sidebarWidth : 0 , backgroundColor : 'var(--theme-sidebar)' , borderRight : sidebarVisible ? '1px solid var(--theme-sidebar-border)' : 'none' , transition : 'width 200ms cubic-bezier(0.4,0,0.2,1)' , boxShadow : sidebarVisible ? '2px 0 8px rgba(0,0,0,0.28)' : 'none' } } >
576601 < div className = "h-[30px] flex items-center px-4 text-[11px] font-semibold uppercase tracking-wider flex-shrink-0" style = { { color : 'var(--theme-foreground-subtle)' , borderBottom : '1px solid var(--theme-sidebar-border)' } } >
577602 { sidebarView === 'explorer' && 'Explorer' }
578603 { sidebarView === 'search' && 'Search' }
@@ -705,7 +730,7 @@ export const Layout: React.FC = () => {
705730 { chatVisible && (
706731 < >
707732 < div className = "w-[4px] cursor-col-resize bg-transparent hover:bg-[#007acc] active:bg-[#007acc] transition-colors flex-shrink-0" onMouseDown = { ( ) => startResize ( 'chat' ) } />
708- < div className = "flex-shrink-0 border-l border-[#252526] overflow-hidden" style = { { width : chatWidth } } >
733+ < div className = "flex-shrink-0 border-l border-[#252526] overflow-hidden" style = { { width : chatWidth , boxShadow : '-2px 0 8px rgba(0,0,0,0.28)' } } >
709734 < ChatPanel
710735 rootPath = { rootPath }
711736 currentFile = { currentFile }
0 commit comments