From e53e11d28b8d1eb56e0c3bd78a540723aeea60ee Mon Sep 17 00:00:00 2001 From: ciregenz Date: Tue, 16 Jun 2026 05:01:34 -0700 Subject: [PATCH] [eric] share: import-modal needs are compact icon chips now (explanation on hover) instead of three sentence rows --- .../src/app/components/share/IncludesList.tsx | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/share/IncludesList.tsx b/frontend/src/app/components/share/IncludesList.tsx index 4494c16c..1a9cdb61 100644 --- a/frontend/src/app/components/share/IncludesList.tsx +++ b/frontend/src/app/components/share/IncludesList.tsx @@ -7,12 +7,24 @@ import React, { useState } from 'react'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; +import Tooltip from '@mui/material/Tooltip'; import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; +import ExtensionOutlinedIcon from '@mui/icons-material/ExtensionOutlined'; +import KeyOutlinedIcon from '@mui/icons-material/KeyOutlined'; +import TuneOutlinedIcon from '@mui/icons-material/TuneOutlined'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; import { BundleSummary } from './shareTypes'; +// One glyph per requirement kind, so a row of needs reads as icons + names +// instead of a stack of explanatory sentences. The sentence moves to a hover. +const REQ_ICON: Record = { + mcp_action: , + api_key: , + builtin_mode: , +}; + const KIND_LABEL: Record = { skill: 'Skill', app: 'App', @@ -127,9 +139,33 @@ const IncludesList: React.FC<{ summary: BundleSummary }> = ({ summary }) => { {summary.requirements.length > 0 && ( - {summary.requirements.map((r, i) => ( - - ))} + + Needs + + + {summary.requirements.map((r, i) => ( + + + {REQ_ICON[r.kind] || } + + {r.label} + + + + ))} + )}