Jiayuan Zhang
f508190065
feat(modals): persist drafts for create-project and feedback modals ( #1894 )
...
Add Zustand persisted draft stores for the create-project and feedback
modals, following the same pattern as the existing issue draft store.
Drafts are saved to localStorage on every field change and restored
when the modal reopens, preventing accidental data loss on close.
Draft is cleared on successful submit.
2026-04-29 17:58:19 +02:00
Bohan Jiang
68e2a14ba2
feat(projects): add Project entity with full-stack CRUD support ( #552 )
...
Implements the Project concept as a higher-level grouping for issues.
Hierarchy: workspace → project → issue → sub-issue.
Backend:
- Migration 034: project table + issue.project_id FK
- sqlc queries for project CRUD
- Project handler with list/get/create/update/delete
- Issue handler updated to support project_id in create/update
- Routes at /api/projects, WebSocket event constants
Frontend (new monorepo structure):
- @multica/core: Project types, API client methods, queries/mutations,
status config, realtime sync
- @multica/views: Projects list page, detail page (overview + issues
tabs), project picker for issue detail panel
- apps/web: Route pages, sidebar navigation entry
All TypeScript type checks and tests pass.
2026-04-09 14:59:16 +08:00