Commit Graph

19 Commits

Author SHA1 Message Date
8208b3b27b feat: switch frontend indexing to code-first identifiers 2026-04-03 16:25:11 +00:00
zhi
5fccc7dc7d Fix: milestone routes use milestone_code, config check via backend
- Milestone navigation now uses milestone_code instead of numeric id
- MilestoneDetailPage uses milestone.id (numeric) for project-scoped API calls
- App.tsx checks /config/status on backend first, falls back to wizard
- Added milestone_code to Milestone type
- Fixed MilestoneDetailPage to use fetched milestone.id for sub-queries
2026-03-22 10:58:14 +00:00
zhi
ce07ee9021 Fix project detail milestones fetch + reset-apikey UI
- Fix: ProjectDetailPage now uses /projects/{id}/milestones instead of /milestones?project_id={code} (fixes 422)
- Add: Reset API Key button on UsersPage with permission-based visibility
- Add: One-time key display with copy-to-clipboard
- Protect admin and acc-mgr accounts from deletion in UI
2026-03-22 05:39:12 +00:00
zhi
4fc120f595 feat: add click-to-copy CopyableCode component across all detail pages
- New CopyableCode component with monospace styling and click-to-copy
- TaskDetailPage: copyable task code in header
- ProjectDetailPage: copyable project code in header
- MilestoneDetailPage: copyable milestone code in header
- MeetingDetailPage: copyable meeting code in header
- SupportDetailPage: copyable support code in header
- ProposeDetailPage: copyable propose code in header and info section

Helps users easily copy resource codes for CLI usage (hf task get <code>, etc)
2026-03-22 00:22:28 +00:00
zhi
fb5658739b feat: code-first migration — replace raw IDs with codes and usernames
- TaskDetailPage: show task_code instead of raw #id in header
- TaskDetailPage: show author_username in comment metadata
- ProjectDetailPage: show member username instead of User #id
- ProposeDetailPage: show created_by_username instead of User #id
- TasksPage: fix status filter options to match actual statuses
  (pending/open/undergoing/completed/closed)
- TasksPage: fix status color map for correct status values
- Types: add username/full_name to ProjectMember, author_username
  to Comment, created_by_username to Propose
- Supports TODO §3.1 (code-first UI migration)
2026-03-21 20:28:35 +00:00
zhi
7587554fd8 feat: unify project milestone and task editing with modals 2026-03-16 18:13:54 +00:00
zhi
01affdb020 refactor: rename Issue → Task throughout frontend
- Rename files: IssuesPage → TasksPage, IssueDetailPage → TaskDetailPage,
  CreateIssuePage → CreateTaskPage
- Rename TypeScript interface: Issue → Task (keep backend field names)
- Update routes: /issues → /tasks, /issues/new → /tasks/new, /issues/:id → /tasks/:id
- Update CSS class names: issue-* → task-*, create-issue → create-task
- Update UI text: 'Issues' → 'Tasks', 'Create Issue' → 'Create Task'
- Keep 'issue' as a task subtype value in TASK_TYPES dropdown
- Keep all backend API endpoint paths unchanged (/issues, /comments, etc.)
- Rename local Task interface in MilestoneDetailPage to MilestoneTask
  to avoid conflict with the global Task type
2026-03-16 07:47:58 +00:00
Zhi
3055be860d feat: milestone enhancements - tabs, task/support/meeting types, progress, status 2026-03-12 14:25:44 +00:00
Zhi
00d824c71c feat: add repo field display and editing in project detail 2026-03-12 13:51:44 +00:00
Zhi
5e8d4ada0a fix: double confirm for project deletion 2026-03-12 12:55:16 +00:00
Zhi
dceb836385 fix: prevent deleting project owner 2026-03-12 12:47:17 +00:00
Zhi
efd1e53f14 fix: owner dropdown in edit form 2026-03-12 12:43:06 +00:00
Zhi
b9c9d39d7d fix: display owner_name in project detail 2026-03-12 12:36:36 +00:00
Zhi
3ee1c9bc10 feat: add remove member button 2026-03-12 12:13:28 +00:00
Zhi
98ba64e35c feat: add repo field to Project 2026-03-12 12:06:46 +00:00
Zhi
529ceafde4 feat: add Add Member and New Milestone buttons in ProjectDetail 2026-03-12 11:54:41 +00:00
Zhi
bfaf9469e1 fix: project form - owner dropdown, sub/related projects multi-select 2026-03-12 10:52:54 +00:00
zhi
0ab1d2f380 i18n: translate frontend UI strings to English 2026-03-11 21:19:54 +00:00
zhi
54d4c4379a feat: remove nginx, add projects/milestones/notifications pages
- Dockerfile: replace nginx with serve for static files
- Fix auth endpoint: /auth/login → /auth/token
- Add ProjectsPage, ProjectDetailPage
- Add MilestonesPage, MilestoneDetailPage with progress bar
- Add NotificationsPage with unread count
- Sidebar: add milestones/notifications nav, live unread badge
- API: configurable VITE_API_BASE for host nginx proxy
- Types: add Milestone, MilestoneProgress, Notification, ProjectMember
2026-03-06 13:05:19 +00:00