Commit Graph

6 Commits

Author SHA1 Message Date
848de4e309 fix CI SPA prerender build
Some checks failed
CI / Typecheck, test & build (push) Failing after 2m3s
CI / Deploy to Cloudflare Workers (push) Has been skipped
2026-08-31 01:22:01 +08:00
78c28ed1bd feat(resume): admin bulk resume import
Adds the dashboard surface for the backend's /api/admin/v1/resume/import-batches
endpoints, and the multipart support it needed.

Client:
- rawRequest passes a FormData body through untouched and skips Content-Type,
  so the browser sets multipart/form-data *with the boundary*. Setting it by
  hand stripped the boundary and the server saw an empty upload — verified
  against the backend: 202 with the fix, 422 VALIDATION_ERROR without it.
  This was the first admin endpoint in the codebase to accept a file.
- New api.upload(). fetch reports no upload progress, so upload UI stays
  indeterminate rather than faking a percentage.

UI (/resume/import-batches, gated on admin:resume:read; writes on :manage):
- Upload dialog with countryCode and dry-run checked by default — seeing the
  collision report before creating accounts is almost always what you want.
- Detail sheet polls every 2s and stops once the batch is terminal. Clickable
  count tiles filter the per-resume report; step statuses surface `命中缓存` /
  `复用结果` so the dedup is visible.
- Confirm a dry run, retry failed rows, and resolve a missing contact.
  IMPORT_IDENTITY_TAKEN is shown inline — a collision is expected input, not
  an error toast.
- progress.total is 0 until unpacking finishes, so both views render 准备中…
  rather than "0 / 0", which would read as an empty batch.

types.gen.ts regenerated from the backend's admin spec.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 23:21:15 +08:00
1a5489a361 feat(users): integrate user info and services APIs into 3-tab detail panel with proper padding 2026-08-12 00:35:59 +08:00
88039d9ebe fix(deploy): configure pnpm allowBuilds and add Cloudflare deployment setup 2026-08-10 22:37:41 +08:00
27fb6bbcd0 docs: project README (setup, scripts, architecture) 2026-07-07 22:48:36 +08:00
0ca06fa00b chore: scaffold TanStack Start project 2026-07-07 21:52:49 +08:00