feat(web): add projects page with CRUD operations #477

Merged
jason.woltje merged 1 commits from feat/projects-page into main 2026-02-23 04:13:27 +00:00

1 Commits

Author SHA1 Message Date
8542242845 feat(web): add projects page with CRUD operations
Some checks failed
ci/woodpecker/push/web Pipeline failed
Wire up /projects route with a card-based project list, create dialog,
and delete confirmation. Adds projects API client with full CRUD using
the existing apiGet/apiPost/apiPatch/apiDelete helpers.

- Projects API client with typed DTOs matching backend schema
- Card grid layout (2-col md+, 1-col mobile) with hover states
- Create project dialog with name/description fields
- Delete confirmation dialog with danger styling
- Loading (MosaicSpinner), empty, and error states
- Status badges for PLANNING/ACTIVE/PAUSED/COMPLETED/ARCHIVED
- All design tokens from globals.css, no hardcoded colors

Refs #468
2026-02-22 22:12:38 -06:00