Kairo-Jinkendo/frontend/src/components/PlanningDebtBanner.jsx
Lars 8546c7021b
All checks were successful
Deploy Development / deploy (push) Successful in 46s
Test Suite / pytest-backend (push) Successful in 2m19s
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / k6 /api/health Baseline (push) Successful in 19s
Test Suite / playwright-smoke (push) Successful in 12s
AP1.16c: Durchführungsplan in Plan-Outline und Action-Detail.
Ready/blocked-Badges, Planning Debt, Vorgänger-Verwaltung — getrennt vom Gate-Designer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 11:25:55 +02:00

28 lines
935 B
JavaScript

import { Link } from 'react-router-dom'
export function PlanningDebtBanner({ planningDebt, hrefWithScope }) {
if (!planningDebt?.length || !hrefWithScope) {
return null
}
return (
<div className="planning-debt-banner" role="status">
<p className="planning-debt-banner__title">Planung ausstehend</p>
<ul className="planning-debt-banner__list">
{planningDebt.map((item) => (
<li key={item.roadmap_item_id}>
<strong>{item.title || 'Zielzustand'}</strong>
<span className="muted"> {item.message || 'Durchführungsplan fehlt'}</span>
</li>
))}
</ul>
<p className="muted planning-debt-banner__hint">
Lege Arbeitspakete unter dem aktiven Gate an {' '}
<Link to={hrefWithScope('/plan/gates')}>Zielzustände</Link>
{' · '}
<Link to={hrefWithScope('/plan/work')}>Arbeit</Link>
</p>
</div>
)
}