diff --git a/apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx b/apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx index f6725a7db..59bf8d8e9 100644 --- a/apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx +++ b/apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx @@ -108,6 +108,9 @@ export const KanbanCard = memo(function KanbanCard({ currentProject: state.currentProject, })) ); + // A card in waiting_approval should not display as "actively running" even if + // it's still in the runningAutoTasks list. The waiting_approval UI takes precedence. + const isActivelyRunning = !!isCurrentAutoTask && feature.status !== 'waiting_approval'; const [isLifted, setIsLifted] = useState(false); useLayoutEffect(() => { @@ -186,10 +189,10 @@ export const KanbanCard = memo(function KanbanCard({ // Disable hover translate for in-progress cards to prevent gap showing gradient isInteractive && !reduceEffects && - !isCurrentAutoTask && + !isActivelyRunning && 'hover:-translate-y-0.5 hover:shadow-md hover:shadow-black/10 bg-transparent', !glassmorphism && 'backdrop-blur-[0px]!', - !isCurrentAutoTask && + !isActivelyRunning && cardBorderEnabled && (cardBorderOpacity === 100 ? 'border-border/50' : 'border'), hasError && 'border-[var(--status-error)] border-2 shadow-[var(--status-error-bg)] shadow-lg', @@ -206,7 +209,7 @@ export const KanbanCard = memo(function KanbanCard({ const renderCardContent = () => ( - {isCurrentAutoTask ? ( + {isActivelyRunning ? (
{renderCardContent()}
) : ( renderCardContent() diff --git a/apps/ui/src/components/views/board-view/components/list-view/list-row.tsx b/apps/ui/src/components/views/board-view/components/list-view/list-row.tsx index 2c5474f96..6d14c269d 100644 --- a/apps/ui/src/components/views/board-view/components/list-view/list-row.tsx +++ b/apps/ui/src/components/views/board-view/components/list-view/list-row.tsx @@ -209,6 +209,10 @@ export const ListRow = memo(function ListRow({ blockingDependencies = [], className, }: ListRowProps) { + // A card in waiting_approval should not display as "actively running" even if + // it's still in the runningAutoTasks list. The waiting_approval UI takes precedence. + const isActivelyRunning = isCurrentAutoTask && feature.status !== 'waiting_approval'; + const handleRowClick = useCallback( (e: React.MouseEvent) => { // Don't trigger row click if clicking on checkbox or actions @@ -349,13 +353,13 @@ export const ListRow = memo(function ListRow({ {/* Actions column */}
- +
); // Wrap with animated border for currently running auto task - if (isCurrentAutoTask) { + if (isActivelyRunning) { return
{rowContent}
; }