fix: Planen/Struktur — fehlender projectPath-Import verursachte weißen Bildschirm.
All checks were successful
Deploy Development / deploy (push) Successful in 46s
Test Suite / pytest-backend (push) Successful in 1m51s
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 20s

Nach Vorhaben-Wahl in Planen crashte ProjectsSection; Ladezustand und Projekt-Löschen ergänzt.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Lars 2026-07-09 07:53:28 +02:00
parent d00ae070ec
commit 09feddae4a
3 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,3 @@
APP_VERSION = "0.16.2-ap1.9a" APP_VERSION = "0.16.3-ap1.9a"
DB_SCHEMA_VERSION = "014" DB_SCHEMA_VERSION = "014"
APP_NAME = "jinkendo-kairo" APP_NAME = "jinkendo-kairo"

View File

@ -7,6 +7,7 @@ import {
containerKindLabel, containerKindLabel,
} from '../utils/projectTree.js' } from '../utils/projectTree.js'
import { gateTitleById } from './GateSelect.jsx' import { gateTitleById } from './GateSelect.jsx'
import { projectPath } from '../utils/routes.js'
function ProjectTreeNodes({ function ProjectTreeNodes({
projects, projects,

View File

@ -1,9 +1,11 @@
import { RequireInitiativeScope } from '../../components/RequireInitiativeScope.jsx' import { RequireInitiativeScope } from '../../components/RequireInitiativeScope.jsx'
import { ScopedInitiativeProvider } from '../../layout/ScopedInitiativeProvider.jsx' import { ScopedInitiativeProvider } from '../../layout/ScopedInitiativeProvider.jsx'
import { ProjectsSection } from '../../components/ProjectsSection.jsx' import { ProjectsSection } from '../../components/ProjectsSection.jsx'
import { LoadingState } from '../../components/LoadingState.jsx'
import { useInitiativeOperations } from '../../context/InitiativeOperationsContext.jsx' import { useInitiativeOperations } from '../../context/InitiativeOperationsContext.jsx'
function PlanStructureInner() { function PlanStructureInner() {
const ops = useInitiativeOperations()
const { const {
initiativeId, initiativeId,
projects, projects,
@ -11,8 +13,13 @@ function PlanStructureInner() {
selectedProjectId, selectedProjectId,
setSelectedProjectId, setSelectedProjectId,
capabilities, capabilities,
loading,
error, error,
} = useInitiativeOperations() } = ops
if (loading) {
return <LoadingState message="Lade Struktur …" />
}
return ( return (
<> <>
@ -24,6 +31,8 @@ function PlanStructureInner() {
selectedProjectId={selectedProjectId} selectedProjectId={selectedProjectId}
onSelectProject={setSelectedProjectId} onSelectProject={setSelectedProjectId}
canManage={capabilities.has('kairo.project.manage')} canManage={capabilities.has('kairo.project.manage')}
onDelete={ops.handleDeleteProject}
busy={ops.formBusy}
/> />
</> </>
) )