Канон-перевод UI Благороста (capital) — зонтичный PR #124

Open
claude wants to merge 16 commits from feat/capital-canon into dev
Owner

Постраничный перевод интерфейса расширения capital (Благорост) на канон MONO Platform v2. Каждая страница — отдельный коммит, с визуальной проверкой скриншотом.

Сделано

Профиль (CapitalProfilePage)

  • Шапка — IdentityPanel (аватар, ФИО, копируемый аккаунт) + бейдж уровня/энергии на BaseChip в слоте actions
  • Кошельки Генератора и Благороста — канонные WalletCard с per-program цветами иконок, вертикальный стек как на столе пайщика
  • «Инвестировать» — главное действие страницы, в правом верхнем углу топбара (useHeaderActions); диалог на BaseDialog + BaseForm + AmountInput
  • Параметры участия (о себе / часов в день / стоимость часа) — единый BaseCard, редактируемые поля: строка label/value с ghost-карандашом → BaseForm + BaseInput/AmountInput
  • Взносы по ролям — BaseCard + DataRow (mono-суммы)
  • Скелетон .skel вместо спиннера, токены --p-* вместо hex/px, убраны ColorCard/q-input/q-btn/q-badge

Сопутствующее

  • BaseInput расширен type=textarea + autogrow (нужен для «О себе», иначе пришлось бы оставлять сырой q-input)

Дальше в этот же PR поедут остальные страницы capital по одной.

