diff --git a/services/pcp-tgu-ops-ui/src/features/tgu-editor/EditorPanels.tsx b/services/pcp-tgu-ops-ui/src/features/tgu-editor/EditorPanels.tsx index ead6a14..af22317 100644 --- a/services/pcp-tgu-ops-ui/src/features/tgu-editor/EditorPanels.tsx +++ b/services/pcp-tgu-ops-ui/src/features/tgu-editor/EditorPanels.tsx @@ -250,7 +250,7 @@ export function ShootPanel({
-
1 · цель съёмки
+
1 · опорная точка прицеливания
{target && (
{!target ? ( -
Кликните точку на карте слева, чтобы выбрать цель съёмки.
+
Кликните точку на карте слева, чтобы задать опорную точку прицеливания.
) : (
diff --git a/services/pcp-tgu-ops-ui/src/features/tgu-editor/TguEditorTab.tsx b/services/pcp-tgu-ops-ui/src/features/tgu-editor/TguEditorTab.tsx index 2ecc09a..f486906 100644 --- a/services/pcp-tgu-ops-ui/src/features/tgu-editor/TguEditorTab.tsx +++ b/services/pcp-tgu-ops-ui/src/features/tgu-editor/TguEditorTab.tsx @@ -37,7 +37,6 @@ import type { DraftHistory, EditorGroundStation, EditorMode, - EditorShootWork, EditorTarget, EditorTimelineWindow, EditorVisibilityTrack, @@ -167,13 +166,6 @@ export function TguEditorTab({ selectedSpacecraftId, selectedPlan, appliedRange, () => buildEditorMapScene(selectedSpacecraftId, flightLineData, orbitPasses, stationDtos, requestItems, planModes, effectiveFrom, effectiveTo, surveyRoute), [selectedSpacecraftId, flightLineData, orbitPasses, stationDtos, requestItems, planModes, effectiveFrom, effectiveTo, surveyRoute] ); - const shootTargets = useMemo( - () => - draft.works - .filter((w): w is EditorShootWork => w.kind === "shoot" && w.targetLat !== undefined && w.targetLon !== undefined) - .map((w) => ({ id: w.id, name: w.label, lat: w.targetLat!, lon: w.targetLon! })), - [draft.works] - ); const contextLanes = useMemo( () => Array.from(contextSpacecraftIds).map((spacecraftId) => ({ @@ -692,19 +684,14 @@ export function TguEditorTab({ selectedSpacecraftId, selectedPlan, appliedRange, layers={EDITOR_MAP_LAYERS} redrawToken={0} pickMode={rightMode === "shoot"} - targets={shootTargets} pickTarget={target ?? undefined} - selectedTargetId={selectedWork?.kind === "shoot" ? selectedWorkId : undefined} - onTargetSelect={(id) => { - setSelectedWorkId(id); - setRightMode("inspect"); - setNotice(undefined); - }} onPickPoint={(point) => { + // Опорная точка прицеливания — всегда одна: каждый клик заменяет + // предыдущее перекрестие, цели не накапливаются. targetCounterRef.current += 1; setTarget({ id: `target-${targetCounterRef.current}`, - name: `Цель ${targetCounterRef.current}`, + name: "Опорная точка прицеливания", lat: point.lat, lon: point.lon }); diff --git a/services/pcp-tgu-ops-ui/src/features/tgu-map-2d/Tgu2DMapSidebar.tsx b/services/pcp-tgu-ops-ui/src/features/tgu-map-2d/Tgu2DMapSidebar.tsx index ecf26e4..5554ef2 100644 --- a/services/pcp-tgu-ops-ui/src/features/tgu-map-2d/Tgu2DMapSidebar.tsx +++ b/services/pcp-tgu-ops-ui/src/features/tgu-map-2d/Tgu2DMapSidebar.tsx @@ -106,6 +106,7 @@ export function Tgu2DMapSidebar({