2.2 KiB
board-viewer-ux-owner-conditional
Goal
User: «OpeItcLoc03 — почему везде один и тот же owner? Зачем он вообще?» Owner-pill добавлен board-viewer-card-meta-fix как differentiator для cross-owner whitelist'а, но в текущем VDS-конфиге все 5 репо в одном namespace (OpeItcLoc03/*) → pill дублируется на каждой карточке, visual noise.
Рендерить owner условно: если на текущем рендере все видимые карточки имеют один и тот же owner — pill скрыть, owner один раз показать в шапке доски (например «Owner: OpeItcLoc03 (5 repos)»). При ≥2 distinct owners — pill вернуть на карточки.
TDD posture
Mode = TDD. Failing test: render с фикстурой single-owner → cards без .owner-pill, шапка содержит owner-summary. Render с фикстурой multi-owner → cards содержат .owner-pill, шапка без owner-summary (или с list). Затем impl.
Key files
src/render.ts— pre-render scan distinct owners, conditional outputstatic/board.css— стиль для header owner-summarytests/render.test.ts— два теста (single-owner / multi-owner fixtures)
Acceptance
- При single-owner whitelist карточки чище (без duplicate pill); owner один раз в шапке
- При multi-owner — pill возвращается, шапка не дублирует
- Тесты pass
Notes
- Связанная ops-проверка (см.
.admin/[board-viewer-redeploy-ux-round1]): верифицировать чтоboard_viewer_reposв/opt/stacks/board-viewer/auth.tomlкорректно —booksпо memoryGitea owner namespaceдолжен бытьvictor/books, неOpeItcLoc03/books. Если auth.toml корректен и whitelist single-owner — UI conditional работает как задумано.