From 0c4cef0ff1e32ebd8a5d2e62bae5eb08e75e1309 Mon Sep 17 00:00:00 2001 From: Naiyuan Qing <145280634+NevilleQingNY@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:09:21 +0800 Subject: [PATCH] fix(issues): improve timeline activity entry alignment and overflow - Add items-center for vertical centering between icons and text - Add truncate on activity text to prevent line wrapping - Unify icon/avatar sizes to 16px for visual consistency - Remove connector line (will revisit later) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../issues/components/issue-detail.tsx | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/apps/web/features/issues/components/issue-detail.tsx b/apps/web/features/issues/components/issue-detail.tsx index d475d050..987d4f77 100644 --- a/apps/web/features/issues/components/issue-detail.tsx +++ b/apps/web/features/issues/components/issue-detail.tsx @@ -928,30 +928,26 @@ export function IssueDetail({ issueId, onDelete, defaultSidebarOpen = true, layo const isStatusChange = entry.action === "status_changed"; const isPriorityChange = entry.action === "priority_changed"; const isDueDateChange = entry.action === "due_date_changed"; - const isLast = idx === group.entries.length - 1; let leadIcon: React.ReactNode; if (isStatusChange && details.to) { - leadIcon = ; + leadIcon = ; } else if (isPriorityChange && details.to) { - leadIcon = ; + leadIcon = ; } else if (isDueDateChange) { - leadIcon = ; + leadIcon = ; } else { - leadIcon = ; + leadIcon = ; } return ( -
-
-
{leadIcon}
+
+
+ {leadIcon}
- {!isLast && ( -
- )} -
- {getActorName(entry.actor_type, entry.actor_id)} - {formatActivity(entry, getActorName)} +
+ {getActorName(entry.actor_type, entry.actor_id)} + {formatActivity(entry, getActorName)}