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}
+
+ ))}
+