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
This commit is contained in:
@@ -96,7 +96,7 @@ export default function MilestoneDetailPage() {
|
||||
currentMemberRole === 'admin'
|
||||
))
|
||||
|
||||
const isProgressing = milestone?.status === 'progressing'
|
||||
const isUndergoing = milestone?.status === 'undergoing'
|
||||
|
||||
if (!milestone) return <div className="loading">Loading...</div>
|
||||
|
||||
@@ -117,7 +117,7 @@ export default function MilestoneDetailPage() {
|
||||
<div className="task-header">
|
||||
<h2>🏁 {milestone.title}</h2>
|
||||
<div className="task-meta">
|
||||
<span className={`badge status-${milestone.status === 'progressing' ? 'in_progress' : milestone.status}`}>{milestone.status}</span>
|
||||
<span className={`badge status-${milestone.status}`}>{milestone.status}</span>
|
||||
{milestone.due_date && <span className="text-dim">Due {dayjs(milestone.due_date).format('YYYY-MM-DD')}</span>}
|
||||
{milestone.planned_release_date && <span className="text-dim">Planned Release: {dayjs(milestone.planned_release_date).format('YYYY-MM-DD')}</span>}
|
||||
</div>
|
||||
@@ -154,14 +154,14 @@ export default function MilestoneDetailPage() {
|
||||
|
||||
<div className="section">
|
||||
<div style={{ display: 'flex', gap: 8, marginBottom: 16 }}>
|
||||
{!isProgressing && canEditMilestone && (
|
||||
{!isUndergoing && canEditMilestone && (
|
||||
<>
|
||||
<button className="btn-primary" onClick={() => { setActiveTab('tasks'); setShowCreateTask(true) }}>+ Create Task</button>
|
||||
<button className="btn-primary" onClick={() => { setActiveTab('supports'); setShowCreateSupport(true) }}>+ Create Support</button>
|
||||
<button className="btn-primary" onClick={() => { setActiveTab('meetings'); setShowCreateMeeting(true) }}>+ Schedule Meeting</button>
|
||||
</>
|
||||
)}
|
||||
{isProgressing && <span className="text-dim">Milestone is in progress - cannot add new items</span>}
|
||||
{isUndergoing && <span className="text-dim">Milestone is undergoing - cannot add new items</span>}
|
||||
</div>
|
||||
|
||||
<MilestoneFormModal
|
||||
|
||||
Reference in New Issue
Block a user