From fa1a6aa1175bb8b1c5e95bac13b1df8e6e0a1111 Mon Sep 17 00:00:00 2001 From: EENE Dashboard Date: Fri, 5 Jun 2026 23:15:00 +0900 Subject: [PATCH] fix: sync work content with selected milestone stage Co-authored-by: Cursor --- frontend/src/pages/DetailPage.tsx | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/frontend/src/pages/DetailPage.tsx b/frontend/src/pages/DetailPage.tsx index 7d237b0..881a230 100644 --- a/frontend/src/pages/DetailPage.tsx +++ b/frontend/src/pages/DetailPage.tsx @@ -243,9 +243,10 @@ function DetailView({ task }: { task: TaskWithRelations }) { const selected = sortedStages.find((m) => m.id === selectedId) ?? sortedStages[0] ?? null; const stageContents = useMemo(() => { - if (!selected?.description) return []; - return parseContentLines(selected.description); - }, [selected]); + const stage = sortedStages.find((m) => m.id === selectedId); + if (!stage?.description) return []; + return parseContentLines(stage.description); + }, [sortedStages, selectedId]); const stageDetails = useMemo( () => (selectedId ? details.filter((d) => d.milestoneId === selectedId) : []), @@ -314,6 +315,7 @@ function DetailView({ task }: { task: TaskWithRelations }) { payload, ); milestoneId = updated.id; + setSelectedId(updated.id); } else { return; } @@ -432,6 +434,7 @@ function DetailView({ task }: { task: TaskWithRelations }) { onClick={() => setSelectedId(stage.id)} onContextMenu={(e) => { e.preventDefault(); + setSelectedId(stage.id); setCtxMenu({ x: e.clientX, y: e.clientY, stageId: stage.id }); }} className={`shrink-0 rounded-lg border px-3 py-2 text-left transition-colors ${ @@ -462,7 +465,7 @@ function DetailView({ task }: { task: TaskWithRelations }) { - 업무내용 + 업무내용
    { @@ -476,9 +479,9 @@ function DetailView({ task }: { task: TaskWithRelations }) { {selected ? '우클릭으로 업무내용을 수정하세요.' : '단계를 선택하세요.'} ) : ( - stageContents.map((text) => ( + stageContents.map((text, index) => (
  • { if (!selected) return; @@ -488,7 +491,7 @@ function DetailView({ task }: { task: TaskWithRelations }) { }} > -

    {text}

    +

    {text}

  • )) )} @@ -634,7 +637,10 @@ function DetailView({ task }: { task: TaskWithRelations }) { icon: '✏️', onClick: () => { const ms = milestones.find((m) => m.id === ctxMenu.stageId); - if (ms) setStageModal({ mode: 'edit', milestone: ms }); + if (ms) { + setSelectedId(ms.id); + setStageModal({ mode: 'edit', milestone: ms }); + } }, }, {