From 149bb999dc3cce31960320c342f37df89f278e4a Mon Sep 17 00:00:00 2001 From: Dokril Date: Wed, 8 Jul 2026 09:39:24 +0300 Subject: [PATCH] Refactor VPN proxy routing logic --- .interface-design/system.md | 142 +++++ apps/windows-client/src/app/App.tsx | 489 +++++++-------- apps/windows-client/src/app/readiness.ts | 83 +++ apps/windows-client/src/app/viewModel.ts | 15 + apps/windows-client/src/styles/app.css | 558 +++++++++++++++++- apps/windows-client/src/ui/ActionMenu.tsx | 54 ++ apps/windows-client/src/ui/Button.tsx | 49 ++ apps/windows-client/src/ui/Field.tsx | 38 ++ apps/windows-client/src/ui/IconButton.tsx | 42 ++ apps/windows-client/src/ui/LogDock.tsx | 82 +++ .../src/ui/ServiceControlRow.tsx | 93 +++ apps/windows-client/src/ui/StatusPill.tsx | 11 + apps/windows-client/src/ui/Tabs.tsx | 81 +++ apps/windows-client/src/ui/index.ts | 17 + .../01-summary-desktop.png | Bin 0 -> 70087 bytes .../02-proxifyre-desktop.png | Bin 0 -> 60397 bytes .../03-proxy-desktop.png | Bin 0 -> 69097 bytes .../04-proxy-validation-desktop.png | Bin 0 -> 70707 bytes .../05-summary-narrow.png | Bin 0 -> 36395 bytes .../06-proxifyre-narrow.png | Bin 0 -> 40836 bytes .../windows-client-ux-2026-07-08/AUDIT.md | 188 ++++++ .../EVIDENCE.md | 82 +++ .../GOAL.md | 11 + .../PLAN.md | 503 ++++++++++++++++ .../evidence/01-summary-desktop.png | Bin 0 -> 73745 bytes .../evidence/02-proxifyre-desktop.png | Bin 0 -> 68029 bytes .../evidence/03-proxy-desktop.png | Bin 0 -> 76782 bytes .../evidence/04-proxifyre-narrow.png | Bin 0 -> 38638 bytes 28 files changed, 2260 insertions(+), 278 deletions(-) create mode 100644 .interface-design/system.md create mode 100644 apps/windows-client/src/app/readiness.ts create mode 100644 apps/windows-client/src/app/viewModel.ts create mode 100644 apps/windows-client/src/ui/ActionMenu.tsx create mode 100644 apps/windows-client/src/ui/Button.tsx create mode 100644 apps/windows-client/src/ui/Field.tsx create mode 100644 apps/windows-client/src/ui/IconButton.tsx create mode 100644 apps/windows-client/src/ui/LogDock.tsx create mode 100644 apps/windows-client/src/ui/ServiceControlRow.tsx create mode 100644 apps/windows-client/src/ui/StatusPill.tsx create mode 100644 apps/windows-client/src/ui/Tabs.tsx create mode 100644 apps/windows-client/src/ui/index.ts create mode 100644 docs/audits/windows-client-ux-2026-07-08/01-summary-desktop.png create mode 100644 docs/audits/windows-client-ux-2026-07-08/02-proxifyre-desktop.png create mode 100644 docs/audits/windows-client-ux-2026-07-08/03-proxy-desktop.png create mode 100644 docs/audits/windows-client-ux-2026-07-08/04-proxy-validation-desktop.png create mode 100644 docs/audits/windows-client-ux-2026-07-08/05-summary-narrow.png create mode 100644 docs/audits/windows-client-ux-2026-07-08/06-proxifyre-narrow.png create mode 100644 docs/audits/windows-client-ux-2026-07-08/AUDIT.md create mode 100644 docs/goals/windows-client-service-control-ui-system/EVIDENCE.md create mode 100644 docs/goals/windows-client-service-control-ui-system/GOAL.md create mode 100644 docs/goals/windows-client-service-control-ui-system/PLAN.md create mode 100644 docs/goals/windows-client-service-control-ui-system/evidence/01-summary-desktop.png create mode 100644 docs/goals/windows-client-service-control-ui-system/evidence/02-proxifyre-desktop.png create mode 100644 docs/goals/windows-client-service-control-ui-system/evidence/03-proxy-desktop.png create mode 100644 docs/goals/windows-client-service-control-ui-system/evidence/04-proxifyre-narrow.png diff --git a/.interface-design/system.md b/.interface-design/system.md new file mode 100644 index 0000000..f1ebcbe --- /dev/null +++ b/.interface-design/system.md @@ -0,0 +1,142 @@ +# Windows Client Interface System + +Дата: 2026-07-08 + +## Направление + +Это максимально простая Windows-утилита управления службами и их состояниями. Она не должна ощущаться как VPN-dashboard, SaaS-панель или маркетинговый клиент. Главные глаголы интерфейса: + +- проверить состояние; +- установить компонент; +- удалить компонент; +- запустить службу; +- остановить службу; +- обновить/перепроверить состояние; +- добавить приложение/путь; +- применить конфигурацию только когда prerequisites готовы. + +Интерфейс должен быть плотным, спокойным, системным и предсказуемым. Пользователь открывает его не для анализа статистики, а чтобы быстро понять "что сейчас установлено, что запущено, что сломано и какую одну кнопку нажать дальше". + +## Домен + +Ключевые понятия: Windows service, installed/running/stopped/missing, install/uninstall, helper/elevation, ProxiFyre, Local sing-box, selected apps, endpoint, generated config, logs, diagnostics, readiness blockers. + +Цветовой мир: темная Windows-оболочка, service console, terminal black, muted slate panels, driver/service green, warning amber, blocked red, focus/navigation blue. + +Сигнатура продукта: `Service Control Row` - компактная строка компонента, где слева состояние службы, в центре человекочитаемый статус и путь/деталь, справа ровно одно главное действие плюс меню дополнительных действий. Эта строка должна быть повторяемым паттерном для ProxiFyre, Local sing-box и будущих компонентов. + +## Визуальная модель + +- Основной layout: fixed header, fixed tabs, scrollable work area, adaptive log/status area. +- Основная композиция: не больше одного главного действия на компонент или экран. +- Summary должен отвечать "готово / не готово / что сделать дальше", а не показывать длинный dashboard. +- Route chain полезен, но он вторичен к service-control модели. Он должен объяснять эффект состояний служб, а не превращать приложение в карту сети. + +## Depth And Surfaces + +Стратегия глубины: borders-only + subtle surface shifts. Без тяжелых shadows. + +- `canvas`: `#101216` - фон приложения. +- `surface`: `#131720` - обычные панели. +- `surface-raised`: `#151923` - service rows и важные панели. +- `surface-control`: `#242a35` - neutral buttons. +- `surface-inset`: `#0d1016` - inputs и read-only inset fields. +- `border`: `#2b3342`. +- `border-strong`: `#343b49`. +- `focus`: `#3b82f6`. + +Радиусы: 4px для buttons, inputs, rows, panels; 999px только для pills/dots. Карточки и панели не должны становиться мягкими/крупно-скругленными. + +Spacing base: 4px. Основные значения: 6, 8, 10, 12, 14, 18. Для плотной утилиты 20+ использовать редко, только между большими группами. + +## Typography + +Шрифт: Inter/system stack как сейчас. + +Плотная шкала: + +- caption: 12px / 500-700 / muted; +- body: 14px / 400-500 / secondary; +- control: 14px / 700 / primary; +- section title: 16px / 700; +- screen title: 18px / 650-750; +- status title: 22px / 700 only for primary readiness state. + +Иерархия должна строиться весом и цветом больше, чем размером. Letter spacing держать `0`. + +## Компонентная база + +### Button + +Все кнопки должны идти через общий компонент и общие variants: + +- `primary`: главное безопасное действие текущего блока. Зеленый использовать только когда действие реально применимо и готово к выполнению. +- `neutral`: refresh, open, cancel, secondary action. +- `add`: добавление процесса, EXE, папки, target. Иконка + tooltip; текстовая кнопка только когда без текста смысл неясен. +- `danger`: stop/uninstall/delete. Не смешивать с neutral. +- `icon`: квадрат 40-44px, только иконка, обязательны `aria-label`, `title` или tooltip. + +Button states обязательны: default, hover, active, focus-visible, disabled, loading. + +Loading state не должен выглядеть как зависание: показывать spinner/progress label, менять текст на действие в процессе ("Проверяю", "Устанавливаю", "Останавливаю"), блокировать повторный запуск. + +### Service Control Row + +Повторяемый компонент для служб: + +- left: status dot/icon (`checking`, `missing`, `installed`, `running`, `stopped`, `error`); +- center: title + short status + optional path/details; +- right: primary action (`Установить`, `Запустить`, `Остановить`, `Обновить`) + overflow menu; +- expanded area: setup checklist, diagnostics, paths, generated config. + +В строке не должно быть двух конкурирующих primary actions. + +### Tabs + +Tabs должны быть единым компонентом: + +- role tablist/tab/tabpanel; +- arrow-key navigation; +- active indicator 3px blue; +- height 46px desktop, не меньше 40px narrow; +- transition 180-240ms только `opacity` + `transform`; +- no layout shift при переключении. + +### Status And Logs + +Status surface должен показывать человеческий текст первым, raw details вторым уровнем. + +- Preview/native command errors: friendly summary in dock, raw error in details. +- `aria-live` объявляет только короткий статус. +- Narrow width: dock collapses into compact toast/details control. + +### Forms And Inputs + +Inputs are inset: + +- background `surface-inset`; +- border `border-strong`; +- focus ring 1px `focus`; +- validation appears directly below or beside the field; +- invalid state disables dependent action and explains exact accepted format. + +### Motion + +Motion должна показывать, что интерфейс живой, но не тормозить повторяющиеся операции. + +- Button press: 100-140ms, `transform: scale(0.98)`. +- Tab switch: 180-240ms, `opacity` + `translateX` 12-24px. +- Popover/menu: 150-180ms, `opacity` + `scale(0.97 -> 1)`. +- Service checking/installing: subtle spinner or border trace, but not decorative glow everywhere. +- Respect `prefers-reduced-motion`. + +Не использовать `transition: all`. + +## Implementation Priorities + +1. Создать shared UI layer: `Button`, `IconButton`, `Tabs`, `ServiceControlRow`, `StatusPill`, `LogDock`, `Field`, `ActionMenu`. +2. Перевести текущие кнопки на variants, чтобы "обновить", "добавить", "установить", "удалить", "применить" выглядели и вели себя стабильно. +3. Ввести readiness blockers для apply actions. +4. Свести все анимации к общим duration/easing tokens. +5. Проверить keyboard flow и responsive snapshots после каждого крупного UI изменения. + diff --git a/apps/windows-client/src/app/App.tsx b/apps/windows-client/src/app/App.tsx index 54039dd..3022f97 100644 --- a/apps/windows-client/src/app/App.tsx +++ b/apps/windows-client/src/app/App.tsx @@ -1,6 +1,6 @@ import { useEffect, useMemo, useRef, useState } from 'react'; import { open } from '@tauri-apps/plugin-dialog'; -import { Cpu, FileCode2, FolderOpen, Gauge, Info, Link2, MoreHorizontal, Trash2, Wand2 } from 'lucide-react'; +import { Cpu, FileCode2, FolderOpen, Gauge, Info, Link2, Trash2, Wand2 } from 'lucide-react'; import { applyProfiles, fetchSingBoxSubscription, @@ -34,6 +34,9 @@ import { type SingBoxSetupStatus, } from '../api/tauriCommands'; import type { ComponentStatus, Profile, ProfileItemInput, ProfileItemType, SubscriptionServer, Target } from '../domain/types'; +import { Button, IconButton, LogDock, ServiceControlRow, Tabs } from '../ui'; +import { getApplyReadiness } from './readiness'; +import { serviceControlState } from './viewModel'; type DraftItemType = Extract; type ProxiFyreAction = 'start' | 'stop' | 'install' | 'uninstall'; @@ -152,12 +155,7 @@ export function App() { () => logEntries.find((entry) => entry.id === activeLogId) ?? null, [activeLogId, logEntries], ); - const finderStateClass = isDetectingComponents ? 'checking' : proxyfier?.installed ? 'found' : 'missing'; - const finderVisualClass = - serviceVisualState === 'active' ? 'working' : serviceVisualState === 'settling' ? 'settling' : ''; const isSingBoxInstalled = Boolean(singbox?.installed); - const singBoxStateClass = isDetectingComponents ? 'checking' : singbox?.installed ? 'found' : 'missing'; - const singBoxVisualClass = singBoxAction ? 'working' : ''; const selectedServerTag = singBoxStatus?.config.selectedServerTag; const currentSnapshot = useMemo( () => configSnapshotFromUi(routeMode, proxyInput, items, selectedServerTag), @@ -882,24 +880,7 @@ export function App() { { id: 'proxy', label: 'VPN / Прокси' }, ]; - return ( -
- {tabs.map((tab) => ( - - ))} -
- ); + return ; } function renderSummaryPanel() { @@ -985,79 +966,59 @@ export function App() {
- - + +
); } function renderProxiFyreCard() { + const state = serviceControlState(proxyfier, isDetectingComponents); + const visualState = serviceVisualState === 'active' ? 'working' : serviceVisualState === 'settling' ? 'settling' : null; + const primaryAction = proxyfier?.installed + ? { + label: proxyfier.running ? 'Остановить' : 'Запустить', + onClick: () => void setProxiFyreServiceRunning(!proxyfier.running), + variant: proxyfier.running ? 'danger' as const : 'neutral' as const, + loading: serviceAction === 'start' || serviceAction === 'stop', + loadingLabel: serviceAction === 'start' ? 'Запускаю' : 'Останавливаю', + disabled: isDetectingComponents || Boolean(serviceAction), + } + : { + label: 'Установить', + onClick: () => void installProxiFyrePackage(), + variant: 'primary' as const, + loading: serviceAction === 'install', + loadingLabel: 'Устанавливаю', + disabled: isDetectingComponents || Boolean(serviceAction), + }; + return ( -
-
+ void uninstallProxiFyrePackage(), + }], + } : undefined} + /> ); } @@ -1109,19 +1070,19 @@ export function App() { spellCheck={false} autoFocus /> - - + ) : (
@@ -1135,38 +1096,31 @@ export function App() {
- - - + loading={pickerAction === 'folder'} + label="Добавить папку" + icon={} + />
)} @@ -1189,9 +1143,9 @@ export function App() { {itemTypeLabel(item.type)} - + )) ) : ( @@ -1207,10 +1161,27 @@ export function App() { options: { showConfigPath?: boolean } = {}, ) { const showConfigPath = options.showConfigPath ?? true; + const externalProxyError = routeMode === 'external' ? safeProxyError(proxyInput) : null; + const readiness = getApplyReadiness({ + routeMode, + appCount: items.length, + proxiFyreInstalled: Boolean(proxyfier?.installed), + singBoxInstalled: isSingBoxInstalled, + selectedServerTag: singBoxStatus?.config.selectedServerTag, + externalProxyValue: proxyInput, + externalProxyError, + busy: isApplying || Boolean(serviceAction) || Boolean(singBoxAction), + }); + const showBlocker = !readiness.ready && !isLoading && !isDetectingComponents; return ( <> - {hasUnappliedChanges ? ( + {showBlocker ? ( +
+ {readiness.title} + {readiness.text} +
+ ) : hasUnappliedChanges ? (
Изменения еще не применены в ProxiFyre {applyStateText(routeMode, isSingBoxInstalled, Boolean(singbox?.running))} @@ -1218,17 +1189,27 @@ export function App() { ) : null}
- - + {applyButtonLabel(context, isApplying, hasUnappliedChanges, singBoxAction)} + +
{showConfigPath && generatedConfigPath ?

{generatedConfigPath}

: null} @@ -1270,35 +1251,68 @@ export function App() { {proxyPing ? pingResultTitle(proxyPing) : proxyValidation ? 'Проверь формат' : 'Проверка не запускалась'} {proxyPing ? pingResultText(proxyPing) : proxyValidation ?? 'TCP check покажет, доступен ли host:port.'}
- + Проверить + ); } function renderSingBoxCard() { + const state = serviceControlState(singbox, isDetectingComponents); + const primaryAction = singbox?.installed + ? { + label: singbox.running ? 'Остановить' : 'Запустить', + onClick: () => void setSingBoxServiceRunning(!singbox.running), + variant: singbox.running ? 'danger' as const : 'neutral' as const, + loading: singBoxAction === 'start' || singBoxAction === 'stop', + loadingLabel: singBoxAction === 'start' ? 'Запускаю' : 'Останавливаю', + disabled: isDetectingComponents || Boolean(singBoxAction), + } + : { + label: 'Установить', + onClick: () => void installSingBoxPackage(), + variant: 'primary' as const, + loading: singBoxAction === 'install', + loadingLabel: 'Устанавливаю', + disabled: isDetectingComponents || Boolean(singBoxAction), + }; + return ( -
-
)} - +
); } @@ -1455,23 +1426,24 @@ export function App() { placeholder={singBoxStatus?.config.subscriptionDisplayUrl ?? 'https://example.com/sub'} spellCheck={false} /> - - + icon={} + /> {singBoxStatus?.cache?.servers.length ? ( @@ -1491,16 +1463,15 @@ export function App() { {displayServerTag(server.tag)} {ping ? {ping.ok ? `${ping.latency ?? 0} ms` : 'fail'} : null} - + icon={} + /> ); })} @@ -1530,22 +1501,22 @@ export function App() {
- - +
{routeMode === 'external' ? renderExternalProxyControls() : renderSingBoxCard()} @@ -1574,14 +1545,16 @@ export function App() {

Proxy для приложений

- + Обновить + {renderTabs()} @@ -1590,45 +1563,13 @@ export function App() {
-
-
- {activeLog ? ( - <> - {activeLog.title} - {activeLog.text} - - ) : ( - Журнал событий - )} -
- - {isLogOpen ? ( -
- {logEntries.length ? ( - logEntries.map((entry) => ( -
- -
- {entry.title} - {entry.text} -
-
- )) - ) : ( -
- -
- Журнал пуст - События появятся после проверок или применения конфигурации. -
-
- )} -
- ) : null} -
+ setIsLogOpen((current) => !current)} + formatTime={formatLogTime} + /> ); } diff --git a/apps/windows-client/src/app/readiness.ts b/apps/windows-client/src/app/readiness.ts new file mode 100644 index 0000000..04b8068 --- /dev/null +++ b/apps/windows-client/src/app/readiness.ts @@ -0,0 +1,83 @@ +export type RouteMode = 'external' | 'local-singbox'; + +export interface ApplyReadinessInput { + routeMode: RouteMode; + appCount: number; + proxiFyreInstalled: boolean; + singBoxInstalled: boolean; + selectedServerTag?: string; + externalProxyValue: string; + externalProxyError?: string | null; + busy: boolean; +} + +export interface ApplyReadiness { + ready: boolean; + title?: string; + text?: string; +} + +export function getApplyReadiness(input: ApplyReadinessInput): ApplyReadiness { + if (input.busy) { + return { + ready: false, + title: 'Операция уже выполняется', + text: 'Дождись завершения текущего действия перед повторным применением.', + }; + } + + if (!input.proxiFyreInstalled) { + return { + ready: false, + title: 'ProxiFyre не установлен', + text: 'Установи ProxiFyre, чтобы маршрутизировать выбранные приложения.', + }; + } + + if (input.appCount < 1) { + return { + ready: false, + title: 'Нет приложений', + text: 'Добавь хотя бы один процесс, EXE-файл или папку.', + }; + } + + if (input.routeMode === 'external') { + if (!input.externalProxyValue.trim()) { + return { + ready: false, + title: 'Прокси не указан', + text: 'Введи адрес SOCKS5 прокси в формате host:port или socks5://host:port.', + }; + } + + if (input.externalProxyError) { + return { + ready: false, + title: 'Проверь формат прокси', + text: input.externalProxyError, + }; + } + } + + if (input.routeMode === 'local-singbox') { + if (!input.singBoxInstalled) { + return { + ready: false, + title: 'Local sing-box не установлен', + text: 'Установи Local sing-box, чтобы применить локальный маршрут.', + }; + } + + if (!input.selectedServerTag) { + return { + ready: false, + title: 'Сервер не выбран', + text: 'Выбери сервер Local sing-box перед применением маршрута.', + }; + } + } + + return { ready: true }; +} + diff --git a/apps/windows-client/src/app/viewModel.ts b/apps/windows-client/src/app/viewModel.ts new file mode 100644 index 0000000..2e337ac --- /dev/null +++ b/apps/windows-client/src/app/viewModel.ts @@ -0,0 +1,15 @@ +import type { ComponentStatus } from '../domain/types'; +import type { ServiceControlState } from '../ui'; + +export function serviceControlState( + component: ComponentStatus | undefined, + checking: boolean, +): ServiceControlState { + if (checking) return 'checking'; + if (!component) return 'missing'; + if (component.state === 'error') return 'error'; + if (component.running) return 'running'; + if (component.installed) return 'stopped'; + return 'missing'; +} + diff --git a/apps/windows-client/src/styles/app.css b/apps/windows-client/src/styles/app.css index bf01762..2c8308e 100644 --- a/apps/windows-client/src/styles/app.css +++ b/apps/windows-client/src/styles/app.css @@ -3,6 +3,19 @@ --app-header-row-height: 50px; --app-tab-height: 46px; --app-header-height: calc(var(--app-header-row-height) + var(--app-tab-height)); + --motion-fast: 120ms; + --motion-standard: 180ms; + --motion-panel: 220ms; + --ease-out: cubic-bezier(0.23, 1, 0.32, 1); + --ease-standard: cubic-bezier(0.22, 0.72, 0.18, 1); + --surface-canvas: #101216; + --surface-panel: #131720; + --surface-raised: #151923; + --surface-control: #242a35; + --surface-inset: #0d1016; + --border-soft: #2b3342; + --border-strong: #343b49; + --focus-ring: #3b82f6; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; @@ -74,6 +87,487 @@ button:disabled { opacity: 0.56; } +.ui-button, +.ui-icon-button { + appearance: none; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 8px; + border: 1px solid var(--border-strong); + border-radius: 4px; + background: var(--surface-control); + color: #eef2ff; + cursor: pointer; + font-weight: 750; + line-height: 1; + text-decoration: none; + transition: + background-color var(--motion-fast) var(--ease-out), + border-color var(--motion-fast) var(--ease-out), + color var(--motion-fast) var(--ease-out), + opacity var(--motion-fast) var(--ease-out), + transform var(--motion-fast) var(--ease-out); +} + +.ui-button:hover, +.ui-icon-button:hover { + background: #2d3543; +} + +.ui-button:active, +.ui-icon-button:active { + transform: scale(0.98); +} + +.ui-button:focus-visible, +.ui-icon-button:focus-visible, +.ui-tab:focus-visible, +.ui-action-menu-popover button:focus-visible { + outline: 0; + box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.72); +} + +.ui-button:disabled, +.ui-icon-button:disabled { + cursor: not-allowed; + opacity: 0.56; + transform: none; +} + +.ui-button--sm { + min-height: 32px; + padding: 6px 10px; + font-size: 13px; +} + +.ui-button--md { + min-height: 36px; + padding: 8px 12px; + font-size: 14px; +} + +.ui-button--lg { + min-height: 46px; + padding: 10px 14px; + font-size: 14px; +} + +.ui-button--primary { + border-color: #16a34a; + background: #22c55e; + color: #04130a; +} + +.ui-button--primary:hover { + background: #4ade80; +} + +.ui-button--add, +.ui-icon-button--add { + border-color: #2b3342; + background: #202633; + color: #dbeafe; +} + +.ui-button--add:hover, +.ui-icon-button--add:hover { + border-color: var(--focus-ring); + background: #182033; +} + +.ui-button--danger, +.ui-icon-button--danger { + color: #fecaca; +} + +.ui-button--danger:hover, +.ui-icon-button--danger:hover { + border-color: rgba(239, 68, 68, 0.52); + background: rgba(127, 29, 29, 0.34); +} + +.ui-icon-button { + width: 42px; + min-width: 42px; + min-height: 38px; + padding: 0; +} + +.ui-button-icon, +.ui-button-label { + display: inline-flex; + align-items: center; + min-width: 0; +} + +.ui-button-spinner { + width: 14px; + height: 14px; + border: 2px solid currentColor; + border-top-color: transparent; + border-radius: 999px; + animation: spin 0.75s linear infinite; +} + +.ui-tabs { + position: fixed; + top: var(--app-header-row-height); + right: 0; + left: 0; + z-index: 40; + display: flex; + align-items: stretch; + gap: 0; + min-height: var(--app-tab-height); + overflow-x: auto; + border-top: 1px solid #242a35; + border-bottom: 1px solid var(--border-soft); + background: #181b22; + scrollbar-width: none; + margin: 0; + padding: 0 18px; +} + +.ui-tabs::-webkit-scrollbar { + display: none; +} + +.ui-tab { + appearance: none; + position: relative; + flex: 1 1 0; + min-width: 0; + min-height: var(--app-tab-height); + border: 0; + border-radius: 0; + background: transparent; + color: #9aa8bd; + cursor: pointer; + font-weight: 750; + margin: 0; + padding: 10px 12px 12px; + transition: + background-color var(--motion-fast) var(--ease-out), + color var(--motion-fast) var(--ease-out); + white-space: nowrap; +} + +.ui-tab:hover { + background: #1c212b; + color: #eef2ff; +} + +.ui-tab.is-active { + color: #eff6ff; +} + +.ui-tab.is-active::after { + position: absolute; + right: 12px; + bottom: 0; + left: 12px; + height: 3px; + border-radius: 999px 999px 0 0; + background: var(--focus-ring); + box-shadow: 0 -6px 18px rgba(59, 130, 246, 0.34); + content: ""; +} + +.ui-status-pill { + display: inline-flex; + align-items: center; + width: fit-content; + border: 1px solid var(--border-soft); + border-radius: 999px; + background: #1a202b; + color: #cbd5e1; + padding: 5px 9px; + font-size: 12px; + font-weight: 750; +} + +.ui-status-pill--ok { + border-color: rgba(34, 197, 94, 0.38); + color: #86efac; +} + +.ui-status-pill--warning { + border-color: rgba(245, 158, 11, 0.46); + color: #fcd34d; +} + +.ui-status-pill--error { + border-color: rgba(239, 68, 68, 0.46); + color: #fecaca; +} + +.ui-status-pill--checking { + border-color: rgba(59, 130, 246, 0.46); + color: #bfdbfe; +} + +.ui-field { + display: grid; + gap: 7px; +} + +.ui-field-label { + color: #8d99ae; +} + +.ui-field-row { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + gap: 8px; + align-items: stretch; +} + +.ui-field input { + min-height: 42px; + width: 100%; + border: 1px solid var(--border-strong); + border-radius: 4px; + background: var(--surface-inset); + color: #f8fafc; + outline: none; + padding: 9px 11px; +} + +.ui-field input:focus { + border-color: var(--focus-ring); + box-shadow: 0 0 0 1px var(--focus-ring); +} + +.ui-field-help { + color: #8d99ae; + font-size: 12px; +} + +.ui-field-help.is-error { + color: #fcd34d; +} + +.ui-action-menu { + position: relative; + display: flex; +} + +.ui-action-menu-popover { + position: absolute; + top: calc(100% + 6px); + right: 0; + z-index: 8; + min-width: 172px; + border: 1px solid var(--border-strong); + border-radius: 4px; + background: #171c26; + box-shadow: 0 12px 30px rgba(0, 0, 0, 0.38); + padding: 5px; + transform-origin: top right; + animation: ui-popover-in var(--motion-standard) var(--ease-out); +} + +.ui-action-menu-popover button { + width: 100%; + min-height: 34px; + border: 0; + border-radius: 3px; + background: transparent; + color: #e5e7eb; + cursor: pointer; + font: inherit; + padding: 7px 9px; + text-align: left; +} + +.ui-action-menu-popover button:hover { + background: #242a35; +} + +.ui-action-menu-popover button.is-danger { + color: #fecaca; +} + +.ui-action-menu-popover button.is-danger:hover { + background: rgba(127, 29, 29, 0.42); +} + +.ui-service-row { + position: relative; + isolation: isolate; + display: grid; + grid-template-columns: auto minmax(220px, 1fr) auto; + align-items: center; + gap: 12px; + justify-content: stretch; + min-height: 56px; + overflow: visible; + border: 1px solid var(--border-soft); + border-radius: 4px; + background: var(--surface-raised); + padding: 12px; +} + +.ui-service-row > :not(.ui-service-border-glow) { + position: relative; + z-index: 1; +} + +.ui-service-border-glow { + position: absolute; + display: none; + z-index: 0; + inset: 0; + overflow: hidden; + border-radius: inherit; + opacity: 0; + contain: layout paint; + pointer-events: none; + transition: opacity var(--motion-panel) var(--ease-out); +} + +.ui-service-row--checking .ui-service-border-glow, +.ui-service-row--working .ui-service-border-glow { + display: block; + opacity: 0.78; +} + +.ui-service-row--settling .ui-service-border-glow { + display: block; + opacity: 0; + transition-duration: 0.7s; +} + +.ui-service-border-glow-segment { + position: absolute; + display: block; + background: #93c5fd; + box-shadow: + 0 0 8px rgba(96, 165, 250, 0.95), + 0 0 16px rgba(34, 197, 94, 0.36); + opacity: 0; +} + +.ui-service-border-glow-segment.top, +.ui-service-border-glow-segment.bottom { + width: 108px; + height: 2px; + background: linear-gradient(90deg, transparent, #60a5fa 24%, #bbf7d0 54%, transparent); +} + +.ui-service-border-glow-segment.right, +.ui-service-border-glow-segment.left { + width: 2px; + height: 64px; + background: linear-gradient(180deg, transparent, #60a5fa 24%, #bbf7d0 54%, transparent); +} + +.ui-service-border-glow-segment.top { + top: 0; + animation: finder-border-top 1.6s linear infinite; +} + +.ui-service-border-glow-segment.right { + right: 0; + animation: finder-border-right 1.6s linear infinite; +} + +.ui-service-border-glow-segment.bottom { + bottom: 0; + animation: finder-border-bottom 1.6s linear infinite; +} + +.ui-service-border-glow-segment.left { + left: 0; + animation: finder-border-left 1.6s linear infinite; +} + +.ui-service-dot { + flex: 0 0 auto; + width: 11px; + height: 11px; + border-radius: 999px; + background: #f59e0b; + box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12); +} + +.ui-service-row--running .ui-service-dot, +.ui-service-row--installed .ui-service-dot { + background: #22c55e; + box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12); +} + +.ui-service-row--stopped .ui-service-dot, +.ui-service-row--missing .ui-service-dot { + background: #f59e0b; +} + +.ui-service-row--error .ui-service-dot { + background: #ef4444; + box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.12); +} + +.ui-service-row--checking .ui-service-dot { + border: 2px solid var(--focus-ring); + border-top-color: transparent; + background: transparent; + box-shadow: none; + animation: spin 0.75s linear infinite; +} + +.ui-service-text { + min-width: 0; +} + +.ui-service-text > strong, +.ui-service-text > span { + display: block; + overflow-wrap: anywhere; +} + +.ui-service-text > span { + color: #8d99ae; +} + +.ui-service-inline-actions { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 6px; + margin-top: 6px; +} + +.ui-service-actions { + display: flex; + align-items: center; + gap: 6px; +} + +.ui-service-row > .setup-details, +.ui-service-row > .singbox-info-popover, +.ui-service-row > .singbox-workspace, +.ui-service-row > .singbox-install-note { + grid-column: 1 / -1; +} + +.log-raw-detail { + color: #7d8aa0; + margin-top: 3px; +} + +@keyframes ui-popover-in { + from { + opacity: 0; + transform: scale(0.97); + } + + to { + opacity: 1; + transform: scale(1); + } +} + .simple-shell { display: block; height: 100vh; @@ -743,7 +1237,7 @@ button.summary-card:hover { color: #bfdbfe; } -.setup-toggle span { +.setup-toggle .ui-button-label > span { display: inline-block; border: 1px solid #343b49; border-radius: 4px; @@ -1132,6 +1626,12 @@ button.summary-card:hover { color: #eff6ff; } +.route-switch .ui-button--primary { + border-color: #2563eb; + background: #1d4ed8; + color: #eff6ff; +} + .subscription-line { display: grid; grid-template-columns: 38px minmax(0, 1fr) 112px 42px; @@ -1598,6 +2098,17 @@ button.summary-card:hover { margin-top: 14px; } +.command-row .ui-button, +.proxy-check-line .ui-button, +.subscription-line .ui-button { + width: 100%; +} + +.apps-config-actions .ui-button { + height: 48px; + min-height: 48px; +} + .apply-button { min-height: 46px; width: 100%; @@ -1721,7 +2232,7 @@ button.summary-card:hover { background: #2d3543; } -.log-toggle span { +.log-toggle .log-count { min-width: 22px; border-radius: 4px; background: #1b202b; @@ -1958,6 +2469,11 @@ button.summary-card:hover { padding: 0 10px; } + .ui-tabs { + gap: 1px; + padding: 0 10px; + } + .panel-tabs button { flex: 1 0 110px; min-height: var(--app-tab-height); @@ -1965,6 +2481,13 @@ button.summary-card:hover { font-size: 13px; } + .ui-tab { + flex: 1 0 110px; + min-height: var(--app-tab-height); + padding: 8px 10px 9px; + font-size: 13px; + } + .panel-section-head { align-items: stretch; flex-direction: column; @@ -2057,10 +2580,34 @@ button.summary-card:hover { grid-template-columns: auto minmax(0, 1fr); } + .ui-service-row { + grid-template-columns: auto minmax(0, 1fr); + } + .service-actions { grid-column: 1 / -1; } + .ui-service-actions { + grid-column: 1 / -1; + display: grid; + grid-template-columns: minmax(0, 1fr) 42px; + width: 100%; + } + + .ui-service-actions > .ui-button { + width: 100%; + } + + .ui-service-actions > .ui-button:only-child { + grid-column: 1 / -1; + } + + .setup-strip-items { + flex-wrap: wrap; + overflow: visible; + } + .setup-details { grid-column: 1 / -1; } @@ -2102,11 +2649,14 @@ button.summary-card:hover { padding: 0 4px; } - .log-current strong, - .log-current span { + .log-current strong { white-space: nowrap; } + .log-current span:not(.log-muted) { + display: none; + } + .log-history { max-height: 220px; padding: 7px 10px; diff --git a/apps/windows-client/src/ui/ActionMenu.tsx b/apps/windows-client/src/ui/ActionMenu.tsx new file mode 100644 index 0000000..eab534a --- /dev/null +++ b/apps/windows-client/src/ui/ActionMenu.tsx @@ -0,0 +1,54 @@ +import { MoreHorizontal } from 'lucide-react'; +import { IconButton } from './IconButton'; + +export interface ActionMenuItem { + label: string; + onClick: () => void; + danger?: boolean; + disabled?: boolean; +} + +export interface ActionMenuProps { + open: boolean; + onOpenChange: (open: boolean) => void; + label: string; + items: ActionMenuItem[]; + disabled?: boolean; +} + +export function ActionMenu({ + open, + onOpenChange, + label, + items, + disabled, +}: ActionMenuProps) { + return ( +
+ } + onClick={() => onOpenChange(!open)} + disabled={disabled} + aria-expanded={open} + /> + {open ? ( +
+ {items.map((item) => ( + + ))} +
+ ) : null} +
+ ); +} + diff --git a/apps/windows-client/src/ui/Button.tsx b/apps/windows-client/src/ui/Button.tsx new file mode 100644 index 0000000..10c7311 --- /dev/null +++ b/apps/windows-client/src/ui/Button.tsx @@ -0,0 +1,49 @@ +import type { ButtonHTMLAttributes, ReactNode } from 'react'; + +export type ButtonVariant = 'primary' | 'neutral' | 'add' | 'danger'; +export type ButtonSize = 'sm' | 'md' | 'lg'; + +export interface ButtonProps extends ButtonHTMLAttributes { + variant?: ButtonVariant; + size?: ButtonSize; + loading?: boolean; + loadingLabel?: string; + leftIcon?: ReactNode; + rightIcon?: ReactNode; +} + +export function Button({ + variant = 'neutral', + size = 'md', + loading = false, + loadingLabel, + leftIcon, + rightIcon, + className, + children, + disabled, + ...props +}: ButtonProps) { + const classes = [ + 'ui-button', + `ui-button--${variant}`, + `ui-button--${size}`, + loading ? 'is-loading' : '', + className ?? '', + ].filter(Boolean).join(' '); + + return ( + + ); +} + diff --git a/apps/windows-client/src/ui/Field.tsx b/apps/windows-client/src/ui/Field.tsx new file mode 100644 index 0000000..e2b669a --- /dev/null +++ b/apps/windows-client/src/ui/Field.tsx @@ -0,0 +1,38 @@ +import type { InputHTMLAttributes, ReactNode } from 'react'; + +export interface FieldProps extends InputHTMLAttributes { + label: string; + error?: string | null; + hint?: string; + action?: ReactNode; +} + +export function Field({ + label, + error, + hint, + action, + className, + id, + ...props +}: FieldProps) { + const inputId = id ?? `field-${label.toLowerCase().replace(/\s+/g, '-')}`; + const helpId = `${inputId}-help`; + + return ( + + ); +} + diff --git a/apps/windows-client/src/ui/IconButton.tsx b/apps/windows-client/src/ui/IconButton.tsx new file mode 100644 index 0000000..bd553b7 --- /dev/null +++ b/apps/windows-client/src/ui/IconButton.tsx @@ -0,0 +1,42 @@ +import type { ButtonHTMLAttributes, ReactNode } from 'react'; + +export type IconButtonVariant = 'neutral' | 'add' | 'danger'; + +export interface IconButtonProps extends ButtonHTMLAttributes { + label: string; + icon: ReactNode; + variant?: IconButtonVariant; + loading?: boolean; +} + +export function IconButton({ + label, + icon, + variant = 'neutral', + loading = false, + className, + disabled, + title, + ...props +}: IconButtonProps) { + const classes = [ + 'ui-icon-button', + `ui-icon-button--${variant}`, + loading ? 'is-loading' : '', + className ?? '', + ].filter(Boolean).join(' '); + + return ( + + ); +} + diff --git a/apps/windows-client/src/ui/LogDock.tsx b/apps/windows-client/src/ui/LogDock.tsx new file mode 100644 index 0000000..176796b --- /dev/null +++ b/apps/windows-client/src/ui/LogDock.tsx @@ -0,0 +1,82 @@ +import { Button } from './Button'; + +export interface LogDockEntry { + id: string; + kind: 'success' | 'error' | 'info'; + title: string; + text: string; + at: number; +} + +export interface LogDockProps { + entries: LogDockEntry[]; + activeEntry: LogDockEntry | null; + open: boolean; + onToggle: () => void; + formatTime: (timestamp: number) => string; +} + +function isNativePreviewError(entry: LogDockEntry | null) { + if (!entry) return false; + return entry.text.includes("reading 'invoke'") || entry.text.includes('undefined (reading'); +} + +function displayEntry(entry: LogDockEntry | null) { + if (!entry) return null; + if (!isNativePreviewError(entry)) return entry; + return { + ...entry, + title: 'Desktop-команды недоступны', + text: 'Запусти клиент через Tauri, чтобы управлять службами и применять конфиг.', + }; +} + +export function LogDock({ + entries, + activeEntry, + open, + onToggle, + formatTime, +}: LogDockProps) { + const current = displayEntry(activeEntry); + + return ( +
+
+ {current ? ( + <> + {current.title} + {current.text} + + ) : ( + Журнал событий + )} +
+ + {open ? ( +
+ {entries.length ? entries.map((entry) => { + const friendly = displayEntry(entry); + return ( +
+ +
+ {friendly?.title ?? entry.title} + {friendly?.text ?? entry.text} + {isNativePreviewError(entry) ? Детали: {entry.text} : null} +
+
+ ); + }) : ( +
+ + Событий пока нет. +
+ )} +
+ ) : null} +
+ ); +} diff --git a/apps/windows-client/src/ui/ServiceControlRow.tsx b/apps/windows-client/src/ui/ServiceControlRow.tsx new file mode 100644 index 0000000..b2c3bc8 --- /dev/null +++ b/apps/windows-client/src/ui/ServiceControlRow.tsx @@ -0,0 +1,93 @@ +import type { ReactNode } from 'react'; +import { Button, type ButtonVariant } from './Button'; +import { ActionMenu, type ActionMenuItem } from './ActionMenu'; + +export type ServiceControlState = 'checking' | 'missing' | 'installed' | 'running' | 'stopped' | 'error'; + +export interface ServicePrimaryAction { + label: string; + onClick: () => void; + variant?: ButtonVariant; + loading?: boolean; + loadingLabel?: string; + disabled?: boolean; +} + +export interface ServiceControlRowProps { + state: ServiceControlState; + title: string; + detail: string; + primaryAction?: ServicePrimaryAction; + menu?: { + label: string; + open: boolean; + onOpenChange: (open: boolean) => void; + items: ActionMenuItem[]; + disabled?: boolean; + }; + visualState?: 'working' | 'settling' | null; + className?: string; + inlineActions?: ReactNode; + children?: ReactNode; +} + +export function ServiceControlRow({ + state, + title, + detail, + primaryAction, + menu, + visualState, + className, + inlineActions, + children, +}: ServiceControlRowProps) { + const classes = [ + 'ui-service-row', + `ui-service-row--${state}`, + visualState ? `ui-service-row--${visualState}` : '', + className ?? '', + ].filter(Boolean).join(' '); + + return ( +
+
+ ); +} + diff --git a/apps/windows-client/src/ui/StatusPill.tsx b/apps/windows-client/src/ui/StatusPill.tsx new file mode 100644 index 0000000..3107f50 --- /dev/null +++ b/apps/windows-client/src/ui/StatusPill.tsx @@ -0,0 +1,11 @@ +export type StatusPillTone = 'ok' | 'warning' | 'error' | 'checking' | 'muted'; + +export interface StatusPillProps { + tone?: StatusPillTone; + children: string; +} + +export function StatusPill({ tone = 'muted', children }: StatusPillProps) { + return {children}; +} + diff --git a/apps/windows-client/src/ui/Tabs.tsx b/apps/windows-client/src/ui/Tabs.tsx new file mode 100644 index 0000000..1632bd5 --- /dev/null +++ b/apps/windows-client/src/ui/Tabs.tsx @@ -0,0 +1,81 @@ +import { useRef, type KeyboardEvent } from 'react'; + +export interface TabItem { + id: T; + label: string; +} + +export interface TabsProps { + items: Array>; + activeId: T; + onChange: (id: T) => void; + ariaLabel: string; +} + +export function Tabs({ + items, + activeId, + onChange, + ariaLabel, +}: TabsProps) { + const refs = useRef>([]); + + function moveFocus(currentId: T, direction: 1 | -1) { + const currentIndex = items.findIndex((item) => item.id === currentId); + const nextIndex = (currentIndex + direction + items.length) % items.length; + const next = items[nextIndex]; + if (!next) return; + onChange(next.id); + window.requestAnimationFrame(() => refs.current[nextIndex]?.focus()); + } + + function handleKeyDown(event: KeyboardEvent, id: T) { + if (event.key === 'ArrowRight') { + event.preventDefault(); + moveFocus(id, 1); + } else if (event.key === 'ArrowLeft') { + event.preventDefault(); + moveFocus(id, -1); + } else if (event.key === 'Home') { + event.preventDefault(); + const first = items[0]; + if (!first) return; + onChange(first.id); + window.requestAnimationFrame(() => refs.current[0]?.focus()); + } else if (event.key === 'End') { + event.preventDefault(); + const last = items[items.length - 1]; + if (!last) return; + onChange(last.id); + window.requestAnimationFrame(() => refs.current[items.length - 1]?.focus()); + } + } + + return ( +
+ {items.map((item, index) => { + const active = item.id === activeId; + return ( + + ); + })} +
+ ); +} + diff --git a/apps/windows-client/src/ui/index.ts b/apps/windows-client/src/ui/index.ts new file mode 100644 index 0000000..3c1edc2 --- /dev/null +++ b/apps/windows-client/src/ui/index.ts @@ -0,0 +1,17 @@ +export { ActionMenu } from './ActionMenu'; +export type { ActionMenuItem } from './ActionMenu'; +export { Button } from './Button'; +export type { ButtonProps, ButtonSize, ButtonVariant } from './Button'; +export { Field } from './Field'; +export type { FieldProps } from './Field'; +export { IconButton } from './IconButton'; +export type { IconButtonProps, IconButtonVariant } from './IconButton'; +export { LogDock } from './LogDock'; +export type { LogDockEntry, LogDockProps } from './LogDock'; +export { ServiceControlRow } from './ServiceControlRow'; +export type { ServiceControlRowProps, ServiceControlState } from './ServiceControlRow'; +export { StatusPill } from './StatusPill'; +export type { StatusPillProps, StatusPillTone } from './StatusPill'; +export { Tabs } from './Tabs'; +export type { TabItem, TabsProps } from './Tabs'; + diff --git a/docs/audits/windows-client-ux-2026-07-08/01-summary-desktop.png b/docs/audits/windows-client-ux-2026-07-08/01-summary-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..3d6b798a458bbe6aef0aa7adb2d8171c4f37580e GIT binary patch literal 70087 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 LglDu9-$(unU;Zv#f8;HNWGY;}O7RH5FAAz=;z8 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

=q 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

h zVls~J=RJl0EXb~~Y0-bfVi9y=rX7q`+8h0@f79-9*H7F{gy^o-CdLU(?w%KOMmFZl zKgB#HtjB!^KP8z=rl`dxPVk4ao8A9=OGfo?F7dPa=cLUq> z=bhGQH`&!cPgaSTy1Uw?sQ3k%!J;p6-6f#UIaZeF)eI1n$|DI%m;Zse|BKnfKNX>k zQ~>j?t~wM}Y(n~md-4y5zufd~I7|Dj_qV@L77rgW%<|gnj6y|5f+E>xfO1_uTMf@fh-+goZ=UAfdTK3MUE&v?|rznOOB901vEk8A~|cb$*iYi&h5 zlJ-9i;wN%z)fDhnxo-;Frn_B2Bowog-OiO>mBQ1_EOu)vAHT0Tm^~%3aeh>yrC@%f zzX4=X8T9^U9f}0mvk_Y`LuNO(09!>XoE71ugqS37|JK&Enk{@N{%CcOb z)ZRDSF~V7T_dwIPuEeC~EbGOSShtD%_&1b}4I%h@^_U*7U?rxZbyt@dgIcStlVu9h z2I5)=f>!i{oQ!!;lj)C?1>V{z+{m^|6V$zlC#MK6mli0q>mEKN^W!JKPRyJ03-6T z@>dO0zlJE2ZRW%+tV0Vi`;TXy*wv?d=Q=5{d4VBn&4KhT@(ZwZb!MP>;IXemDD#9} z$(H|9dVjkmFm}d4iFJb-$M{*Lu$FxnYGBIhCe?!1n zOLvcAi^ALDp2N_DrM#2pYOhDboIQNzs(5i}K05cyJ>@u5{4o_l2~7n>WAxP^&J$Kh z5b+4HIV*W*LWvGHy=1O$CH_qdK;d~KWv#ha0a^UiVRfDBc!<9);{_Jr&RbQZ<78~nQm+zp zw|q){K8wMMZN!&HmL%=<0Svj-PtVl#OJ^y#ZlNP#smtCnop?9Nw-&Yd~7s6_@6+ ziy;DROJHdmy4q5!_kjAM%uHU)YBXx=v=6M0g4z5FPkBR0Px|`&y>{mN*owpmFRzU7 z+n*i6nW$cQuR>NU#vC&}L$ln{cDMJ>==tdVESpBhwS}JH9|QO88WGp#_19v>j2dVh zYMbsadAgT)$^h(eN_T^cUjwEn$m~HAHPCyXTuWKsquL>-yl!TP3JM%GaH*V-y&`XH zD`Ydu10SM8sE@7-MxLzDbT{0T3C(xu_~1@b(`+!F%PE5f?dil}JPZ{e)a*n3%3>DGWusyhU!k** zLe0Tx@0r{+ul;rx6GG|1SCweaFh9l6E|}ZUW@5>4$6~|SlCirH#KSH6lB!*eo{DJq zM0H;n%MDT@((f!6B$G(JCies|0)L?>`e4WpBx#u_YSN;axnORybZ>c8>n9o{D0Vo_ zO~*QQsf*OdjZzE&Q_F{5R2Vv8A8v?d7m_cE!MSC^C#O=O{`+fwSV+Qw6Kr~!e@e;x zB_moOV;yd7Yetyti<;Y7ujT=?YH{ThOah1zfBLS@nxLNEN`+H>er5msUuX&Vbb1)V489c z*5b{1!{!??E8&C5JxKo1AIEiZ?~fdYE<)x%DFhTx4;O|H=c~=juRxny7R?uTZ&WnT zI$@_!rAU9Nn9nr!lT&Qg z%9o9JhPyhy%`9-dnSIsY-BGL_zj-tDhJ4?Sfvl=fao*(?{nr_j?Mrk#?cRHd3uvl~ zx7Ax{OM4HB)#Bg2()ok%jO0$!(dtE5nS;Q)NvDuYkHI z$ylSPywJ%NSWXKdGdJ(WCtqNaVwSCtXNe%%!MU@Qc1;Q{@-o`W>w!4AM&dyqgM~j? zw_t5fSJ+c1)A#LFSJoC$pZ^n${EDSR{fX&*og zRKMZDzjk z3F{tuZqPqinPr!92TstIgtegnKb_|Wc_5>)5ek7;rE{U{qkDeYZw`L? z*M8#D4tQdWT6TEQ$3He|>;K7pkT@Z9LqW$*$+G3GY}XW%G)jn(TCL&3eI0!P=7$`h zCEJ&V_?$gE%e29xC-ViUj%O{KmabYznO8?Z~31Tug}* zK8hAl!B6$6_u`fhMOFuK-=Y3=)-HV=>sCf!fAl7#Z(&?+8{y9XwOxUW0-AXP zuA-}GFlmLP6`$_+i+qFl=yz}Y(^=Y7IT$g9<{lf)zQphyRn_2-)MTY|ZnyK=>0+3@ zkfJ>9lQxJe|G`t!t=%2PsG68TGb8W!V~W@S!}}sHVgZz(Se>yl zMxY^D&N>s~T;MOzscoo$bYf3ROmh=Wtk&r|ZW@A61nJ*TIm)iCk4u@(%)~rbgqCe! zFP&ozHtUXR0l3i&$IAXdir_5CLHJH7+%3N(FU!p>6KXZYX zrx-Lzh;KXjHqQtr9u4UCEOJ3!Qf2`m!e-KL+1uHI4J=RNe?*iSGv|eHTjhQl{R>5c z9>6c+L6OxTK^9&WAt(hVM87T*{Erp>h5yc94Yy9ig@DVXz03NoE7>u1^Iv=3=RcLS zh>m-US`$2t`-=bTQ^h@zq}ekKxf}4Mn1H`NO$gc={eQ91xv-Nbi!WJJ?hT~Zcu{hv Q=EZ*;uFqc&_b)U54N*2`g#Z8m literal 0 HcmV?d00001 diff --git a/docs/audits/windows-client-ux-2026-07-08/06-proxifyre-narrow.png b/docs/audits/windows-client-ux-2026-07-08/06-proxifyre-narrow.png new file mode 100644 index 0000000000000000000000000000000000000000..652191640b546b9f68d7e9f6a569e99479be8c38 GIT binary patch literal 40836 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 literal 0 HcmV?d00001 diff --git a/docs/audits/windows-client-ux-2026-07-08/AUDIT.md b/docs/audits/windows-client-ux-2026-07-08/AUDIT.md new file mode 100644 index 0000000..e5655ae --- /dev/null +++ b/docs/audits/windows-client-ux-2026-07-08/AUDIT.md @@ -0,0 +1,188 @@ +# UX/UI-аудит Windows-клиента + +Дата: 2026-07-08 + +## Область аудита + +Проверен текущий React UI `apps/windows-client` для Vite/Tauri как компактная Windows-утилита управления proxy-маршрутизацией приложений. Аудит выполнялся в browser-preview на `http://127.0.0.1:5174/`, поэтому нативные Tauri-команды были недоступны, а интерфейс показывал preview/runtime-ошибки. Все выводы ниже привязаны к скриншотам, снятым в этом прогоне. + +## Цель пользователя + +Главная задача пользователя - быстро управлять службами и понять: + +- какие компоненты установлены; +- какие службы запущены, остановлены или отсутствуют; +- какое действие доступно прямо сейчас: установить, удалить, запустить, остановить, обновить, добавить или применить; +- что сейчас маршрутизируется; +- через какую цепочку компонентов идет трафик; +- готовы ли ProxiFyre и опциональный Local sing-box; +- можно ли безопасно применить изменения; +- что делать дальше, если что-то сломано. + +Цель по доступности: интерфейс должен быть управляемым с клавиатуры, с понятными статусами, читаемым восстановлением после ошибок, предсказуемыми focus states и устойчивой адаптацией к узким размерам Windows-окна. + +## Доказательства + +1. `01-summary-desktop.png` - панель "Сводка", desktop-ширина. Состояние: смешанное. Главный статус виден, но примененное состояние еще "загружается", а рядом уже показан бейдж "Совпадает". +2. `02-proxifyre-desktop.png` - панель ProxiFyre, desktop-ширина. Состояние: в целом рабочее. Состав компонента и список приложений компактны, но главное действие apply доступно даже при отсутствующих prerequisites. +3. `03-proxy-desktop.png` - панель "VPN / Прокси", desktop-ширина. Состояние: рабочее. Настройка маршрута понятна, но route path выглядит как вторичный текст, а apply-action выглядит валидным до того, как маршрут может успешно примениться. +4. `04-proxy-validation-desktop.png` - невалидный proxy input. Состояние: хорошая база. Inline-валидация находится рядом с полем и отключает действие проверки. +5. `05-summary-narrow.png` - панель "Сводка", узкая ширина. Состояние: напряженное. Контент перестраивается, но нижний log dock и длинные сообщения обрезают важную информацию. +6. `06-proxifyre-narrow.png` - панель ProxiFyre, узкая ширина. Состояние: напряженное. Контролы складываются неплохо, но setup chips переполняются по горизонтали, а нижний dock конкурирует с основной задачей. + +## Доменное направление + +Ключевые понятия домена: цепочка маршрута, здоровье компонентов, локальный runtime, внешний endpoint, выбранные приложения, сгенерированный конфиг, граница apply/restart, диагностика. + +Цветовой мир: темная Windows-оболочка, терминальный черный, зеленый для driver/service ready, amber для предупреждений, красный для блокеров/firewall, синий для links/actions, slate для config-файлов. + +Сигнатурный элемент, который стоит усилить: `Service Control Row` - повторяемая строка компонента, где слева состояние службы, в центре человекочитаемый статус, справа одно главное действие и меню дополнительных действий. Route-chain readout тоже нужен, но как объяснение эффекта этих служб: `Apps -> ProxiFyre -> target -> VPN/server`. + +Дефолты, которые стоит отбрасывать: + +- generic dashboard cards -> service-control utility; +- большая зеленая apply-кнопка всегда видна -> apply gated by readiness + inline blockers; +- raw logs как главный error surface -> сначала человеческое recovery-сообщение, raw details вторым уровнем. +- разрозненные кнопки и анимации -> shared component base с едиными variants/states/motion tokens. + +## Сильные стороны + +- Приложение уже ощущается как компактная desktop-утилита, а не как сайт. Фиксированный header, tabs, плотные панели и темная системная палитра подходят задаче. +- Продуктовая модель сильная: ProxiFyre и Local sing-box разделены, sing-box не сделан обязательным. +- Inline-валидация SOCKS5-поля расположена рядом с полем и отключает "Проверить", когда формат неверный. +- Зона добавления приложения использует иконки с доступными labels и tooltip, поэтому плотный workflow остается сканируемым. +- Для основных анимаций есть `prefers-reduced-motion`. +- UI использует настоящие `button` и tab roles, а не click-only divs. Это хорошая база для доступности. + +## UX-риски + +1. Apply выглядит доступным, когда маршрут еще не actionable. + - Доказательства: `02-proxifyre-desktop.png`, `03-proxy-desktop.png`. + - ProxiFyre отсутствует и список приложений пуст, но "Обновить конфиг" / "Обновить маршрут" ярко-зеленые. Это провоцирует failed action вместо направленного setup. + +2. Главная цепочка маршрута не является визуальным фокусом. + - Доказательства: `01-summary-desktop.png`, `03-proxy-desktop.png`. + - Самая важная mental model - путь трафика, но сейчас он показан plain text в таблице или вторичном блоке. Пользователь вынужден читать фрагменты статуса вместо того, чтобы сразу увидеть цепочку. + +3. В "Сводке" есть противоречивое состояние. + - Доказательство: `01-summary-desktop.png`. + - "Состояние загружается" показано рядом с "Совпадает", а система одновременно говорит "Не настроено". Это может создать ощущение, что действий не требуется. + +4. Preview/native command failures слишком сырые. + - Доказательства: все скриншоты. + - Dock показывает `Cannot read properties of undefined (reading 'invoke')`. Для разработчика это полезно, но как первичный пользовательский error surface это шум. + +5. Bottom log dock конфликтует с узкой компоновкой. + - Доказательства: `05-summary-narrow.png`, `06-proxifyre-narrow.png`. + - Важные сообщения обрезаются до "Компонен..." и "Cannot read prop..."; dock постоянно занимает вертикальное место в и так коротком окне. + +6. ProxiFyre setup chips плохо перестраиваются. + - Доказательство: `06-proxifyre-narrow.png`. + - Горизонтальная chip-лента скрывает третий dependency и ухудшает диагностическую ясность. + +7. Терминология немного смешана. + - Доказательства: `01-summary-desktop.png`, `03-proxy-desktop.png`. + - `config`, `TCP check`, `VPN сервер`, `Local sing-box`, `ProxiFyre` - все эти термины допустимы, но нужен единый принцип: сначала пользовательский русский, технический идентификатор вторым уровнем. + +8. Компонентная база пока не выражена как система. + - Доказательства: `02-proxifyre-desktop.png`, `03-proxy-desktop.png`, `06-proxifyre-narrow.png`. + - Кнопки "Обновить", "Установить", "Открыть", "Проверить", add-icon buttons и service actions выглядят близко, но пока не читаются как строгая система variants. Из-за этого сложно гарантировать одинаковые hover/loading/disabled/focus states и одинаковую motion-модель. + +## Риски доступности + +- Tablist использует `role="tab"`, но не видно поддержки ожидаемого arrow-key behavior и roving tab index. Пользователю с клавиатурой, вероятно, придется проходить все tabs через Tab вместо Left/Right. +- Focus visibility есть через browser defaults, но визуально она тяжелая и не согласована со стилем приложения. Нужен отдельный `:focus-visible` token для buttons, tabs, inputs и icon controls. +- Status dots сильно полагаются на цвет. Стоит дублировать состояние видимым текстом или `aria-label`/screen-reader text там, где текст рядом не объясняет статус. +- Footer использует `aria-live`, но повторяющиеся raw runtime errors могут быть шумными для assistive tech. Сначала стоит объявлять короткий статус, а подробный error text держать за "Посмотреть". +- На узкой ширине truncation может скрывать actionable-часть сообщений и button labels. +- Скриншоты не доказывают полный keyboard order, screen-reader output или contrast ratios. Для этого нужен интерактивный accessibility pass. + +## План улучшений + +### P0 - Сделать service-control flow заслуживающим доверия + +1. Ввести shared component base: + - `Button` с variants: `primary`, `neutral`, `add`, `danger`, `icon`; + - `Tabs` с единым keyboard behavior и animation contract; + - `ServiceControlRow` для ProxiFyre, Local sing-box и будущих служб; + - `StatusPill`, `Field`, `ActionMenu`, `LogDock`; + - единые states: default, hover, active, focus-visible, disabled, loading. + +2. Нормализовать motion tokens: + - button press: 100-140ms; + - tab switch: 180-240ms, только `opacity` + `transform`; + - popover/menu: 150-180ms; + - service operation: видимый loading state, чтобы интерфейс не ощущался зависшим; + - не использовать `transition: all`. + +3. Заменить raw preview/native invocation failures на дружелюбное состояние: + - "Desktop-команды недоступны в browser preview. Запусти через Tauri для управления службами." + - Raw error оставить только в деталях лога. + +4. Заблокировать primary apply actions до готовности: + - disabled + explanation, когда список приложений пуст; + - disabled + explanation, когда ProxiFyre отсутствует; + - disabled + explanation, когда выбран local route без установленного/запущенного sing-box или выбранного сервера; + - "Открыть конфиг" оставить вторичным действием, не равным apply по весу. + +5. Исправить язык summary-state: + - использовать взаимоисключающие состояния: "Проверяю", "Не готово", "Готово к применению", "Применено", "Есть черновик"; + - не показывать "Совпадает", пока saved/applied state реально не загружен. + +### P1 - Пересобрать главную mental model + +6. Вынести route-chain component как объясняющий элемент: + - узел `Apps` с количеством; + - узел `ProxiFyre` со статусом installed/running; + - узел `Target`: external SOCKS5 или Local sing-box; + - узел `Server`, когда активен local sing-box; + - каждый сломанный узел показывает одно следующее действие. + +7. Переработать "Сводку" в command center: + - сверху: route-chain и readiness системы; + - посередине: applied vs draft diff, только если есть отличие; + - снизу: максимум два next actions; + - длинные config paths и подробный состав компонентов убрать из первого взгляда. + +8. Разделить "настроить маршрут" и "применить маршрут": + - Proxy panel отвечает за endpoint choice и connection check; + - ProxiFyre panel отвечает за app selection и service readiness; + - Summary подтверждает объединенный маршрут и применяет только при готовности. + +### P2 - Усилить responsive и component craft + +7. Превратить setup chips в wrapping checklist на узких ширинах. + +8. Сделать log dock адаптивным: + - desktop: persistent compact dock подходит; + - narrow: collapsed toast/details sheet вместо постоянного full-width footer. + +9. Определить design tokens: + - surfaces: canvas, panel, inset, elevated; + - text: primary, secondary, muted, disabled; + - status: ready, warning, blocked, checking; + - focus ring и border intensities. + +10. Стандартизировать copy: + - последовательно использовать "конфиг" или "конфигурация"; + - заменить "TCP check" на "TCP-проверка"; + - `Local sing-box` оставить техническим именем компонента, но в user-facing headings связывать с "локальный прокси". + +### P3 - Verification pass + +11. Добавить focused interaction QA: + - keyboard tab order; + - arrow-key tab navigation; + - focus return из menus/popovers; + - disabled-action explanations; + - empty, loading, error, missing-component, ready и unapplied-change states. + +12. Добавить responsive visual snapshots: + - 1280x720 desktop; + - 800x600 compact desktop; + - 420x720 narrow window; + - длинные proxy/server names и длинные Windows paths. + +## Рекомендуемый первый redesign slice + +Сначала стоит сделать shared UI foundation: `Button`, `Tabs`, `ServiceControlRow`, `StatusPill`, `Field`, `ActionMenu`, `LogDock` и motion tokens. После этого собрать ProxiFyre и Local sing-box через один `ServiceControlRow`, а route-chain использовать как объясняющий компонент в "Сводке" и "VPN / Прокси". Такой порядок сначала стабилизирует поведение кнопок/табы/анимации, затем улучшит ориентацию и recovery без переписывания всего UI. diff --git a/docs/goals/windows-client-service-control-ui-system/EVIDENCE.md b/docs/goals/windows-client-service-control-ui-system/EVIDENCE.md new file mode 100644 index 0000000..7df1cc6 --- /dev/null +++ b/docs/goals/windows-client-service-control-ui-system/EVIDENCE.md @@ -0,0 +1,82 @@ +# Windows Client Service-Control UI System Evidence + +## Acceptance Evidence + +- Desktop Summary screenshot: `docs/goals/windows-client-service-control-ui-system/evidence/01-summary-desktop.png` + - Shows shared tabs, shared refresh button, and friendly preview error: `Desktop-команды недоступны`. +- Desktop ProxiFyre screenshot: `docs/goals/windows-client-service-control-ui-system/evidence/02-proxifyre-desktop.png` + - Shows ProxiFyre rendered through the shared service-control row pattern. + - Shows apply blocker: `ProxiFyre не установлен`. + - Shows `Обновить конфиг` disabled instead of green/ready. +- Desktop VPN / Proxy screenshot: `docs/goals/windows-client-service-control-ui-system/evidence/03-proxy-desktop.png` + - Shows route mode buttons through shared button variants. + - Shows apply blocker before route apply. +- Narrow ProxiFyre screenshot: `docs/goals/windows-client-service-control-ui-system/evidence/04-proxifyre-narrow.png` + - Shows service row and setup checklist reflow at 420px. + - Shows compact log dock title instead of long raw runtime error text. + +Captured DOM state from Browser preview: + +```json +{ + "proxState": { + "disabledApply": true, + "blockerText": true, + "friendlyError": true, + "rawInvokeCurrent": false + }, + "routeState": { + "externalButtonClass": "ui-button ui-button--primary ui-button--md", + "externalAriaPressed": "true" + }, + "narrowState": { + "width": 420, + "hasHorizontalOverflow": false, + "setupStripOverflow": false + } +} +``` + +Native/elevated install/start/stop/uninstall service actions were not executed in this evidence pass. They are implemented through the existing handlers and shared callbacks, but real elevated service execution remains `implemented but unproven`. + +## Verification + +Build was run with bundled Node because system `npm` is not in PATH in this Codex shell. + +```powershell +& 'C:\Users\PC\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe' '.\node_modules\typescript\bin\tsc' +& 'C:\Users\PC\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe' '.\node_modules\vite\bin\vite.js' build +``` + +Relevant output: + +```text +vite v7.3.6 building client environment for production... +✓ 1800 modules transformed. +✓ built in 1.14s +``` + +Cutover check: + +```powershell +rg -n 'transition:\s*all|className=.*(apply-button|service-button|ghost-button|add-tile|open-config-button)' apps\windows-client\src +``` + +Relevant output: + +```text +no legacy className or transition: all matches +``` + +Notes: +- `pnpm run build` was attempted through the bundled runtime, but it began reinstalling `node_modules` because dependencies were originally installed by another package manager. The process was stopped; no package or lockfile changes were recorded by git. +- Browser preview was served from `http://127.0.0.1:5174/`. + +## Review Notes + +- Visual self-review found that active route mode lost its active styling after switching to shared `Button`; CSS was corrected with `.route-switch .ui-button--primary`. +- Visual self-review found setup chips still horizontally scrolled at 420px; narrow CSS was corrected to wrap `.setup-strip-items`. +- Residual product issue from the earlier audit remains: Summary still has `Состояние загружается` beside `Совпадает`. That state language was outside the implemented high-value slice and should be handled in a follow-up Summary view-model cleanup. +- POST plan review: aligned. Implementation stayed inside the approved ownership and contract boundaries: shared UI components are presentational, `App.tsx` still owns orchestration, and Tauri wrappers remain the command boundary. +- Correctness review: no blocker found. Real elevated service actions were not executed, so that lane remains `implemented but unproven`. +- Maintainability review: no blocker found. Old dominant `className` paths for apply/service/ghost/add/open buttons were displaced from `App.tsx`; stale legacy CSS selectors remain in `app.css` as non-dominant compatibility residue and should be removed in a follow-up CSS pruning pass if desired. diff --git a/docs/goals/windows-client-service-control-ui-system/GOAL.md b/docs/goals/windows-client-service-control-ui-system/GOAL.md new file mode 100644 index 0000000..43a3fa0 --- /dev/null +++ b/docs/goals/windows-client-service-control-ui-system/GOAL.md @@ -0,0 +1,11 @@ +# Goal: Windows Client Service-Control UI System + +Use Krypton Execution to execute `docs/goals/windows-client-service-control-ui-system/PLAN.md`. + +Core rules: +- Treat PLAN.md as the source plan. +- Preserve intent, ownership, contract, cutover, evidence, and kill criteria. +- Do not add a new dominant path without deleting, redirecting, demoting, or shimming the displaced path. +- Capture acceptance evidence from the target perspective and record it in EVIDENCE.md. +- Say "implemented but unproven" if that evidence cannot be captured. + diff --git a/docs/goals/windows-client-service-control-ui-system/PLAN.md b/docs/goals/windows-client-service-control-ui-system/PLAN.md new file mode 100644 index 0000000..1c40c98 --- /dev/null +++ b/docs/goals/windows-client-service-control-ui-system/PLAN.md @@ -0,0 +1,503 @@ +# Windows Client Service-Control UI System Implementation Plan + +**Intent:** Превратить текущий Windows-клиент в простую service-control утилиту с единой компонентной базой, предсказуемыми состояниями кнопок/табов/служебных строк, readiness-блокерами и аккуратными motion tokens. +**Current Behavior:** `apps/windows-client/src/app/App.tsx` и `apps/windows-client/src/styles/app.css` остаются крупным монолитом. Кнопки, табы, service cards, add controls, apply/open actions, log dock, validation и анимации задаются ad hoc через локальные JSX-блоки и классы вроде `service-button`, `apply-button`, `ghost-button`, `add-tile`, `route-switch`, `finder-card`, `log-dock`. +**Expected Outcome:** Пользователь видит плотную Windows-утилиту, где ProxiFyre и Local sing-box управляются через один повторяемый service-control паттерн, все кнопки имеют понятные variants/states, apply недоступен до готовности prerequisites, ошибки preview/native команд показываются человечески, а вкладки/меню/loading состояния двигаются одинаково и не создают ощущения зависшего UI. +**Target-Perspective Output:** Пользователь открывает клиент и за несколько секунд понимает, какие компоненты установлены, какие службы запущены/остановлены/отсутствуют, какую одну кнопку можно нажать дальше, почему apply заблокирован, и где посмотреть детали. На desktop и узкой ширине интерфейс не обрезает ключевые действия и не показывает raw runtime errors как основной текст. +**Truth Owner:** Источник правды для профилей, targets, компонентов, Local sing-box, generated config и apply остается в Rust/Tauri командах и JSON-файлах под `C:\ProgramData\VpnProxy`. Источник правды для UI-паттернов и визуальных контрактов после этого плана: `.interface-design/system.md` и shared UI components под `apps/windows-client/src/ui`. +**Contract Boundary:** React UI вызывает typed wrappers из `apps/windows-client/src/api/tauriCommands.ts`. Shared UI components не вызывают Tauri напрямую и не владеют persistent state; они получают props, emit callbacks и отображают states. `App.tsx`/panel containers владеют orchestration, draft state, loading state, readiness blockers и вызовами существующих handlers. +**Cutover:** Старые ad hoc JSX/CSS paths для кнопок, табов, service cards, log dock, fields и menus постепенно заменяются shared components. После cutover в `App.tsx` не должно оставаться нового прямого `