@@ -809,67 +809,64 @@ function ThreadComposerSectionInner(props: ThreadComposerSectionProps & { thread
809809 ? ( ) => undefined
810810 : undefined
811811 }
812- { ...( ( ) => {
813- const renderExtras = ( level : number ) => (
814- < >
815- { showContextIndicator ? (
816- < ThreadContextIndicator
817- summary = { contextSummary }
818- isOpen = { contextDockOpen }
819- onToggle = { ( ) => setContextDockOpen ( ( open ) => ! open ) }
820- />
821- ) : null }
822- < Button
823- isIconOnly
824- aria-label = "Attach files"
825- className = "lightcode-composer-menu min-w-9 px-2"
826- size = "sm"
827- variant = "ghost"
828- onPress = { ( ) => {
829- void readBridge ( )
830- . pickFiles ( )
831- . then ( ( paths ) => {
832- if ( paths ) attachments . addFiles ( paths ) ;
833- } ) ;
834- } }
835- >
836- < Paperclip className = "size-4" />
837- </ Button >
838- { branchName ? (
839- thread . worktreePath ? (
840- < Tooltip delay = { 0 } >
841- < Tooltip . Trigger tabIndex = { - 1 } role = "none" >
842- < div className = "lightcode-composer-static min-w-0 max-w-48 px-2.5" >
843- < GitFork className = "size-3.5 text-muted" />
844- { level < 3 && < span className = "truncate" > { branchName } </ span > }
845- { level < 3 && thread . prNumber ? (
846- < span className = "shrink-0 text-muted/60" >
847- PR #{ thread . prNumber }
848- </ span >
849- ) : null }
850- </ div >
851- </ Tooltip . Trigger >
852- < Tooltip . Content placement = "top" > { branchName } </ Tooltip . Content >
853- </ Tooltip >
854- ) : (
855- < BranchSelector
856- projectId = { thread . projectId }
857- currentBranch = { branchName }
858- value = { branchName }
859- onSelect = { handleBranchSelect }
860- onSwitchBranch = { handleSwitchBranch }
861- hideWorktreeToggle
862- forceHideLabel = { level >= 3 }
863- iconOnly = { level >= 3 }
864- />
865- )
866- ) : null }
867- </ >
868- ) ;
869- return isCliThread
870- ? { leadingControls : renderExtras }
871- : { afterControls : renderExtras } ;
872- } ) ( ) }
812+ leadingControls = {
813+ < >
814+ { showContextIndicator ? (
815+ < ThreadContextIndicator
816+ summary = { contextSummary }
817+ isOpen = { contextDockOpen }
818+ onToggle = { ( ) => setContextDockOpen ( ( open ) => ! open ) }
819+ />
820+ ) : null }
821+ < Button
822+ isIconOnly
823+ aria-label = "Attach files"
824+ className = "lightcode-composer-menu min-w-9 px-2"
825+ size = "sm"
826+ variant = "ghost"
827+ onPress = { ( ) => {
828+ void readBridge ( )
829+ . pickFiles ( )
830+ . then ( ( paths ) => {
831+ if ( paths ) attachments . addFiles ( paths ) ;
832+ } ) ;
833+ } }
834+ >
835+ < Paperclip className = "size-4" />
836+ </ Button >
837+ </ >
838+ }
839+ afterControls = { ( level : number ) =>
840+ branchName ? (
841+ thread . worktreePath ? (
842+ < Tooltip delay = { 0 } >
843+ < Tooltip . Trigger tabIndex = { - 1 } role = "none" >
844+ < div className = "lightcode-composer-static min-w-0 max-w-48 px-2.5" >
845+ < GitFork className = "size-3.5 text-muted" />
846+ { level < 3 && < span className = "truncate" > { branchName } </ span > }
847+ { level < 3 && thread . prNumber ? (
848+ < span className = "shrink-0 text-muted/60" >
849+ PR #{ thread . prNumber }
850+ </ span >
851+ ) : null }
852+ </ div >
853+ </ Tooltip . Trigger >
854+ < Tooltip . Content placement = "top" > { branchName } </ Tooltip . Content >
855+ </ Tooltip >
856+ ) : (
857+ < BranchSelector
858+ projectId = { thread . projectId }
859+ currentBranch = { branchName }
860+ value = { branchName }
861+ onSelect = { handleBranchSelect }
862+ onSwitchBranch = { handleSwitchBranch }
863+ hideWorktreeToggle
864+ forceHideLabel = { level >= 3 }
865+ iconOnly = { level >= 3 }
866+ />
867+ )
868+ ) : null
869+ }
873870 onPromptChange = { setPrompt }
874871 onSubmit = { ( ) => {
875872 const segments = mentionRef . current ?. serializeSegments ( ) ;
0 commit comments