@@ -28,6 +48,7 @@ export function PipelineGraph({ columns, tasksByPhase }: PipelineGraphProps) {
))}
diff --git a/apps/web/src/components/pipeline/PipelinePhaseGroup.tsx b/apps/web/src/components/pipeline/PipelinePhaseGroup.tsx
index 57be680..5f96481 100644
--- a/apps/web/src/components/pipeline/PipelinePhaseGroup.tsx
+++ b/apps/web/src/components/pipeline/PipelinePhaseGroup.tsx
@@ -12,11 +12,13 @@ interface PipelinePhaseGroupProps {
status: string;
};
tasks: SerializedTask[];
+ isBlocked: boolean;
}
-export function PipelinePhaseGroup({ phase, tasks }: PipelinePhaseGroupProps) {
+export function PipelinePhaseGroup({ phase, tasks, isBlocked }: PipelinePhaseGroupProps) {
const queuePhase = trpc.queuePhase.useMutation();
const sorted = sortByPriorityAndQueueTime(tasks);
+ const canExecute = phase.status === "approved" && !isBlocked;
return (
@@ -26,7 +28,7 @@ export function PipelinePhaseGroup({ phase, tasks }: PipelinePhaseGroupProps) {
{phase.name}
- {phase.status === "pending" && (
+ {canExecute && (