diff --git a/frontend/src/components/tools/ToolPicker.tsx b/frontend/src/components/tools/ToolPicker.tsx index 9b0c7968d..301569420 100644 --- a/frontend/src/components/tools/ToolPicker.tsx +++ b/frontend/src/components/tools/ToolPicker.tsx @@ -43,6 +43,13 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa return () => window.removeEventListener("resize", update); }, []); + const SubcategoryHeader: React.FC<{ label: string; mt?: string | number; mb?: string | number }> = ({ label, mt = "1rem", mb = "0.25rem" }) => ( +
+ {label} +
+
+ ); + const groupedTools = useMemo(() => { const grouped: GroupedTools = {}; filteredTools.forEach(([id, tool]) => { @@ -182,9 +189,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa ) : ( searchGroups.map(group => ( - - {group.subcategory} - + {group.tools.map(({ id, tool }) => ( ( {quickSection?.subcategories.length > 1 && ( - - {sc.subcategory} - + )} {sc.tools.map(({ id, tool }) => ( @@ -313,15 +310,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa {allSection?.subcategories.map(sc => ( {allSection?.subcategories.length > 1 && ( - - {sc.subcategory} - + )} {sc.tools.map(({ id, tool }) => ( diff --git a/frontend/src/components/tools/toolPicker/ToolPicker.css b/frontend/src/components/tools/toolPicker/ToolPicker.css index 964e2f4ff..51566278a 100644 --- a/frontend/src/components/tools/toolPicker/ToolPicker.css +++ b/frontend/src/components/tools/toolPicker/ToolPicker.css @@ -35,6 +35,27 @@ padding-left: 1rem; } +/* New row-style subcategory header with rule */ +.tool-subcategory-row { + display: flex; + align-items: center; + gap: 0.75rem; +} + +.tool-subcategory-row-title { + text-transform: uppercase; + font-weight: 600; + font-size: 0.9rem; + color: var(--tool-subcategory-text-color); + white-space: nowrap; +} + +.tool-subcategory-row-rule { + height: 1px; + background-color: var(--tool-subcategory-text-color); + flex: 1 1 auto; +} + /* Compact tool buttons */ .tool-button { font-size: 0.875rem; /* default 1rem - 0.125rem? We'll apply exact -0.25rem via calc below */