14 file(s), +352 / -287 lines
| Path | Role | + | - |
|---|---|---|---|
| messages/en.json | Config | +0 | -1 |
| messages/hi.json | Config | +0 | -1 |
| src/components/matters/matters-demo-filters.ts | Component | +17 | -1 |
| src/components/matters/matters-demo-list-view-types.ts | Component | +20 | -0 |
| src/components/matters/matters-demo-list-view.stories.tsx | Component | +67 | -0 |
| src/components/matters/matters-demo-list-view.tsx | Component | +86 | -0 |
| src/components/matters/matters-demo-presentation.ts | Component | +42 | -0 |
| src/components/matters/matters-filter-row.tsx | Component | +0 | -59 |
| src/components/matters/matters-list-page.tsx | Component | +44 | -54 |
| src/components/matters/matters-live-filter-row.tsx | Component | +0 | -59 |
| src/components/matters/matters-query-filter-controls.tsx | Component | +0 | -91 |
| src/components/matters/matters-register.tsx | Component | +11 | -21 |
| src/components/matters/use-highlighted-matter-scroll.ts | Component | +19 | -0 |
| src/components/matters/use-matters-demo-url-state.ts | Component | +46 | -0 |
The demo-mode matters list now composes the same chrome as Clients and
Settings catalogs: SettingsPageHeader,
SettingsToolbar, SegmentedFilter,
SettingsSearch, table/register surface, and shared
Pagination. The live matters page was already on these
primitives; this closes the remaining demo-mode drift.
| Old file / behavior | Replacement |
|---|---|
matters-filter-row.tsx |
Deleted; status/search now live in shared toolbar slots. |
matters-query-filter-controls.tsx |
Deleted; search uses SettingsSearch. |
matters-live-filter-row.tsx |
Deleted as orphaned chrome. |
Matters.loadMore copy + button |
Removed; demo-mode list now uses numbered
Pagination.
|
MattersListPage stays an orchestrator: demo rows, URL
filters, highlight behavior, and the add-matter sheet. The rendered chrome
is in MattersDemoListView, with URL and presentation helpers
split into sibling modules so component files remain under the repo line
caps.
Added Matters/MattersDemoListView with Default and Empty
stories. The full page still owns MatterSheet, whose import
chain brings server-only correlation context into Storybook; the pure view
story is the deterministic visual catalog surface for this chrome.
| Check | Result |
|---|---|
pnpm typecheck |
Passed. |
pnpm lint |
Passed with four pre-existing unrelated warnings. |
pnpm test |
86 files / 496 tests passed. |
pnpm storybook:build |
Passed. |
NEXT_PUBLIC_ENV=local pnpm build |
Passed. |
| Storybook visual smoke |
Default + Empty MattersDemoListView stories rendered
through Playwright fallback. The in-app Browser endpoint was not
available in this workspace.
|
Numbered pagination against the live backend still requires the matter list contract to expose page/offset and total count. That backend-lane work is already split to pramaan-spec #1216, so this PR does not hand-edit generated API contracts.