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
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>
59 lines
1.6 KiB
JavaScript
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}
|
|
/>
|
|
</>
|
|
)
|
|
}
|