fix(team): show MemberBadge with avatar in ToolApprovalSheet header
Replace plain text teammate name with MemberBadge component showing avatar + colored name badge, consistent with how members are displayed in the Messages panel.
This commit is contained in:
parent
ed69ed2f1f
commit
ff8b844abe
1 changed files with 12 additions and 1 deletions
|
|
@ -7,6 +7,8 @@ import { shortenDisplayPath } from '@renderer/utils/pathDisplay';
|
||||||
import { highlightLines } from '@renderer/utils/syntaxHighlighter';
|
import { highlightLines } from '@renderer/utils/syntaxHighlighter';
|
||||||
import { AlertTriangle, FileText, Search, Terminal } from 'lucide-react';
|
import { AlertTriangle, FileText, Search, Terminal } from 'lucide-react';
|
||||||
|
|
||||||
|
import { MemberBadge } from './MemberBadge';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ToolApprovalSettingsContent,
|
ToolApprovalSettingsContent,
|
||||||
ToolApprovalSettingsToggle,
|
ToolApprovalSettingsToggle,
|
||||||
|
|
@ -189,6 +191,13 @@ export const ToolApprovalSheet: React.FC = () => {
|
||||||
const teamColor = getTeamColorSet(colorName);
|
const teamColor = getTeamColorSet(colorName);
|
||||||
const displayName = current.teamDisplayName ?? teamSummary?.displayName ?? current.teamName;
|
const displayName = current.teamDisplayName ?? teamSummary?.displayName ?? current.teamName;
|
||||||
|
|
||||||
|
// Resolve teammate color for MemberBadge (when source !== 'lead')
|
||||||
|
const sourceColor = useMemo(() => {
|
||||||
|
if (current.source === 'lead') return undefined;
|
||||||
|
const member = selectedTeamData?.members?.find((m) => m.name === current.source);
|
||||||
|
return member?.color;
|
||||||
|
}, [current.source, selectedTeamData?.members]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/* Backdrop overlay */}
|
{/* Backdrop overlay */}
|
||||||
|
|
@ -208,9 +217,11 @@ export const ToolApprovalSheet: React.FC = () => {
|
||||||
style={{ borderColor: 'var(--color-border)' }}
|
style={{ borderColor: 'var(--color-border)' }}
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
|
{current.source !== 'lead' && (
|
||||||
|
<MemberBadge name={current.source} color={sourceColor} size="xs" disableHoverCard />
|
||||||
|
)}
|
||||||
{getToolIcon(current.toolName)}
|
{getToolIcon(current.toolName)}
|
||||||
<span className="text-sm font-semibold" style={{ color: 'var(--color-text)' }}>
|
<span className="text-sm font-semibold" style={{ color: 'var(--color-text)' }}>
|
||||||
{current.source !== 'lead' ? `${current.source} — ` : ''}
|
|
||||||
{current.toolName}
|
{current.toolName}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue