Kairo-Jinkendo/frontend/src/components/InitiativeNavCards.jsx
Lars 687aad6cbd
All checks were successful
Deploy Development / deploy (push) Successful in 46s
Test Suite / pytest-backend (push) Successful in 1m26s
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 17s
Test Suite / playwright-smoke (push) Successful in 12s
AP1.2c: IA-Skeleton — Workspace-Portfolio, Initiative-Übersicht, Unterseiten
Neue Navigation: Steuerung/Plan/Ausführung/Eingang/Journey. InitiativeOperationsContext, Action-Detail-Route, NextActionWidget portfolio/initiative, Portfolio-Widget auf Workspace. Omnibus InitiativeDetail entfernt. Version 0.12.0-ap1.2c.
2026-07-05 18:29:47 +02:00

56 lines
1.6 KiB
JavaScript

import { Link } from 'react-router-dom'
const AREAS = [
{
to: 'plan',
title: 'Plan',
description: 'Meilensteine und Roadmap — überprüfbare Zielpunkte pflegen.',
},
{
to: 'execution',
title: 'Ausführung',
description: 'Arbeitspakete, Zuweisungen, Blocker am Objekt.',
},
{
to: 'inbox',
title: 'Eingang',
description: 'Backlog triagieren und in Arbeitspakete überführen.',
},
{
to: 'journey',
title: 'Nachvollziehbarkeit',
description: 'Entscheidungen, Reviews, Nachweise über die Zeit.',
},
]
export function InitiativeNavCards({ initiativeId, counts = {} }) {
return (
<section className="initiative-nav-cards">
<h2 className="initiative-nav-cards-title">Pflege & Planung</h2>
<div className="initiative-nav-cards-grid">
{AREAS.map((area) => {
const hint =
area.to === 'inbox' && counts.backlog
? `${counts.backlog} Backlog`
: area.to === 'execution' && counts.actionsOpen
? `${counts.actionsOpen} offen`
: area.to === 'plan' && counts.milestones
? `${counts.milestones} Meilensteine`
: null
return (
<Link
key={area.to}
to={`/initiatives/${initiativeId}/${area.to}`}
className="initiative-nav-card card"
>
<h3>{area.title}</h3>
<p className="muted">{area.description}</p>
{hint && <span className="initiative-nav-card-hint">{hint}</span>}
</Link>
)
})}
</div>
</section>
)
}