Du bist Claude Code. Deine Aufgabe ist Task 4 von 7: Implementiere die Enabler-Blockade-Logik in index-3.html.
VORAUSSETZUNG: Task 1 und 2 müssen implementiert sein.
KONTEXT:
AUFGABEN:
function isTaskBlocked(taskId) { return kanbanData.enablers.some(enabler => { const blocked = Array.isArray(enabler.blockedTaskIds) ? enabler.blockedTaskIds : (enabler.blockedTaskIds || '').toString().split(',').map(id => Number(id.trim())).filter(Boolean); return blocked.includes(Number(taskId)); }); }
function getBlockingEnablers(taskId) { return kanbanData.enablers.filter(enabler => { const blocked = Array.isArray(enabler.blockedTaskIds) ? enabler.blockedTaskIds : (enabler.blockedTaskIds || '').toString().split(',').map(id => Number(id.trim())).filter(Boolean); return blocked.includes(Number(taskId)); }); }
const blocked = isTaskBlocked(task.id);
if (blocked) {
cardElement.classList.add('is-blocked');
const blockers = getBlockingEnablers(task.id);
const blockerNames = blockers.map(e => e.title || Enabler #${e.id}).join(', ');
// Badge hinzufügen (z.B. als innerHTML-Ergänzung):
// <span class="kanban-badge blocker-badge">⚠ Blocked: ${blockerNames}</span>
}
.kanban-card.is-blocked { border-left: 3px solid #ef4444; opacity: 0.85; }
.kanban-badge.blocker-badge { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; border-radius: 4px; padding: 2px 6px; font-size: 11px; display: inline-block; margin-top: 4px; }
Implementiert am 2026-03-27 | Agent: Claude Opus 4.6 | Datei: index.html v2.3.0