Add PCP architecture docs and TGU ops updates

Capture current PCP architecture notes, service-map prototypes, TGU operations UI/map work, local configuration updates, database helper scripts, and request/sample JSON artifacts.
This commit is contained in:
Дмитрий Соловьев
2026-05-30 14:18:19 +03:00
parent 9fca4d4051
commit c3a1a8b4a1
86 changed files with 10426 additions and 74 deletions
@@ -0,0 +1,44 @@
import { TGU_2D_MAP_LAYERS, type Tgu2DMapLayersState } from "./model/mapLayerTypes";
type Tgu2DMapToolbarProps = {
satelliteLabel: string;
intervalLabel: string;
layers: Tgu2DMapLayersState;
onRefresh: () => void;
onToggleLayer: (key: keyof Tgu2DMapLayersState) => void;
};
export function Tgu2DMapToolbar({
satelliteLabel,
intervalLabel,
layers,
onRefresh,
onToggleLayer
}: Tgu2DMapToolbarProps) {
return (
<div className="tgu-map-toolbar">
<div>
<div className="tgu-map-toolbar__title">Карта 2D</div>
<div className="tgu-map-toolbar__subtitle">
{satelliteLabel} · {intervalLabel}
</div>
</div>
<div className="tgu-map-toolbar__toggles">
{TGU_2D_MAP_LAYERS.map((layer) => (
<button
className={layers[layer.key] ? "is-active" : ""}
type="button"
key={layer.key}
onClick={() => onToggleLayer(layer.key)}
>
{layer.label}
</button>
))}
</div>
<button className="tgu-button" type="button" onClick={onRefresh}>
Перерисовать
</button>
</div>
);
}