Постраничный перевод интерфейса расширения capital (Благорост) на канон MONO Platform v2. Каждая страница — отдельный коммит, с визуальной проверкой скриншотом. ## Сделано ### Профиль (CapitalProfilePage) - Шапка — IdentityPanel (аватар, ФИО, копируемый аккаунт) + бейдж уровня/энергии на BaseChip в слоте actions - Кошельки Генератора и Благороста — канонные WalletCard с per-program цветами иконок, вертикальный стек как на столе пайщика - «Инвестировать» — главное действие страницы, в правом верхнем углу топбара (useHeaderActions); диалог на BaseDialog + BaseForm + AmountInput - Параметры участия (о себе / часов в день / стоимость часа) — единый BaseCard, редактируемые поля: строка label/value с ghost-карандашом → BaseForm + BaseInput/AmountInput - Взносы по ролям — BaseCard + DataRow (mono-суммы) - Скелетон .skel вместо спиннера, токены --p-* вместо hex/px, убраны ColorCard/q-input/q-btn/q-badge ### Сопутствующее - BaseInput расширен type=textarea + autogrow (нужен для «О себе», иначе пришлось бы оставлять сырой q-input) Дальше в этот же PR поедут остальные страницы capital по одной.
claude added 1 commit 2026-06-10 08:51:57 +00:00
feat(desktop): профиль Благороста на канон MONO Platform v2
Typecheck / controller (pull_request) Has been cancelled
Typecheck / desktop (pull_request) Has been cancelled
14170e6d93
Страница CapitalProfilePage и её виджеты переведены на базовые
компоненты канона: IdentityPanel + бейдж уровня, WalletCard для
кошельков Генератора/Благороста, BaseCard + DataRow для взносов,
редактируемые поля на BaseForm/BaseInput/AmountInput, кнопка
«Инвестировать» — в header actions. BaseInput расширен type=textarea.
Скелетон вместо спиннера, токены --p-* вместо hex/px.
claude added 1 commit 2026-06-10 09:00:35 +00:00
feat(desktop): профиль Благороста — правки по ревью
Typecheck / desktop (pull_request) Failing after 9m13s
Typecheck / controller (pull_request) Successful in 13m57s
ecf8d2b5de
Кошельки Генератор/Благорост — в одну строку по col-md-6 (на мобильных
во всю ширину). Карандаш редактирования — рядом с заголовком поля, а не
оторван справа. Параметры участия и взносы по ролям обогащены:
иконки-плитки на нейтральном фоне, hairline-разделители, выделенная
плашка итога взносов, крупные mono-значения.
claude added 1 commit 2026-06-10 11:55:07 +00:00
feat(desktop): вернуть красный тик затухания энергии в бейдж уровня
Typecheck / desktop (pull_request) Failing after 9m1s
Typecheck / controller (pull_request) Has been cancelled
9b26834033
При канонизации ContributorGamificationWidget потерялся мигающий
красный arrow_left перед процентом энергии — индикатор того, что
энергия затухает со временем и взнос для следующего уровня растёт.
Возвращён внутрь канон-чипа BaseChip.
claude added 1 commit 2026-06-10 12:16:43 +00:00
feat(desktop): Мастерская Благороста на канон MONO Platform v2
Typecheck / controller (pull_request) Has been cancelled
Typecheck / desktop (pull_request) Has been cancelled
edc339b673
Дерево проекты→компоненты→задачи переведено на канон: убраны q-card
обёртки и WindowLoader (скелетон .skel вместо полноэкранного лоадера),
FontAwesome-иконки статусов заменены Material-эквивалентами, цвета
статусов/приоритетов задач и проектов — канон-палитра
(positive/negative/warning/info/primary/grey-6) вместо сырых
green/red/purple, кнопки «Компонент»/«Создать задачу» — BaseButton,
лейблы задач — BaseChip, попапы статуса и времени — токены --p-*
вместо white/grey hex (чинит тёмную тему), hover тайтлов — --p-primary
вместо accent, инлайн-px — классы и токены. Fab — primary вместо
accent-заливки (канон запрещает accent на кнопках).
claude added 1 commit 2026-06-10 12:31:23 +00:00
feat(desktop): Мастерская — правки по ревью: пустые слоты, каскад отступов, метрики строк
Typecheck / desktop (pull_request) Failing after 9m1s
Typecheck / controller (pull_request) Successful in 14m0s
6d4809e8b6
Дефолтный no-data q-table (чёрный треугольник) заменён тихим
канон-состоянием (inbox + muted-текст) во всех трёх списках.
Каскадный отступ вложенности задаёт родительский виджет через
слот-ячейку (--p-7, на мобильных --p-3) — сами виджеты при одиночном
использовании отступа не имеют. На строках проектов и компонентов —
компактные метрики: часы исполнителей факт/план и привлечённые
инвестиции факт/план (компактный формат, скрываются на мобильных,
инвестиции — только если ненулевые).
claude added 1 commit 2026-06-10 14:54:03 +00:00
feat(desktop): Мастерская — время задачи в правый блок строки
Typecheck / desktop (pull_request) Failing after 8m27s
Typecheck / controller (pull_request) Successful in 13m9s
e1405a3b3d
IssueTimeChip переехал из мета-блока (между ID и заголовком, смещал
title) в правый actions-блок перед статусом — время задач теперь в
одной вертикали с метриками часов факт/план проектов и компонентов.
claude added 1 commit 2026-06-10 15:54:31 +00:00
feat(desktop): Мастерская — фиксированная колоночная сетка справа и hover-кнопки добавления
Typecheck / desktop (pull_request) Failing after 8m15s
Typecheck / controller (pull_request) Successful in 13m1s
112d13114c
Правая часть строк всех трёх уровней — общая сетка фиксированных
колонок [время 110px | статус/инвестиции 132px | действия 120px]:
часы проектов/компонентов и время задач в одной вертикали, статус
задач и инвестиции — в своей, люди/действия — в своей. Ничего не
плывёт при появлении значений. Безликие плюсики заменены подписанными
ghost-кнопками «+ Компонент» / «+ Задача», которые проявляются при
наведении на строку (на touch-устройствах видны всегда).
claude added 1 commit 2026-06-10 16:44:55 +00:00
EntityIdBadge получил flat-вариант (muted mono-текст без плашки,
копи-иконка по hover) — серые коробки с двумя иконками убраны из строк.
Левые колонки зафиксированы для всех уровней: [chevron/приоритет 28px |
ID 96px | статус-иконка 22px | title] — заголовки уровня стартуют с
одной координаты. Чип времени задачи прижат к правому краю своей
колонки, формат часов синхронизирован («1ч / 4ч» и у проектов, и у
задач), правый отступ строк выровнен (--p-3 у всех уровней).
claude added 1 commit 2026-06-10 17:07:30 +00:00
feat(desktop): Мастерская — аватар мастера на строках проектов/компонентов + единые шрифты
Typecheck / desktop (pull_request) Failing after 8m20s
Typecheck / controller (pull_request) Has been cancelled
641eaaad6d
Новый SetMasterAvatar (зеркало SetCreatorAvatars): аватар мастера в
правой колонке действий строки проекта и компонента, по клику q-menu
с ContributorSelector в одиночном выборе — мастер может быть только
один. Плейсхолдер manage_accounts при пустом мастере, права —
can_set_master. Шрифты выровнены: чип времени задачи переведён на
mono 12px (как метрики проектов), тайтлы всех уровней — --p-fs-body.
Аватарки исполнителей задач переведены с hex/--q-* на токены --p-*.
claude added 1 commit 2026-06-10 17:26:12 +00:00
feat(desktop): Мастерская — полоски «Добавить компонент/задачу» вместо плюсиков в строках
Typecheck / desktop (pull_request) Failing after 8m15s
Typecheck / controller (pull_request) Has been cancelled
6257730ccb
Кнопки создания убраны из строк проектов/компонентов (hover-reveal
плюсики вываливались из сетки). Вместо них — полнострочные
muted-полоски в конце списков: «Добавить компонент» после всех
компонентов проекта (гейт can_edit_project), «Добавить задачу» после
всех задач компонента. В колонке действий строк остался только
аватар мастера.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
claude added 1 commit 2026-06-10 18:07:41 +00:00
fix(desktop): Мастерская — выравнивание пустых аватар-слотов + скелетон при загрузке
Typecheck / desktop (pull_request) Failing after 8m14s
Typecheck / controller (pull_request) Successful in 13m18s
572984e32c
Пустая иконка «назначить исполнителя/мастера» центрировалась внутри
слота и выпадала из вертикали заполненных аватарок — прижата вправо
(margin-left: auto), центр иконки совпадает с центром аватара.

