ui(review): причёсанная top-bar ревьюилки#252
Merged
Conversation
Решения: - Merge-контрол перекроен в split-button «Смержить ▾»: primary-действие всегда на виду, стратегия и чекбоксы «Удалить ветку» / «Очистить состояние» ушли в inline-поповер под chevron. Click-outside и Escape закрывают. Разгружает правую половину бара — раньше 4 контрола соревновались за внимание с primary-кнопкой. - «Открыть в IDE» получает проп iconOnly и в review-баре рендерится квадратной иконкой с tooltip — типовой сценарий, длинная подпись крала место. - ScopeBar: увеличен вертикальный ритм (py-2.5), добавлены тонкие разделители base-300 между смысловыми группами (repo · scope · right group · close), close вырос до 32×32 под требуемую hit-area. Порядок openInIde → mergeControl сохранён (тест на порядок остаётся зелёным). - Статус мержа собран в компактный pill (bg-base-200) — mergeability и checks на одной строке через разделитель ·, вместо двух right-aligned строк с разной типографикой. Отброшено: - Общий shared/ui Popover — он центрированный модальный (для «+» бакетов и type-picker); split-button требует anchored-поповер, поэтому меню реализовано локально в ReviewMergeControl. - hover:bg-primary-strong — токен есть в DESIGN.md, но не сгенерирован как Tailwind-утилита; оставил hover:bg-primary/90 как в проекте. Ограничения: - Поповер меню без floating-ui/portal: absolute-positioning от anchor. На узкой правой границе Modal-контейнера меню (w-64) не выходит за край, но при кардинальном сужении окна может обрезаться. Пока достаточно для review-workspace (fullscreen modal). - Проверки контраста в throne-dark — визуальные, без токен-теста.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Цель
UX/UI-полировка верхнего бара
ReviewWorkspaceOverlay: перегружен, 4 контрола справа перетягивают внимание с primary-действия «Смержить».Изменения
Смержить ▾(ReviewMergeControl.tsx). Основная кнопка primary + отдельная chevron-кнопка▾открывает inline anchored-поповер под split-button. В поповере: стратегия мержа (select), «Удалить ветку», «Очистить состояние». Click-outside и Escape закрывают.bg-base-200+ иконка + разделитель·) — раньше две правыми-выравненными строки с разной типографикой.Открыть в IDE→ icon-only в review-баре: новый пропiconOnlyуOpenBindingInIdeButton; в баре — квадратная иконка с tooltip, освобождает середину.ReviewScopeBar: увеличен вертикальный ритм (py-2.5), тонкие разделителиbase-300между смысловыми группами (repo · scope · right group · close), close вырос до 32×32 hit-area, транзишены именованы (transition-[color,background-color]) по DESIGN.md.Что осталось как было
Весь PR / Коммит…— по запросу оператора, только косметика.openInIde → mergeControl— тест на порядок остаётся зелёным.ReviewMergeControl(мерж/disabled/link/error) сохранены; добавлен тест: настройки скрыты по умолчанию и раскрываются кнопкой меню.Отброшено
shared/ui/…/Popover— он модальный центрированный; split-button требует anchored — сделал локально, чтобы не тащить floating-ui.hover:bg-primary-strong(токен есть в DESIGN.md, но не сгенерирован как Tailwind-утилита) — оставилhover:bg-primary/90как в проекте.Ограничения
absoluteот anchor. В review-workspace (fullscreen modal,w-64меню) обрезаться некуда, но при кардинальном сужении окна края могут подрезаться.throne-dark— визуальная проверка (token-based, не автотест).Проверки
python scripts/quality/verify.py --scope frontend --skip frontend-deps,frontend-audit,frontend-build,frontend-architecture— все зелёные: prettier, eslint, tsc, LOC-budget (файлы ≤300), vitest (270 тестов).scripts/run-dev.sh -- -p 5109 --no-browser.