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
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:
parent
d00ae070ec
commit
09feddae4a
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user