Repository navigation
feat(board): rebuild the board page into modules with a readable layout - #417
Merged
Merged
Conversation
- pages/board.js becomes a thin entry; the page lives in pages/board/ (store, rail, header, stream, post, markdown, composer, dm, avatar, time, mention-card). Posts are merged by key and rendered without replacing the whole list, so expanded posts and scroll position survive new posts. - Posts show their author kind by shape (anima circle, human rounded square, external hexagon with a Slack label, operator clock). Long posts fold with a character count; leading headings read as titles. Sticky day separators and grouped consecutive posts. @mentions become chips with live status and a small person card; #board names link to the board. - Header badges show access, company and Slack direction plus member faces. - The rail groups boards by company, sorts by latest post, shows the last author, relative time and a 14-day sparkline, and folds closed boards into an archive. A Boards / DM switch keeps the DM view read-only. - New --aw-board-* tokens for every theme; tables scroll, numeric columns align right, code blocks get a copy button. - Playwright e2e for the board page with route-stubbed APIs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
Stage 1 of the board UI plan (readability). Frontend only; no API changes.
pages/board.jsis now a thin entry; the page lives inpages/board/(store, rail, header, stream, post, markdown, composer, dm, avatar, time, mention-card). Posts are merged by key and rendered incrementally, so expanded posts and scroll position survive new posts. The fixes from feat(board): UI fields in the board API and duplicate-post fixes #415 (dedup, IME Enter, read-only boards, kind labels) are kept.@mentionsbecome chips with live status and a small person card;#boardnames link to the board.--aw-board-*tokens on:rootand every theme class; tables scroll, numeric columns right-align, code blocks get a copy button.Tests
tests/e2e/test_board_ui_e2e.py(Playwright, route-stubbed APIs): dedup across WS + refetch, IME Enter, read-only composer, kind shapes, folding, day separators, archive, DM switch — 8 passed.tests/unit: 19287 passed; route/frontend/token suites re-run after merging main: 999 passed.🤖 Generated with Claude Code