diff --git a/src/components/chat/ChatDrawer.jsx b/src/components/chat/ChatDrawer.jsx index b37d799..a3d8fcc 100644 --- a/src/components/chat/ChatDrawer.jsx +++ b/src/components/chat/ChatDrawer.jsx @@ -508,7 +508,7 @@ export default class ChatDrawer extends PureComponent { placeholder={ pendingAsk ? 'Bitte Frage oben beantworten…' - : 'Nachricht eingeben…' + : undefined } /> @@ -544,10 +544,6 @@ export default class ChatDrawer extends PureComponent { )} - - - Enter zum Senden • Shift+Enter für Zeilenumbruch - ); } diff --git a/src/components/chat/ChatFlowList.jsx b/src/components/chat/ChatFlowList.jsx index f3fda41..f71d82c 100644 --- a/src/components/chat/ChatFlowList.jsx +++ b/src/components/chat/ChatFlowList.jsx @@ -6,6 +6,10 @@ import ClickAwayListener from '@mui/material/ClickAwayListener'; import HandshakeRoundedIcon from '@mui/icons-material/HandshakeRounded'; import PsychologyRoundedIcon from '@mui/icons-material/PsychologyRounded'; import BuildRoundedIcon from '@mui/icons-material/BuildRounded'; +import SearchRoundedIcon from '@mui/icons-material/SearchRounded'; +import ComputerRoundedIcon from '@mui/icons-material/ComputerRounded'; +import ImageSearchRoundedIcon from '@mui/icons-material/ImageSearchRounded'; +import CompareRoundedIcon from '@mui/icons-material/CompareRounded'; import HealingMarkdown from './HealingMarkdown'; import { CHROMA, @@ -14,6 +18,13 @@ import { SURFACE_RAISED, } from '../../colors'; +const TOOL_ICON_MAP = { + find_files: SearchRoundedIcon, + javascript_execute: ComputerRoundedIcon, + search_images: ImageSearchRoundedIcon, + analyze_image: CompareRoundedIcon, +}; + function formatMessageTime(isoString) { if (!isoString) return ''; try { @@ -45,9 +56,13 @@ function formatUsageText(usage) { return `${fmt(input)} Prompt${cachedPart} · ${fmt(output)} Antwort${cost}`; } -function formatToolTooltip(content, result, parameters) { +function formatToolTooltip(content, result, parameters, prefix) { const parts = []; + if (prefix) { + parts.push(prefix); + } + if (parameters !== undefined && parameters !== null && parameters !== '') { try { const parsed = typeof parameters === 'string' ? JSON.parse(parameters) : parameters; @@ -202,7 +217,9 @@ function BrainIconView({ reasoning }) { function WorkIconView({ tool }) { const isGreen = tool?.state === 'green'; - const tooltipText = formatToolTooltip(tool?.content, tool?.result, tool?.parameters); + const ToolNameIcon = tool?.name ? TOOL_ICON_MAP[tool.name] : null; + const prefix = ToolNameIcon ? tool?.name : null; + const tooltipText = formatToolTooltip(tool?.content, tool?.result, tool?.parameters, prefix); return ( - - {tool?.name ? ( - - {tool.name} - - ) : null} + {ToolNameIcon ? ( + + ) : ( + <> + + {tool?.name ? ( + + {tool.name} + + ) : null} + + )} );