Update VPN client and gateway behavior
Build and Deploy Gateway / build-and-push (push) Successful in 19s
Build and Deploy Gateway / deploy (push) Successful in 6s

This commit is contained in:
2026-08-11 08:50:44 +03:00
parent 396c5d1917
commit 79ffff194f
35 changed files with 1036 additions and 590 deletions
@@ -1,4 +1,5 @@
import { useEffect, useRef, useState } from 'react';
import { RailAction } from '../../ui/RailAction.js';
export function useDiagnosticsFeature() {
const [isOpen, setIsOpen] = useState(false);
@@ -47,19 +48,18 @@ export function DiagnosticsToggle({
feature: DiagnosticsFeature;
onToggle: () => void;
}) {
return <button
ref={feature.toggleRef}
className={`client-instructions-toggle client-diagnostics-toggle${feature.isOpen ? ' is-open' : ''}`}
type="button"
aria-expanded={feature.isOpen}
aria-controls="client-diagnostics"
aria-label={feature.isOpen ? 'Закрыть диагностику' : 'Проверить маршруты'}
return <RailAction
buttonRef={feature.toggleRef}
className="client-instructions-toggle client-diagnostics-toggle"
open={feature.isOpen}
controls="client-diagnostics"
ariaLabel={feature.isOpen ? 'Закрыть диагностику' : 'Проверить маршруты'}
label="Диагностика"
onClick={onToggle}
>
<svg viewBox="0 0 24 24" aria-hidden="true">
<path className="client-rail-diagnostics-base" d="M3 12h4l2.2-5 4.2 10 2.1-5H21" />
<path className="client-rail-diagnostics-pulse" pathLength="1" d="M3 12h4l2.2-5 4.2 10 2.1-5H21" />
</svg>
<span>Диагностика</span>
</button>;
</RailAction>;
}