каркас: домен, генерация типов фронта, стенд и карточки задач
Контракт в коде: КИО по нормативу, 43 события WS по шести союзам направлений,
таймеры ГОСТ, таксономия E1–E6, шесть компетенций радара. make types гоняет
их через JSON Schema в generated.ts, тест ловит забытую регенерацию.
Стенд: docker compose postgres + backend, health отвечает, база досягаема
из контейнера бэкенда. Makefile не врёт — нереализованные цели падают
и называют карточку, которая их закроет.
frontend/.npmrc: под WSL2 npm install зависает на дефолтных 15 сокетах.
2026-09-15 19:35:03 +03:00
|
|
|
|
import { createBrowserRouter, Navigate } from "react-router-dom";
|
|
|
|
|
|
|
2026-09-17 21:13:41 +03:00
|
|
|
|
import { Call } from "@/pages/trainee/Call";
|
каркас: домен, генерация типов фронта, стенд и карточки задач
Контракт в коде: КИО по нормативу, 43 события WS по шести союзам направлений,
таймеры ГОСТ, таксономия E1–E6, шесть компетенций радара. make types гоняет
их через JSON Schema в generated.ts, тест ловит забытую регенерацию.
Стенд: docker compose postgres + backend, health отвечает, база досягаема
из контейнера бэкенда. Makefile не врёт — нереализованные цели падают
и называют карточку, которая их закроет.
frontend/.npmrc: под WSL2 npm install зависает на дефолтных 15 сокетах.
2026-09-15 19:35:03 +03:00
|
|
|
|
import { Stub } from "@/shared/ui/Stub";
|
|
|
|
|
|
|
|
|
|
|
|
// Четыре интерфейса — одна SPA (docs/arch/FRONTEND.md).
|
|
|
|
|
|
// session_id живёт в URL: /instructor?session=..., монитор открывают ссылкой.
|
|
|
|
|
|
export const router = createBrowserRouter([
|
|
|
|
|
|
{ path: "/", element: <Navigate to="/trainee" replace /> },
|
2026-09-17 21:13:41 +03:00
|
|
|
|
{ path: "/trainee", element: <Call /> },
|
каркас: домен, генерация типов фронта, стенд и карточки задач
Контракт в коде: КИО по нормативу, 43 события WS по шести союзам направлений,
таймеры ГОСТ, таксономия E1–E6, шесть компетенций радара. make types гоняет
их через JSON Schema в generated.ts, тест ловит забытую регенерацию.
Стенд: docker compose postgres + backend, health отвечает, база досягаема
из контейнера бэкенда. Makefile не врёт — нереализованные цели падают
и называют карточку, которая их закроет.
frontend/.npmrc: под WSL2 npm install зависает на дефолтных 15 сокетах.
2026-09-15 19:35:03 +03:00
|
|
|
|
{ path: "/instructor", element: <Stub title="Пульт преподавателя" card="lct-17" /> },
|
|
|
|
|
|
{ path: "/wall", element: <Stub title="Внешний монитор" card="lct-16" /> },
|
|
|
|
|
|
{ path: "/dds", element: <Stub title="АРМ диспетчера ДДС" card="lct-20" /> },
|
|
|
|
|
|
]);
|