Skip to content

feat: add All Boards aggregated view#478

Open
flenard wants to merge 3 commits intokanbn:mainfrom
flenard:feature/all-boards-view
Open

feat: add All Boards aggregated view#478
flenard wants to merge 3 commits intokanbn:mainfrom
flenard:feature/all-boards-view

Conversation

@flenard
Copy link
Copy Markdown

@flenard flenard commented Apr 21, 2026

Summary

Adds a new All Boards page that aggregates cards from every board in the workspace into a single Kanban-style view, so users no longer need to visit each board individually to see their tasks.

  • Three columns: To Do / In Progress / Done (cards classified by list position: first list = todo, last list = done, middle lists = in progress)
  • Date filter: Today (default) / This Week / All — reuses the existing DueDateFilterKey machinery
  • Per-card context: board name chip + due-date badge (colour-coded: amber = today, red = overdue)
  • Links: each card links to its source board
  • Keyboard shortcut: GA to navigate to All Boards

Changes

Layer What changed
packages/db Added getAllCardsAggregated to board.repo.ts — fetches all non-deleted, non-archived regular boards with lists + cards, classifies each card by list position
packages/api Added board.allCardsAggregated tRPC procedure with optional dueDateFilters input
apps/web/components/ReactiveButton Made json (Lottie) optional; added reactIcon?: React.ReactNode prop so nav items can render React icons instead of Lottie animations
apps/web/components/SideNavigation Added "All Boards" nav item with TbLayoutGrid icon (G+A shortcut)
apps/web/views/all-boards New view: three-column layout, filter tabs, due-date badges, loading skeletons
apps/web/pages/all-boards New page wrapper using getDashboardLayout

Test plan

  • Navigate to /all-boards via sidebar — three columns render
  • Cards appear in the correct column based on their list position within each board
  • "Today" filter shows only cards due today; "This Week" shows cards due within 7 days; "All" shows all cards regardless of due date
  • Due-date badges are correctly coloured (amber = today, red = overdue)
  • Clicking a card navigates to the correct board
  • G+A keyboard shortcut navigates to All Boards
  • Sidebar item is highlighted when on /all-boards
  • Collapsed sidebar shows the icon correctly
  • Dark mode renders without visual regressions
  • Boards with 1 list: all cards appear in To Do
  • Boards with 2 lists: first = To Do, last = Done (no In Progress)
  • Archived boards and deleted boards are excluded

🤖 Generated with Claude Code

lenard and others added 3 commits April 21, 2026 08:58
Adds a new "All Boards" page that shows cards from every board in a
single Kanban-style view (To Do / In Progress / Done columns), with
a date filter that defaults to today.

Changes:
- packages/db: add `getAllCardsAggregated` to board.repo — fetches all
  non-deleted, non-archived regular-type boards with their lists and
  cards, classifying each card by list position (first list = todo,
  last list = done, middle lists = in progress)
- packages/api: add `board.allCardsAggregated` tRPC procedure with
  optional `dueDateFilters` input, reusing existing filter machinery
- apps/web/components/ReactiveButton: make `json` (Lottie) optional;
  add `reactIcon` prop so nav items can use React icons instead
- apps/web/components/SideNavigation: add "All Boards" nav item
  (keyboard shortcut G+A) using TbLayoutGrid icon
- apps/web/views/all-boards: new view with three columns, filter tabs
  (Today / This Week / All), due-date badges, links to source boards
- apps/web/pages/all-boards: page wrapper using getDashboardLayout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces the static TbLayoutGrid react-icon with a custom Lottie
animation (all-boards-light.json / all-boards-dark.json) — a 2×2
grid of rounded cards that pop in with a staggered spring animation
on hover, matching the style of Boards, Members, Templates and
Settings nav icons.

Also includes refined D&D support and board-meta tracking in the
All Boards view and aggregated query.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants