diff --git a/src/renderer/src/components/AgentStateDot.tsx b/src/renderer/src/components/AgentStateDot.tsx index cd7d20ff534..821efc848aa 100644 --- a/src/renderer/src/components/AgentStateDot.tsx +++ b/src/renderer/src/components/AgentStateDot.tsx @@ -44,7 +44,7 @@ export function agentStateLabel(state: AgentDotState): string { type Props = { state: AgentDotState - size?: 'sm' | 'md' + size?: 'sm' | 'md' | 'lg' className?: string } @@ -53,9 +53,12 @@ export const AgentStateDot = React.memo(function AgentStateDot({ size = 'sm', className }: Props): React.JSX.Element { - const box = size === 'md' ? 'h-3 w-3' : 'h-2.5 w-2.5' - const inner = size === 'md' ? 'size-2' : 'size-1.5' - const icon = size === 'md' ? 'size-3' : 'size-2.5' + // Why ('lg' size): the Activity page renders this in its own 32px column + // alongside text rows, where 'md' (12px) reads small and floats. 'lg' (18px) + // sits center of mass in that cell. + const box = size === 'lg' ? 'h-[18px] w-[18px]' : size === 'md' ? 'h-3 w-3' : 'h-2.5 w-2.5' + const inner = size === 'lg' ? 'size-3' : size === 'md' ? 'size-2' : 'size-1.5' + const icon = size === 'lg' ? 'size-[18px]' : size === 'md' ? 'size-3' : 'size-2.5' if (state === 'working') { return ( diff --git a/src/renderer/src/components/activity/ActivityPrototypePage.tsx b/src/renderer/src/components/activity/ActivityPrototypePage.tsx index cdff7cd3b17..ccb583050d6 100644 --- a/src/renderer/src/components/activity/ActivityPrototypePage.tsx +++ b/src/renderer/src/components/activity/ActivityPrototypePage.tsx @@ -352,22 +352,22 @@ function AgentEventRow({ event.unread && 'bg-accent/20' )} > -
+
- {/* Why: anchor the unread dot to the icon's own bounding box (not the - 24×24 cell) so it tracks the icon's top-left corner regardless of - icon size. The previous absolute -left-1 top-1 inside a size-6 box - landed visibly off-center against the centered AgentStateDot. */} + {/* Why (bell as unread glyph): visually rhymes with the Bell button on + ThreadRow so both surfaces share one unread vocabulary. Sits at + the icon's top-right corner with a fill-background halo so the + bell reads cleanly against the row's tinted unread background. */} {event.unread ? ( - ) : null} - + @@ -454,17 +454,17 @@ function WorktreeEventRow({ event.unread && 'bg-accent/20' )} > -
+
- {/* Why: see AgentEventRow — anchor the unread dot to the icon, not the - cell, so it lines up at the icon's top-left corner. */} + {/* Why: see AgentEventRow — bell at the icon's top-right matches the + unread vocabulary used on ThreadRow. */} {event.unread ? ( - ) : null} - +