Commit Graph

61 Commits

Author SHA1 Message Date
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
a65429250a feat: wire meeting/support detail routes and fix code-first navigation
- Add routes for /meetings/:meetingId and /supports/:supportId in App.tsx
- Fix MilestoneDetailPage to navigate to code-first detail URLs
- Update table headers from '#' to 'Code' for supports/meetings lists
- Fix TypeScript types for supports/meetings (use any[] instead of Task[])
- MeetingDetailPage: full detail view with attend, transition, edit, delete
- SupportDetailPage: full detail view with take, transition, edit, delete
2026-03-22 00:17:33 +00:00
zhi
41ebd36218 feat: code-first navigation — use resource codes in links and displays
- DashboardPage: show task_code instead of #id, link via code
- TasksPage: navigate to tasks via task_code
- MilestoneDetailPage: navigate to tasks/supports/meetings via codes
- MilestoneDetailPage: display codes in support/meeting tables
- Fix support/meeting state types to any[] for code property access
2026-03-21 21:38:14 +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
dc97764e43 Surface canonical codes in list views 2026-03-21 16:06:41 +00:00
zhi
fd28bb6b6f feat(users): use role dropdowns instead of admin checkboxes 2026-03-21 08:44:19 +00:00
zhi
50563f2b3d feat(users): add admin user management page 2026-03-20 10:56:00 +00:00
zhi
caad6be048 feat(monitor): show nginx telemetry in monitor cards 2026-03-20 10:03:56 +00:00
zhi
bad1c8fca9 feat(monitor): add API key actions and remove challenge UI
- Add Generate API Key button
- Add Revoke API Key button
- Remove Generate Challenge entry
- Show plugin version in monitor cards
2026-03-20 07:42:43 +00:00
zhi
d399668932 feat(P7.1-P7.2): remove task_type='task' from frontend — type union, create forms, defaults changed to issue 2026-03-17 16:05:32 +00:00
zhi
208538f930 feat(propose): P10.7 edit modal for open proposes — title+description editable, hidden for accepted/rejected 2026-03-17 14:05:31 +00:00
zhi
2897172213 feat(P9.6): remove feature and release subtypes from general create task forms 2026-03-17 13:02:47 +00:00
zhi
638427db65 feat(P5.7/P9.3): task edit button visibility — status+assignee-aware guard, hide edit in non-editable states 2026-03-17 12:04:12 +00:00
zhi
d6a45c3e17 feat(P5.3+P5.4): pass completion comment in transition body, remove separate comment API call for finish/close 2026-03-17 11:02:19 +00:00
zhi
faf7842cba feat(P8.3): freeze/start buttons disabled with hints when pre-conditions unmet 2026-03-17 10:04:17 +00:00
zhi
a4b4ffcb88 feat(P3.6): hide Edit Milestone button in freeze/undergoing/terminal states, show locked notice 2026-03-17 09:01:40 +00:00
zhi
e6b91e9558 P9.2+P9.4: Task action buttons (open/start/finish/close/reopen) with finish-comment modal and close-reason modal 2026-03-17 07:07:04 +00:00
zhi
18703d98f8 feat(P8.1-P8.2): milestone status action buttons + badge styles + started_at display
- Add freeze/start/close action buttons on MilestoneDetailPage
- Freeze: visible in open status, calls POST .../actions/freeze
- Start: visible in freeze status, calls POST .../actions/start
- Close: visible in open/freeze/undergoing, with reason input + confirmation
- Display started_at in milestone meta when present
- Hide edit button and create-item buttons in terminal states
- Add CSS badge styles for freeze (purple), undergoing (amber), completed (green)
- All actions show loading state and error feedback
2026-03-17 06:05:09 +00:00
zhi
35e7d3a141 feat(P10): add Propose type, list page, detail page with accept/reject/reopen + sidebar link 2026-03-17 05:03:49 +00:00
zhi
e60763b128 feat: update frontend type definitions and status enums to match new backend
- types/index.ts: Task status 'progressing' → 'undergoing' + 'completed'; Milestone status updated to open/freeze/undergoing/completed/closed + started_at field
- MilestoneFormModal: dropdown options updated
- MilestoneDetailPage: isProgressing → isUndergoing, badge class simplified
- MilestonesPage: badge class simplified
- TaskDetailPage: status transition map updated for new state machine
2026-03-17 01:04:51 +00:00
zhi
7587554fd8 feat: unify project milestone and task editing with modals 2026-03-16 18:13:54 +00:00
zhi
ef42231697 feat: unify task creation with shared modal 2026-03-16 16:32:09 +00:00
zhi
0c5c78a45d fix: align task pages with backend task api 2026-03-16 13:22:19 +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
1d74917899 fix: use backend:8000 for container network in wizard default 2026-03-15 13:36:27 +00:00
800a618aaa feat: add role editor page with create/delete functionality
- Add RoleEditorPage with role management
- Add Create New Role button (admin only)
- Add Delete Role button (admin only, admin role protected)
- Fix useAuth import in RoleEditorPage
2026-03-15 12:26:04 +00:00
Zhi
7e06f9b28b Remove project step, keep only backend URL 2026-03-14 07:33:43 +00:00
Zhi
35c39720b6 fix: disable NewMilestones button when no project selected 2026-03-12 23:36:51 +00:00
Zhi
fb73c017c2 fix: set activeTab when creating support/meeting, fix task navigation 2026-03-12 23:26:12 +00:00
Zhi
75802ba4dd feat: use tasks/supports/meetings endpoints instead of issues 2026-03-12 22:09:45 +00:00
Zhi
0f525effb8 feat: add task fields UI support 2026-03-12 21:54:23 +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
eb6de37261 fix: display owner_name in project cards 2026-03-12 12:33:49 +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
f6460e2d70 feat: add Role Editor page 2026-03-12 11:45:30 +00:00
Zhi
bfaf9469e1 fix: project form - owner dropdown, sub/related projects multi-select 2026-03-12 10:52:54 +00:00
zhi
7099e5cf77 feat: remove issues/milestones from nav, show project code 2026-03-12 09:25:35 +00:00
zhi
5b37daed9b feat: add task type hierarchy with subtypes in UI 2026-03-11 23:59:12 +00:00
zhi
3d83eeb273 ui: remove provider monitoring section 2026-03-11 22:11:08 +00:00
zhi
0ab1d2f380 i18n: translate frontend UI strings to English 2026-03-11 21:19:54 +00:00
zhi
34ab80e50d style: align monitor page with dashboard look and add monitor styles 2026-03-11 17:49:44 +00:00