@@ -87,11 +87,11 @@ const DraggableProjectItemBase: React.FC<DraggableProjectItemProps> = ({
8787 < div
8888 ref = { ( node ) => drag ( drop ( node ) ) }
8989 className = { cn (
90- "py-2 px-3 flex items-center border-l-transparent transition-all duration-150 bg-separator " ,
90+ "py-2 px-3 flex items-center border-l-transparent transition-all duration-150 bg-sidebar " ,
9191 isDragging ? "cursor-grabbing opacity-40 [&_*]:!cursor-grabbing" : "cursor-grab" ,
9292 isOver && "bg-accent/[0.08]" ,
9393 selected && "bg-hover border-l-accent" ,
94- "hover:bg-hover hover: [&_button]:opacity-100 hover:[&_[data-drag-handle]]:opacity-100"
94+ "hover:[&_button]:opacity-100 hover:[&_[data-drag-handle]]:opacity-100"
9595 ) }
9696 { ...rest }
9797 >
@@ -465,19 +465,19 @@ const ProjectSidebarInner: React.FC<ProjectSidebarProps> = ({
465465 < DndProvider backend = { HTML5Backend } >
466466 < ProjectDragLayer />
467467 < div
468- className = "font-primary bg-dark border-border-light flex flex-1 flex-col overflow-hidden border-r"
468+ className = "font-primary bg-sidebar border-border-light flex flex-1 flex-col overflow-hidden border-r"
469469 role = "navigation"
470470 aria-label = "Projects"
471471 >
472472 { ! collapsed && (
473473 < >
474474 < div className = "border-dark flex items-center justify-between border-b p-4" >
475- < h2 className = "text-foreground text-md m-0 font-semibold" > Agents </ h2 >
475+ < h2 className = "text-foreground text-lg m-0 font-medium" > Projects </ h2 >
476476 < TooltipWrapper inline >
477477 < button
478478 onClick = { onAddProject }
479479 aria-label = "Add project"
480- className = "text-foreground hover:bg-hover hover:border-border-light flex h-6 w-6 cursor-pointer items-center justify-center rounded border border-transparent bg-transparent p-0 text-lg transition-all duration-200"
480+ className = "text-secondary hover:bg-hover hover:border-border-light flex h-6 w-6 cursor-pointer items-center justify-center rounded border border-transparent bg-transparent p-0 text-2xl transition-all duration-200"
481481 >
482482 +
483483 </ button >
@@ -513,42 +513,43 @@ const ProjectSidebarInner: React.FC<ProjectSidebarProps> = ({
513513 projectPath = { projectPath }
514514 onReorder = { handleReorder }
515515 selected = { false }
516- onClick = { ( ) => toggleProject ( projectPath ) }
516+ onClick = { ( ) => handleAddWorkspace ( projectPath ) }
517517 onKeyDown = { ( e : React . KeyboardEvent ) => {
518518 if ( e . key === "Enter" || e . key === " " ) {
519519 e . preventDefault ( ) ;
520- toggleProject ( projectPath ) ;
520+ handleAddWorkspace ( projectPath ) ;
521521 }
522522 } }
523523 role = "button"
524524 tabIndex = { 0 }
525525 aria-expanded = { isExpanded }
526526 aria-controls = { workspaceListId }
527- aria-label = { `${ isExpanded ? "Collapse" : "Expand" } project ${ projectName } ` }
527+ aria-label = { `Create workspace in ${ projectName } ` }
528528 data-project-path = { projectPath }
529529 >
530- < span
530+ < button
531+ onClick = { ( event ) => {
532+ event . stopPropagation ( ) ;
533+ toggleProject ( projectPath ) ;
534+ } }
535+ aria-label = { `${ isExpanded ? "Collapse" : "Expand" } project ${ projectName } ` }
531536 data-project-path = { projectPath }
532- aria-hidden = "true"
533- className = "text-muted mr-2 shrink-0 text-xs transition-transform duration-200"
534- style = { { transform : isExpanded ? "rotate(90deg)" : "rotate(0deg)" } }
537+ className = "text-secondary hover:bg-hover hover:border-border-light mr-2 flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded border border-transparent bg-transparent p-0 transition-all duration-200"
535538 >
536- < ChevronRight size = { 12 } />
537- </ span >
539+ < ChevronRight
540+ size = { 12 }
541+ className = "transition-transform duration-200"
542+ style = { { transform : isExpanded ? "rotate(90deg)" : "rotate(0deg)" } }
543+ />
544+ </ button >
538545 < div className = "flex min-w-0 flex-1 items-center pr-2" >
539546 < TooltipWrapper inline >
540- < div className = "text-muted-dark truncate text-sm" >
547+ < div className = "text-muted-dark truncate text-sm gap-2 flex " >
541548 { ( ( ) => {
542549 const abbrevPath = PlatformPaths . abbreviate ( projectPath ) ;
543- const { dirPath, basename } =
544- PlatformPaths . splitAbbreviated ( abbrevPath ) ;
550+ const { basename } = PlatformPaths . splitAbbreviated ( abbrevPath ) ;
545551 return (
546- < >
547- < span > { dirPath } </ span >
548- < span className = "text-foreground font-medium" >
549- { basename }
550- </ span >
551- </ >
552+ < span className = "text-foreground font-medium" > { basename } </ span >
552553 ) ;
553554 } ) ( ) }
554555 </ div >
@@ -582,34 +583,34 @@ const ProjectSidebarInner: React.FC<ProjectSidebarProps> = ({
582583 title = "Remove project"
583584 aria-label = { `Remove project ${ projectName } ` }
584585 data-project-path = { projectPath }
585- className = "text-muted-dark hover:text-danger-light hover:bg-danger-light/10 flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded-[3px] border-none bg-transparent text-base opacity-0 transition-all duration-200"
586+ className = "text-muted-dark hover:text-danger-light hover:bg-danger-light/10 mr-1 flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded-[3px] border-none bg-transparent text-base opacity-0 transition-all duration-200"
586587 >
587588 ×
588589 </ button >
589590 < Tooltip className = "tooltip" align = "right" >
590591 Remove project
591592 </ Tooltip >
592593 </ TooltipWrapper >
594+ < button
595+ onClick = { ( event ) => {
596+ event . stopPropagation ( ) ;
597+ handleAddWorkspace ( projectPath ) ;
598+ } }
599+ aria-label = { `New chat in ${ projectName } ` }
600+ data-project-path = { projectPath }
601+ className = "text-secondary hover:bg-hover hover:border-border-light shrink-0 cursor-pointer rounded border border-transparent bg-transparent px-1.5 py-0.5 text-[11px] transition-all duration-200"
602+ >
603+ + New Chat
604+ </ button >
593605 </ DraggableProjectItem >
594606
595607 { isExpanded && (
596608 < div
597609 id = { workspaceListId }
598610 role = "region"
599611 aria-label = { `Workspaces for ${ projectName } ` }
612+ className = "pt-1"
600613 >
601- < div className = "border-hover border-b px-3 py-2" >
602- < button
603- onClick = { ( ) => handleAddWorkspace ( projectPath ) }
604- data-project-path = { projectPath }
605- aria-label = { `Add workspace to ${ projectName } ` }
606- className = "text-muted border-border-medium hover:bg-hover hover:border-border-darker hover:text-foreground w-full cursor-pointer rounded border border-dashed bg-transparent px-3 py-1.5 text-left text-[13px] transition-all duration-200"
607- >
608- + New Workspace
609- { selectedWorkspace ?. projectPath === projectPath &&
610- ` (${ formatKeybind ( KEYBINDS . NEW_WORKSPACE ) } )` }
611- </ button >
612- </ div >
613614 { ( ( ) => {
614615 const allWorkspaces =
615616 sortedWorkspacesByProject . get ( projectPath ) ?? [ ] ;
0 commit comments