Files
dc-observatio/services/pcp-tgu-ui-service/src/features/tgu-map-2d/Tgu2DMapDetails.tsx
T
Дмитрий Соловьев 7202f7cb02 refactor(tgu-ui): единый инспектор объектов карты (MapObjectInspector) на вкладках «Карта» и «Комплексный план»
Обобщил ComplexInfoPanel в общий MapObjectInspector (tgu-map-2d): карточки для
всех типов объектов — заявка, включение комплексного плана, ячейка тепловой карты,
маршрут planWorks, станция, маркер КА, линия; список с раскрытием при наложении.

Вкладка «Карта» переведена на enableObjectChooser + onObjectsAtPoint + правый
инспектор — заменила разрозненные Tgu2DMapRequestsPanel/Tgu2DMapStationPanel (удалены)
и объектную часть нижней плашки (Tgu2DMapDetails ужат до контекста плана). Вкладка
«Комплексный план» использует тот же инспектор.

RequestAtPoint переехал в tgu-requests/RequestDetailsPanel (нужен вкладке «Заявки»).
2026-06-10 15:58:55 +03:00

42 lines
1.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TguPlanUi } from "../../model/timelineTypes";
import { platformLabel } from "../tgu-planning/tguTimelineMapper";
import { statusStyle } from "../tgu-planning/tguStatus";
type Tgu2DMapDetailsProps = {
selectedPlan?: TguPlanUi;
};
/**
* Нижняя плашка контекста вкладки «Карта»: какой план выбран на «Планах» (КА/статус).
* Информация по объектам карты живёт в правом инспекторе (MapObjectInspector), не здесь.
*/
export function Tgu2DMapDetails({ selectedPlan }: Tgu2DMapDetailsProps) {
const status = selectedPlan ? statusStyle(selectedPlan.status) : undefined;
return (
<section className="tgu-map-details">
<div>
<div className="tgu-map-details__label">План</div>
<div className="tgu-map-details__value mono">{selectedPlan?.planId || "-"}</div>
</div>
<div>
<div className="tgu-map-details__label">КА</div>
<div className="tgu-map-details__value">
{selectedPlan ? platformLabel(selectedPlan.platform, selectedPlan.spacecraftId) : "-"}
</div>
</div>
<div>
<div className="tgu-map-details__label">Статус</div>
<div className="tgu-map-details__value">
{status ? (
<span className="tgu-map-status-pill">
<i style={{ backgroundColor: status.color }} />
{status.label}
</span>
) : "-"}
</div>
</div>
</section>
);
}