diff --git a/frontend/src/components/editor/actions/useNotebookActions.tsx b/frontend/src/components/editor/actions/useNotebookActions.tsx index da860519efd..0e3942d406f 100644 --- a/frontend/src/components/editor/actions/useNotebookActions.tsx +++ b/frontend/src/components/editor/actions/useNotebookActions.tsx @@ -274,16 +274,19 @@ export function useNotebookActions() { icon: , label: "Helper panel", handle: NOOP_HANDLER, - dropdown: PANELS.flatMap(({ type, Icon, hidden }) => { + dropdown: PANELS.flatMap(({ type, Icon, hidden, extraDescription }) => { if (hidden) { return []; } - return { - label: startCase(type), + const descriptions = extraDescription + ? [...extraDescription, type] + : [type]; + return descriptions.map((description) => ({ + label: startCase(description), rightElement: renderCheckboxElement(selectedPanel === type), icon: , handle: () => toggleApplication(type), - }; + })); }), }, diff --git a/frontend/src/components/editor/chrome/types.ts b/frontend/src/components/editor/chrome/types.ts index 97436b6fd61..008d4772063 100644 --- a/frontend/src/components/editor/chrome/types.ts +++ b/frontend/src/components/editor/chrome/types.ts @@ -41,6 +41,7 @@ export interface PanelDescriptor { hidden?: boolean; tooltip: string; position: "sidebar" | "footer"; + extraDescription?: string[]; } export const PANELS: PanelDescriptor[] = [ @@ -49,66 +50,77 @@ export const PANELS: PanelDescriptor[] = [ Icon: FolderTreeIcon, tooltip: "View files", position: "sidebar", + extraDescription: ["View files"], }, { type: "variables", Icon: FunctionSquareIcon, tooltip: "Explore variables", position: "sidebar", + extraDescription: ["Explore variables"], }, { type: "datasources", Icon: DatabaseIcon, tooltip: "Explore data sources", position: "sidebar", + extraDescription: ["Explore data sources", "data sources"], }, { type: "dependencies", Icon: NetworkIcon, tooltip: "Explore dependencies", position: "sidebar", + extraDescription: ["Explore dependencies"], }, { type: "packages", Icon: BoxIcon, tooltip: "Manage packages", position: "sidebar", + extraDescription: ["Manage packages", "requirements"], }, { type: "outline", Icon: ScrollTextIcon, tooltip: "View outline", position: "sidebar", + extraDescription: ["View outline", "Show chapter headings"], }, { type: "chat", Icon: BotMessageSquareIcon, tooltip: "Chat with AI", position: "sidebar", + extraDescription: ["Chat with AI", "AI chat"], }, { type: "documentation", Icon: TextSearchIcon, tooltip: "View live docs", position: "sidebar", + extraDescription: ["View live docs", "Show contextual help", "Signature"], }, { type: "logs", Icon: FileTextIcon, tooltip: "Notebook logs", position: "sidebar", + extraDescription: ["Notebook logs"], }, { type: "tracing", Icon: ActivityIcon, tooltip: "Tracing", position: "sidebar", + extraDescription: ["Traces"], }, { type: "snippets", Icon: SquareDashedBottomCodeIcon, tooltip: "Snippets", position: "sidebar", + extraDescription: ["Code snippets"], }, { // Not supported in WebAssembly yet @@ -117,17 +129,20 @@ export const PANELS: PanelDescriptor[] = [ tooltip: "Secrets", hidden: isWasm(), position: "sidebar", + extraDescription: ["Environment variables"], }, { type: "scratchpad", Icon: NotebookPenIcon, tooltip: "Scratchpad", position: "sidebar", + extraDescription: ["Notes"], }, { type: "errors", Icon: XCircleIcon, tooltip: "View errors", position: "footer", + extraDescription: ["View errors"], }, ];