Complete operational map result workflow
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 12:35:50 +02:00
parent 8266929b2e
commit a29c787238
33 changed files with 1121 additions and 107 deletions
+7 -4
View File
@@ -1,4 +1,4 @@
import { useEffect, useMemo, useState } from 'react'
import { useEffect, useMemo, useRef, useState } from 'react'
import './styles/app.css'
import './styles/premium.css'
import { ChangeDetectionPanel } from './components/analysis/ChangeDetectionPanel'
@@ -68,8 +68,9 @@ function App(): JSX.Element {
const [inspectorOpen, setInspectorOpen] = useState(false)
const [mapContentMode, setMapContentMode] = useState<'dataset' | 'analysis'>('dataset')
const [mapContextSourceLabel, setMapContextSourceLabel] = useState<string | null>(null)
const workbenchMainRef = useRef<HTMLElement | null>(null)
useEffect(() => {
window.scrollTo({ top: 0, left: 0 })
workbenchMainRef.current?.scrollTo({ top: 0, left: 0 })
setInspectorOpen(false)
}, [activeWorkspace])
const {
@@ -411,6 +412,7 @@ function App(): JSX.Element {
exportSelectedDetectionRunGeoJson,
exportSelectedSegmentationRunGeoJson,
exportMapSelectionGeoJson,
persistMapResult,
exportProjectMetadata,
exportProjectReport,
previewExportContent,
@@ -805,7 +807,7 @@ function App(): JSX.Element {
</nav>
</aside>
<main className="workbench-main" id="workspace-main" tabIndex={-1}>
<main ref={workbenchMainRef} className="workbench-main" id="workspace-main" tabIndex={-1}>
{activeWorkspace !== 'map' ? <div className="workspace-heading">
<div className="workspace-heading-copy">
<p className="eyebrow">{selectedProject?.region ?? 'Mol, Kempen'}</p>
@@ -821,7 +823,7 @@ function App(): JSX.Element {
aria-expanded={inspectorOpen}
aria-controls="workbench-inspector"
>
{inspectorOpen ? 'Details sluiten' : 'Details openen'}
{inspectorOpen ? 'Context sluiten' : 'Context bekijken'}
</button>
) : null}
</div>
@@ -1072,6 +1074,7 @@ function App(): JSX.Element {
onRunMapSelectionExtract={runMapSelectionExtract}
onClearMapSelectionExtract={resetMapSelectionExtract}
onExportMapSelection={exportMapSelectionGeoJson}
onPersistMapResult={persistMapResult}
onDeriveMapSelectionDataset={deriveMapSelectionDataset}
onSelectMapQaReferenceDataset={setSelectedMapQaReferenceDatasetId}
onRunMapSelectionQa={runMapSelectionQa}