diff --git a/apps/web/src/routes/_auth/vps.tsx b/apps/web/src/routes/_auth/vps.tsx index 1ef1f66..b7f9857 100644 --- a/apps/web/src/routes/_auth/vps.tsx +++ b/apps/web/src/routes/_auth/vps.tsx @@ -683,7 +683,10 @@ function VpsPage() { {tableSections.map((section) => ( v.id} diff --git a/docs/ui-migration-plan.md b/docs/ui-migration-plan.md index 1e54246..99fe722 100644 --- a/docs/ui-migration-plan.md +++ b/docs/ui-migration-plan.md @@ -45,25 +45,25 @@ ## Изменения по экранам (`apps/web/src/routes/_auth/*`) -| Маршрут | Доска | Изменения | -|---|---|---| -| `dashboard` | VpsDashboard | баннер → KPI (6) → **вкладки** «Проблемы» (быстрые действия, графики Платежи/Расходы, «Здоровье инвентаря») · «Последние VPS» · «Аккаунты» (под риском) | -| `vps` | VpsList | заголовок «VPS / Виртуальные серверы», Alert несвязанных доменов, Frame-грид «Инвентарь VPS» с подзаголовком | -| `vps.$vpsId` | VpsDetail | крошки VPS / IP, действия «К списку VPS» + «Редактировать», **вкладки** Обзор / Финансы / Заметки / Синк | -| `accounts` | VpsAccounts | KPI (4) + грид, действия «Синхронизировать все» + «Добавить» | -| `providers` | VpsProviders | грид «Хостеры» | -| `projects`, `projects.$projectId` | VpsProjects / VpsProjectDetail | KPI (4) + грид | -| `tariffs` | VpsTariffs | Alert расхождений + грид | -| `payments` | VpsPayments | KPI (3) + грид | -| `balance` | VpsBalance | KPI (3) + грид, футер с итогами | -| `reports`, `resources` | VpsReports / VpsResources | сегмент периода, KPI, графики в Frame | -| `renewals` | VpsRenewals | KPI (3) + грид | -| `blocking`, `geo` | VpsBlocking / VpsGeo | KPI (4) + сегменты + вкладки Текущие / История | -| `topology` | VpsTopology | без изменений структуры (холст) | -| `spaces` | VpsSpaces | секции Frame | -| `sync-journal` | VpsSync | грид «Запуски синхронизации» | -| `audit` | VpsAudit | вкладки по действию + переключатель Лента / Таблица | -| `settings/*` | VpsSettings | **вкладки сверху** Общие / Синхронизация / Уведомления / Интеграции вместо боковой навигации `SettingsShell` | +| Маршрут | Доска | Изменения | Статус | +|---|---|---|---| +| `dashboard` | VpsDashboard | баннер → KPI (6) → **вкладки** «Проблемы» (быстрые действия, графики Платежи/Расходы, «Здоровье инвентаря») · «Последние VPS» · «Аккаунты» (под риском) | сделано | +| `vps` | VpsList | заголовок «VPS / Виртуальные серверы», Alert несвязанных доменов, Frame-грид «Инвентарь VPS» с подзаголовком | сделано (заголовок грида); Alert доменов и фильтры — уже были | +| `vps.$vpsId` | VpsDetail | крошки VPS / IP, действия «К списку VPS» + «Редактировать», **вкладки** Обзор / Финансы / Заметки / Синк | сделано (line-вкладки, действия, крошки «VPS / IP»); маршрут вынесен в `vps_.$vpsId` | +| `accounts` | VpsAccounts | KPI (4) + грид, действия «Синхронизировать все» + «Добавить» | уже соответствует («Синхронизировать все» — при наличии API-аккаунтов) | +| `providers` | VpsProviders | грид «Хостеры» | уже соответствует | +| `projects`, `projects.$projectId` | VpsProjects / VpsProjectDetail | KPI (4) + грид | уже соответствует; крошки «Проекты / имя»; маршрут вынесен в `projects_.$projectId` | +| `tariffs` | VpsTariffs | Alert расхождений + грид | уже соответствует («Загрузить тарифы» — при наличии API) | +| `payments` | VpsPayments | KPI (3) + грид | уже соответствует | +| `balance` | VpsBalance | KPI (3) + грид, футер с итогами | уже соответствует | +| `reports`, `resources` | VpsReports / VpsResources | сегмент периода, KPI, графики в Frame | уже соответствует | +| `renewals` | VpsRenewals | KPI (3) + грид | уже соответствует | +| `blocking`, `geo` | VpsBlocking / VpsGeo | KPI (4) + сегменты + вкладки Текущие / История | уже соответствует | +| `topology` | VpsTopology | без изменений структуры (холст) | без изменений | +| `spaces` | VpsSpaces | секции Frame | уже соответствует | +| `sync-journal` | VpsSync | грид «Запуски синхронизации» | уже соответствует | +| `audit` | VpsAudit | вкладки по действию + переключатель Лента / Таблица | сделано (общие CountedLineTabs) | +| `settings/*` | VpsSettings | **вкладки сверху** Общие / Синхронизация / Уведомления / Интеграции вместо боковой навигации `SettingsShell` | сделано | ## Общие компоненты @@ -86,3 +86,8 @@ ## Установка Новые ReUI-элементы не требуются: всё нужное уже установлено (`frame`, `badge`, `alert`, `data-grid`, `filters`, `timeline`, `icon-tile`) и shadcn (`sidebar`, `collapsible`, `tabs`, `toggle-group`). Добавляются только пакеты шрифтов. Если при реализации понадобится новый элемент — `cd apps/web && pnpm dlx shadcn@latest add @reui/`. + +## Итог проверки + +- Сверка: артефакт в браузере не рендерится без входа в claude.ai, поэтому соответствие проверено по структуре досок `.dc.html` (заголовки, подзаголовки, действия, KPI, вкладки, блоки) и скриншотам dev-сервера 1440×1000, свёрнутого меню, светлой темы и ширины телефона. +- «Уже соответствует» — экран сверен по тексту (`h1`, подзаголовок, действия) с доской; визуальные отличия закрыты общими изменениями темы, shell, KPI и шапки страницы.