Пока исполнители/мастер грузятся, вместо вводящего в заблуждение
пустого плейсхолдера показывается скелетон-кружок той же геометрии;
при фоновом обновлении уже показанные аватарки не мигают.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
claude added 1 commit 2026-06-10 19:00:54 +00:00
Fab убран; создание проекта — BaseButton в header-actions (хоткей P
сохранён через колбэк exposeOpen). Диалог фильтров разобран:
ProjectsFilterPanel под шапкой — статусы/приоритеты компактными
multiple-селектами, исполнитель и мастер через ContributorSelector,
применение сразу без кнопки, сброс при активных фильтрах,
восстановление участников из сохранённых фильтров. Страница —
flex-колонка: скролл-зона списка не уезжает за вьюпорт.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
claude added 1 commit 2026-06-10 19:08:00 +00:00
Фильтры пока не используются — ProjectsFilterPanel убран из
ProjectsListPage (виджет остаётся в проекте). Попутно панель приведена
к канону: ContributorSelector получил проп outlined (канон-вид как
BaseSelect вместо legacy standout), все четыре инпута панели одинаковые.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
claude added 1 commit 2026-06-10 19:24:42 +00:00
feat(desktop): страница проекта — канонный PageTabs с контекстным действием вкладки, FAB убран
Typecheck / desktop (pull_request) Has been cancelled
Typecheck / controller (pull_request) Has been cancelled
9ca51c13c8
Субменю проекта перенесено из шапки (RouteMenuButton/useHeaderActions)
в канонный PageTabs под заголовком. FAB с четырьмя действиями убран —
действие живёт в слоте actions активной вкладки: Компоненты → «+
Компонент», Артефакты → «+ Артефакт», Участники → «+ Соавтор», План →
«+ Инвестиция»; без допуска — «Принять участие» / чип «Запрос на
рассмотрении». Хоткеи сохранены через refs кнопок.

Попутно: PageTabs научен router-link-режиму (нейтрализация глобальных
стилей ссылок); AddAuthorButton/CreateProjectInvestButton переведены
на BaseButton/BaseForm/AmountInput; PendingClearanceButton — статус-чип
вместо чёрного disabled-fab «жидание»; MakeClearanceButton — primary
вместо accent-заливки вне Fab; новый CreateRequirementButton.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
claude added 1 commit 2026-06-10 19:46:54 +00:00
fix(desktop): страница проекта — скелетон загрузки, канон-фон и шрифты crepe-редактора
Typecheck / desktop (pull_request) Failing after 8m41s
Typecheck / controller (pull_request) Successful in 13m39s
710763f7db
Пустая страница на время загрузки проекта заменена skel-каркасом
(сайдбар + контент). Crepe-редактор: белый хардкод-фон → transparent
(наследует поверхность страницы), шрифты Noto Serif/Noto Sans/Space
Mono → канонные var(--p-sans)/var(--p-mono) в обеих темах.
ContributorSelector: проп loading подключён к q-select (игнорировался).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
claude added 1 commit 2026-07-20 16:01:06 +00:00
Merge branch 'dev' into feat/capital-canon
Typecheck / desktop (pull_request) Successful in 14m42s
Typecheck / controller (pull_request) Successful in 14m6s
f521d65a51
Подтягиваем свежие изменения dev (в т.ч. капитал: CPP-template mapping,
onboarding widget canon). Единственный конфликт — дублирующее
добавление autogrow в BaseInputProps с обеих сторон, разрешено оставлением
варианта с doc-комментарием.
Some checks are pending
Typecheck / desktop (pull_request) Successful in 14m42s
Typecheck / controller (pull_request) Successful in 14m6s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/capital-canon:feat/capital-canon
git checkout feat/capital-canon
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: C9S/mono#124