You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Shrinks the ListPage god-component (#428) by moving two self-contained,
business-free chunks into their proper packages (#303), so each is
individually unit-tested and reusable and the page is a thinner
composition layer.
- @dar/ui `Pagination` — generic prev/next pager (page/totalPages/onChange
+ optional className). Lives in @dar/ui per CLAUDE.md §7 (generic, no
business knowledge), alongside `Table`.
- @dar/list `ListSkeleton` — the list page's first-paint placeholder
(title + count, toolbar, card of rows). Now takes optional `rows` /
`columns` counts; defaults match the prior inline layout.
- ListPage imports both back; drops the local definitions and the now-
unused `Skeleton` import. No behaviour change.
Tests: @dar/ui Pagination (5: page display, edge-disable both ends, click
→ neighbour, no-op on disabled edge) + @dar/list ListSkeleton (3: busy +
status role, shimmer present, honours row/column counts). Full vitest 132
passed; typecheck + eslint + stylelint + dark-mode guard clean; build ok.
Advances #428 and #303.
Co-authored-by: Martin Castro Laminrs <mcastro@laminr.ai>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments