added open in new tab context menu for chats and notes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
tusharmagar 2026-02-18 10:49:07 +05:30
parent 8cfc7fe9da
commit 8dd940a659

View file

@ -8,6 +8,7 @@ import {
ChevronsDownUp, ChevronsDownUp,
ChevronsUpDown, ChevronsUpDown,
Copy, Copy,
ExternalLink,
FilePlus, FilePlus,
FolderPlus, FolderPlus,
AlertTriangle, AlertTriangle,
@ -983,6 +984,15 @@ function Tree({
<ContextMenuSeparator /> <ContextMenuSeparator />
</> </>
)} )}
{!isDir && actions.onOpenInNewTab && (
<>
<ContextMenuItem onClick={() => actions.onOpenInNewTab!(item.path)}>
<ExternalLink className="mr-2 size-4" />
Open in new tab
</ContextMenuItem>
<ContextMenuSeparator />
</>
)}
<ContextMenuItem onClick={handleCopyPath}> <ContextMenuItem onClick={handleCopyPath}>
<Copy className="mr-2 size-4" /> <Copy className="mr-2 size-4" />
Copy Path Copy Path
@ -1172,9 +1182,9 @@ function TasksSection({
</div> </div>
<SidebarMenu> <SidebarMenu>
{runs.map((run) => ( {runs.map((run) => (
<SidebarMenuItem key={run.id} className="group/chat-item"> <ContextMenu key={run.id}>
<ContextMenu> <ContextMenuTrigger asChild>
<ContextMenuTrigger asChild> <SidebarMenuItem className="group/chat-item">
<SidebarMenuButton <SidebarMenuButton
isActive={currentRunId === run.id} isActive={currentRunId === run.id}
onClick={(e) => { onClick={(e) => {
@ -1197,19 +1207,29 @@ function TasksSection({
) : null} ) : null}
</div> </div>
</SidebarMenuButton> </SidebarMenuButton>
</ContextMenuTrigger> </SidebarMenuItem>
<ContextMenuContent className="w-48"> </ContextMenuTrigger>
<ContextMenuItem <ContextMenuContent className="w-48">
variant="destructive" {actions?.onOpenInNewTab && (
disabled={processingRunIds?.has(run.id)} <ContextMenuItem onClick={() => actions.onOpenInNewTab!(run.id)}>
onClick={() => setPendingDeleteRunId(run.id)} <ExternalLink className="mr-2 size-4" />
> Open in new tab
<Trash2 className="mr-2 size-4" />
Delete
</ContextMenuItem> </ContextMenuItem>
</ContextMenuContent> )}
</ContextMenu> {!processingRunIds?.has(run.id) && (
</SidebarMenuItem> <>
{actions?.onOpenInNewTab && <ContextMenuSeparator />}
<ContextMenuItem
variant="destructive"
onClick={() => setPendingDeleteRunId(run.id)}
>
<Trash2 className="mr-2 size-4" />
Delete
</ContextMenuItem>
</>
)}
</ContextMenuContent>
</ContextMenu>
))} ))}
</SidebarMenu> </SidebarMenu>
</> </>