da12a9ec1c
- 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>
78 lines
5.7 KiB
Markdown
78 lines
5.7 KiB
Markdown
# Design
|
|
|
|
<!-- impeccable:design-schema 1 -->
|
|
|
|
Визуальная система интерфейсов 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-простыни) ждёт отдельного прохода.
|