diff --git a/frontend/src/pages/DetailPage.tsx b/frontend/src/pages/DetailPage.tsx index 299f65b..7d237b0 100644 --- a/frontend/src/pages/DetailPage.tsx +++ b/frontend/src/pages/DetailPage.tsx @@ -508,54 +508,25 @@ function DetailView({ task }: { task: TaskWithRelations }) { + -
{ - if (!selectedId) return; - e.preventDefault(); - setFeedbackCtx({ x: e.clientX, y: e.clientY }); - }} - > +
{sortedFeedbacks.length === 0 ? ( -

+ 버튼 또는 빈 곳 우클릭으로 피드백을 추가하세요.

+

+ 버튼으로 피드백을 추가하세요.

) : (
{sortedFeedbacks.map((f) => (
{ e.preventDefault(); e.stopPropagation(); setFeedbackCtx({ x: e.clientX, y: e.clientY, detailId: f.id }); }} > -

+

{f.content} — {feedbackAuthorName(f)}

-
- - -
))}
@@ -659,7 +630,7 @@ function DetailView({ task }: { task: TaskWithRelations }) { onClose={() => setCtxMenu(null)} items={[ { - label: '단계 수정', + label: '수정', icon: '✏️', onClick: () => { const ms = milestones.find((m) => m.id === ctxMenu.stageId); @@ -667,7 +638,7 @@ function DetailView({ task }: { task: TaskWithRelations }) { }, }, { - label: '단계 삭제', + label: '삭제', icon: '🗑', danger: true, onClick: () => { @@ -696,41 +667,31 @@ function DetailView({ task }: { task: TaskWithRelations }) { /> )} - {feedbackCtx && ( + {feedbackCtx?.detailId && ( setFeedbackCtx(null)} - items={ - feedbackCtx.detailId - ? [ - { - label: '피드백 수정', - icon: '✏️', - onClick: () => { - const d = details.find((item) => item.id === feedbackCtx.detailId); - if (d) setFeedbackModal({ mode: 'edit', detail: d }); - }, - }, - { - label: '피드백 삭제', - icon: '🗑', - danger: true, - onClick: () => { - if (window.confirm('이 피드백을 삭제하시겠습니까?')) { - deleteFeedback.mutate(feedbackCtx.detailId!); - } - }, - }, - ] - : [ - { - label: '피드백 추가', - icon: '➕', - onClick: () => setFeedbackModal({ mode: 'add' }), - }, - ] - } + items={[ + { + label: '수정', + icon: '✏️', + onClick: () => { + const d = details.find((item) => item.id === feedbackCtx.detailId); + if (d) setFeedbackModal({ mode: 'edit', detail: d }); + }, + }, + { + label: '삭제', + icon: '🗑', + danger: true, + onClick: () => { + if (window.confirm('이 피드백을 삭제하시겠습니까?')) { + deleteFeedback.mutate(feedbackCtx.detailId!); + } + }, + }, + ]} /> )}