Kairo-Jinkendo/frontend/src/pages/initiative/InitiativeInboxPage.jsx
Lars e65838118c
All checks were successful
Deploy Development / deploy (push) Successful in 44s
Test Suite / pytest-backend (push) Successful in 2m52s
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 18s
Test Suite / playwright-smoke (push) Successful in 13s
AP2.2e: Unplan, Bug/Issue-Referenz und Sprint-Lebenszyklus.
Ermöglicht APs zurück in den Eingang zu schieben, Bugs/Issues mit Feature-Bezug zu planen und den Scrum-Sprint-Ablauf in der UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 08:07:02 +02:00

59 lines
1.6 KiB
JavaScript

import { useInitiativeOperations } from '../../context/InitiativeOperationsContext.jsx'
import { BacklogSection } from '../../components/BacklogSection.jsx'
import { LoadingState } from '../../components/LoadingState.jsx'
export function InitiativeInboxPage() {
const {
initiative,
initiativeId,
backlogItems,
roadmapItems,
featureParentActions,
workCycles,
activeWorkCycle,
capabilities,
formBusy,
error,
loading,
handleCreateBacklog,
handleUpdateBacklog,
handleReorderBacklog,
handleConvertBacklog,
handleBulkConvertBacklog,
handleDeleteBacklog,
} = useInitiativeOperations()
if (!capabilities.has('kairo.initiative.read')) {
return null
}
if (loading && initiative === null) {
return <LoadingState message="Lade Eingang …" />
}
const isProductArchetype = initiative?.archetype_key === 'initiative.product'
return (
<>
{error && <p className="error">{error}</p>}
<BacklogSection
items={backlogItems}
initiativeId={initiativeId}
roadmapItems={roadmapItems}
featureActions={featureParentActions}
workCycles={workCycles}
activeWorkCycle={activeWorkCycle}
sprintPlanningEnabled={isProductArchetype}
canManage={capabilities.has('kairo.backlog.manage')}
onCreate={handleCreateBacklog}
onUpdate={handleUpdateBacklog}
onReorder={handleReorderBacklog}
onConvert={handleConvertBacklog}
onBulkConvert={handleBulkConvertBacklog}
onDelete={handleDeleteBacklog}
busy={formBusy}
/>
</>
)
}