From 0e2f9ce0b654d836443d96dffb19abe1cb5585ef Mon Sep 17 00:00:00 2001 From: Michael Han <107991372+shimmyshimmer@users.noreply.github.com> Date: Wed, 24 Jun 2026 05:08:15 -0700 Subject: [PATCH] Studio: group the project export menu by Combined and Per chat (#6637) * Studio: group the project export menu by Combined and Per chat Replace the repeated (combined)/(per chat) suffix on every export row with a section subheading, so the rows read Raw JSONL / CSV / ShareGPT JSONL under Combined and Per chat headings. * Studio: group export sections with DropdownMenuGroup Wrap each Combined and Per chat section in DropdownMenuGroup for screen-reader semantics, and drop the redundant px-3 already set by DropdownMenuLabel. --- .../src/features/chat/projects-page.tsx | 62 +++++++++++++------ 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/studio/frontend/src/features/chat/projects-page.tsx b/studio/frontend/src/features/chat/projects-page.tsx index 1651b4962..b9a5658a9 100644 --- a/studio/frontend/src/features/chat/projects-page.tsx +++ b/studio/frontend/src/features/chat/projects-page.tsx @@ -12,7 +12,9 @@ import { import { DropdownMenu, DropdownMenuContent, + DropdownMenuGroup, DropdownMenuItem, + DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, @@ -300,33 +302,53 @@ export function ProjectsPage() { Export All Projects - {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( - void handleBulkProjectExport("projects", fmt, true)}> - {label} (combined) - - ))} + + + Combined + + {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( + void handleBulkProjectExport("projects", fmt, true)}> + {label} + + ))} + - {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( - void handleBulkProjectExport("projects", fmt, false)}> - {label} (per chat) - - ))} + + + Per chat + + {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( + void handleBulkProjectExport("projects", fmt, false)}> + {label} + + ))} + Export Projects + Recents - {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( - void handleBulkProjectExport("all", fmt, true)}> - {label} (combined) - - ))} + + + Combined + + {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( + void handleBulkProjectExport("all", fmt, true)}> + {label} + + ))} + - {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( - void handleBulkProjectExport("all", fmt, false)}> - {label} (per chat) - - ))} + + + Per chat + + {EXPORT_FORMATS_LIST.map(({ fmt, label }) => ( + void handleBulkProjectExport("all", fmt, false)}> + {label} + + ))} +