multica/apps/web
LinYushen ec934f3a8b
fix(web): add load-more pagination for Done column on issue board (#492)
* fix(web): add load-more pagination for Done column on issue board

The Done column was capped at 50 issues with no way to load more.
Track doneTotal in the TQ cache and add a useLoadMoreDoneIssues hook
that fetches the next page and merges it into the unified issue cache.
The Done column now shows a "Load more" button when there are
additional items.

- shared/types/api.ts: add doneTotal to ListIssuesResponse
- core/issues/queries.ts: store doneTotal from the done-status response
- core/issues/mutations.ts: add useLoadMoreDoneIssues hook, update
  create/delete mutations to maintain doneTotal
- core/issues/ws-updaters.ts: maintain doneTotal on WS events
- features/issues/components/board-column.tsx: accept optional footer
- features/issues/components/board-view.tsx: render Load more button
  in Done column

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(web): address review issues in done-column load-more

1. Fix total over-counting: loadMore no longer inflates total since
   the initial query already includes all done issues in total count.
2. Fix onIssueUpdated: maintain doneTotal when issue status changes
   to/from done via WS events.
3. Make doneTotal optional in ListIssuesResponse since it's a
   frontend-only field not returned by the backend API. All reads
   now use ?? 0 fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 14:58:51 +08:00
..
app test(issues): add ReadonlyContent mock to issue detail tests 2026-04-08 13:55:25 +08:00
components feat(core): migrate workspace + runtimes to TanStack Query (Phase 3+4) 2026-04-07 17:19:52 +08:00
core fix(web): add load-more pagination for Done column on issue board (#492) 2026-04-08 14:58:51 +08:00
features fix(web): add load-more pagination for Done column on issue board (#492) 2026-04-08 14:58:51 +08:00
hooks fix(upload): harden upload flow — sanitize filenames, refresh CF cookies, deduplicate handlers 2026-03-31 15:52:40 +08:00
lib refactor(web): self-contained shadcn UI with base-nova style and design tokens 2026-03-24 18:19:26 +08:00
public feat(web): add about, changelog pages and fix landing header for light backgrounds 2026-04-01 05:16:24 +08:00
shared fix(web): add load-more pagination for Done column on issue board (#492) 2026-04-08 14:58:51 +08:00
test Merge remote-tracking branch 'origin/main' into feat/tanstack-query-migration 2026-04-08 10:35:28 +08:00
components.json chore(ui): switch shadcn menuColor from inverted-translucent to default 2026-03-31 11:01:54 +08:00
next-env.d.ts chore(web): update next-env.d.ts routes path 2026-04-01 05:51:28 +08:00
next.config.ts feat: wire allowedDevOrigins from CORS_ALLOWED_ORIGINS for non-localhost dev access (#355) 2026-04-08 14:39:01 +08:00
package.json feat(web): add TanStack Query infrastructure (Phase 0) 2026-04-07 14:43:51 +08:00
postcss.config.mjs refactor(web): self-contained shadcn UI with base-nova style and design tokens 2026-03-24 18:19:26 +08:00
proxy.ts feat(web): redirect logged-in users from / to /issues via server-side proxy 2026-04-01 18:20:57 +08:00
tsconfig.json feat(web): add TanStack Query infrastructure (Phase 0) 2026-04-07 14:43:51 +08:00
vitest.config.ts feat(web): add TanStack Query infrastructure (Phase 0) 2026-04-07 14:43:51 +08:00