fix: учёт связи курсанта по сокетам и фазе ДДС

This commit is contained in:
kaifarikman 2026-09-27 18:14:51 +03:00
commit 57c3ff5a5c
10 changed files with 420 additions and 42 deletions

View file

@ -390,10 +390,11 @@ export function Instructor() {
? `Просрочено: первичная реакция ${item.dds_overdue_cards}; отработка карточки ${item.dds_work_overdue_cards}`
: "Нормативы не нарушены"}
</td>
<td className={`state-${worstSignalSeverity(item.signals) ?? "ok"}`}>
<td className={worstSignalSeverity(item.signals) ? `state-${worstSignalSeverity(item.signals)}` : item.presence_known ? "state-ok" : undefined}>
{item.signals.length
? item.signals.map((signal) => <span key={signal.kind}>{signal.text}<br /></span>)
: "Сигналов нет"}
: item.presence_known ? "Сигналов нет" : null}
{!item.presence_known && <span>Связь курсанта не проверена</span>}
</td>
<td><button type="button" onClick={() => openActiveSession(item)}>
{sessionId === item.session_id ? "Открыто" : "Наблюдать"}

View file

@ -116,6 +116,7 @@ export interface ActiveSessionInfo {
dds_statuses: Record<string, string>;
dds_snapshot: StationSnapshot | null;
signals: Signal[];
presence_known: boolean;
}
export const useActiveSessions = () =>