P1: Редизайн Admin UI — Control Center (Inbox-first) #32
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
Текущая админка — набор CRUD-страниц на Ant Design по умолчанию. Moderator и support живут в продукте целый день, но UX построен вокруг таблиц БД, а не вокруг очереди задач. Сайдбар неудобен, профиль спрятан в футере, статистика давит таблицы, нет операторского inbox для жалоб и тикетов.
Цель продукта: админка как Control Center, в котором moderator/support проводят смену, а admin/superadmin исследуют сущности и наблюдают систему.
Влияние
Ожидаемый результат
Admin SPA как операторская консоль с режимами:
Новый shell: группы навигации, профиль всегда в шапке. Интерактивный концепт — canvas admin-control-center-mock.
Критерии приёмки
Вне скоупа (отдельные задачи при необходимости)
Файлы (подсказка)
Приоритет
P1 (продуктовый редизайн; P0-crash UserDetail входит в критерии фазы shell)
Ветка
feature/control-center-redesign
Беру в работу. Ветка:
feature/control-center-redesign.Интерактивный концепт уже есть (canvas admin-control-center-mock). По процессу — варианты решения до кода. Нужно выбрать один.
Вариант A (рекомендую) — Hybrid Ant + Control Center shell, Inbox-first
Что делаем в рамках #32
Стек: остаёмся на Ant Design (Table/Form/Modal), свой layout + patterns.
Плюсы: доставляем продукт для смены модератора/саппорта быстрее; низкий риск поломки форм; RBAC/маршруты почти без изменений.
Минусы: визуально не «с нуля»; не все 12 экранов сразу в новом Explore.
Оценка: 2–3 недели итерациями в этой ветке.
Вариант B — Icon rail + полная смена IA с первой недели
Как A, но сразу двухколоночная навигация (icon rail → context nav) и Explore slide-over на всех entity pages.
Плюсы: ближе к mock canvas «как в конце».
Минусы: больше перелома навигации; дольше до usable Inbox.
Оценка: 3–4 недели.
Вариант C — Deep tech: shadcn / TanStack вместо Ant
Полная замена UI-kit + Control Center.
Плюсы: максимальный контроль UX.
Минусы: 2+ недели только таблицы/формы; высокий риск регрессий; не нужно для цели «8-часовой смены».
Оценка: 6–8 недель. Не рекомендую как первый шаг #32.
Рекомендация: вариант A.
Первый коммит после апрува: ErrorBoundary + UserDetail fix, затем shell, затем Inbox.
Жду подтверждение варианта (A / B / C или правки скоупа).
Выбран вариант C: shadcn/ui + TanStack Table как UI-платформа для Control Center и будущих client/mobile UI.
Начинаю в ветке
feature/control-center-redesign:Фаза 1 (ветка feature/control-center-redesign):
Ant Design временно на list/detail страницах — следующая фаза: миграция таблиц на DataTable (TanStack) и удаление antd.
Фаза 2:
.nvmrc22.12.0,engines.node >=20.19.0(Vite 8), CI → node 22DataTable(TanStack) — server-side sort/pagination, шаблон для list-страницListPageHeader+ KPI cards (≤4)npm run buildOK на Node 22.12Следующее: остальные list/detail страницы, затем удаление antd.
Фаза 3 завершена:
Осталось для закрытия #32: stage E2E (inbox, профиль, UserDetail), обновление EventHubFrontAdminSpec.
Фаза 4 (UX shell polish):
Осталось к закрытию #32: stage/dev E2E smoke, обновление EventHubFrontAdminSpec, коммит.
Фаза 5 (deep UX):
Тесты/коммит — позже по договорённости.
Фаза 6 (deep UX cont.):
Ещё можно: calendar search, Observe polish, density persistence UX. Тесты/коммит — когда скажешь «всё готово».
Фаза 7:
Phase 8 — Explore dual view (вариант B)
Списки Explore переведены на общий shell + переключатель Таблица / Строки (persisted в
admin.ui.exploreView).Каркас
ExploreListShell— заголовок, тонкие stats (без KPI-карточек), toolbar, toggle видаExploreSearch,RowActionsMenu(⋯),DenseRowList,ExploreDataViewTablePaginationBarСтраницы
Users, Events, Calendars, Reviews, Subscriptions, Admins, Reports, Tickets
UX
tsc -b— ок. Коммит позже по запросу.Залито на master (
fd2c1f1). CI + Deploy IFT admin должны накатить образ sha-fd2c1f1…. Ветка feature/control-center-redesign тоже на remote. Секреты/tmp в коммит не входили.Control Center в master: Inbox-first shell, explore pages, RBAC, ErrorBoundary, shadcn UI.
Дальнейшие доработки — отдельными задачами. Закрываю как выполненное.