- bj_exchange и «кран» Fancy убраны: данные модуля ЛК в PostgreSQL (схема lk) - трансферные таблицы FTV_M2M: создание при установке, события, справочник участников - сверка с DEPO: счёт, ФИО, дата рождения, ИИС по договору, квал-инвестор из опции DEPO - боевой ЛК ЕСИА Финанс при тестовом ИШ: журнал, отказ через DEPO, статусы в ЛК - онлайн-лицензирование в bj, план тестирования M2M для контрагента (интерактивный HTML) - модули QUIK МНП, экспорт QUIK, НПР/УДС; документы и тестовые материалы Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
5.7 KiB
Design
Визуальная система интерфейсов bj. Продуктовую правду держит PRODUCT.md.
Токены и оболочка живут в internal/lkgateway/web/templates/layout.html
(админка bj-server) и cmd/bj-lk/templates.go (клиентский ЛК).
THESIS
Пульт управления перемещением ценных бумаг между депозитариями через НРД — приборная панель, а не маркетинговый дашборд. Состояние системы и заявок читается с одного взгляда. Отказ от generic-SaaS-грамматики: эмодзи-иконки, лого-градиентный блоб, градиентный текст, сетка одинаковых карточек как структура страницы — не используются.
OWN-WORLD
«Диспетчерская депозитария». Прохладные нейтрали на свету, терминальный
near-black в тёмной теме (настоящее рабочее место оператора). Один уверенный
акцент — индиго --accent (интерактив); MOEX-красный --brand
зарезервирован строго под знак бренда и критические состояния. Знак — два узла,
соединённые мостом (продукт буквально соединяет депозитарии), inline-SVG.
Иконки — только тонкие line-иконки (stroke 1.8, inline-SVG), никаких эмодзи.
Color
Стратегия — Restrained (нейтрали + один акцент), корректно для Operate.
Токены в :root (light) и [data-theme="dark"]. Обе темы обязательны и
переопределяют весь семантический набор (--accent/--ok/--warn/--err и их
-weak). Тема запоминается в localStorage; уважать prefers-color-scheme и
prefers-reduced-motion. Контраст текста — WCAG AA (body ≥4.5:1); вторичный
текст тонируется из нейтрали, не «серым наугад».
Typography
Системный sans для UI. Приборная подпись: все величины — моноширинными
табличными цифрами (--mono, font-variant-numeric:tabular-nums): ID,
счётчики, время, коды, суммы, значения статов (.num, .stat-value, .clock,
code). Заголовки — плотный трекинг (до −0.03em на крупных), явная шкала веса.
Components
- Оболочка: sticky-топбар (56px) = знак бренда (flex:none) + навигация
(flex:1, внутренний горизонтальный скролл, скрытый скроллбар) + правый блок
(flex:none): строка системного статуса
.sys-status(пульс + «НРД на связи / Эмуляция»), моно-часы, SVG-переключатель темы. На ≤1200px статус сжимается до пульса, часы скрываются. Топбар не создаёт горизонтального скролла страницы. - Приборные плитки-статы
.stat: цветной торец слева (3px, семантический —.accent/.ok/.warn/.err), моно-значение. - Плитки задач
.tile: слот.icoпод line-SVG (не эмодзи, не градиент), hover — подъём 2px + сдвиг стрелки. - Таблицы: плотные, числовые ячейки —
.num(табличные цифры), ID —code. - Бейджи статусов
.badge.<state>: семантические заливка+текст (AA). - Тост/алерты: цветной акцент только сверху (
border-top), не слева (border-left/right>1px запрещён).
Motion
Один авторский easing --ease (экспоненциальный ease-out). Живой момент —
пульс индикатора системного статуса; hover-плитки — подъём + сдвиг стрелки.
Всё отключается при prefers-reduced-motion.
Refuse (из craft-floor + тезис)
Эмодзи-иконки; лого-градиентный квадрат; градиентный текст; border-left/right
1px как акцент карточек; моноширинный шрифт как «костюм технологичности» вместо данных/измерений; выбор темы по категории, а не по сцене использования.
Scope / статус
Поднят общий слой layout.html (токены, оболочка, статы, плитки, таблицы,
бейджи, тост) — его наследуют все ~20 страниц админки — и флагман admin_home.
Клиентский ЛК (cmd/bj-lk) уже несёт совместимую систему (токены, тёмная тема,
доступность). Постранично ещё не подняты: admin_setup, admin_help_*,
admin_wizard, admin_claim — они наследуют систему, но их частная композиция
(плотные формы, help-простыни) ждёт отдельного прохода.