From f471ce245a74436ce053f89761ae14d70148efef Mon Sep 17 00:00:00 2001 From: SeongHyun Kim Date: Thu, 26 Mar 2026 17:39:42 +0900 Subject: [PATCH] =?UTF-8?q?feat(pop-work-detail):=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=99=84=EB=A3=8C=20=ED=9B=84=20=EB=8B=A4=EC=9D=8C=20=EA=B7=B8?= =?UTF-8?q?=EB=A3=B9=20=EC=9E=90=EB=8F=99=20=EC=9D=B4=EB=8F=99=20+=20?= =?UTF-8?q?=EC=82=AC=EC=9D=B4=EB=93=9C=EB=B0=94=20=EC=88=AB=EC=9E=90=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=20=EB=B3=80=EA=B2=BD=20-=20GroupCompleteButt?= =?UTF-8?q?on=20onComplete:=20=EA=B7=B8=EB=A3=B9=20=EC=99=84=EB=A3=8C=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=ED=9B=84=20=EB=8B=A4=EC=9D=8C=20=EA=B7=B8?= =?UTF-8?q?=EB=A3=B9(=EA=B0=99=EC=9D=80=20phase=20=EB=98=90=EB=8A=94=20?= =?UTF-8?q?=EB=8B=A4=EC=9D=8C=20phase)=EC=9C=BC=EB=A1=9C=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EC=9D=B4=EB=8F=99=20-=20=EC=82=AC=EC=9D=B4?= =?UTF-8?q?=EB=93=9C=EB=B0=94=20phase=20=EB=9D=BC=EB=B2=A8=20=EC=98=86=20?= =?UTF-8?q?=EC=88=AB=EC=9E=90:=20=EC=99=84=EB=A3=8C/=EC=A0=84=EC=B2=B4=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=88=98=20?= =?UTF-8?q?=E2=86=92=20=EA=B7=B8=EB=A3=B9=20=EA=B0=9C=EC=88=98=20(n)=20?= =?UTF-8?q?=ED=98=95=ED=83=9C=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9D=B4=EB=93=9C=EB=B0=94=20=EA=B0=81=20=EA=B7=B8?= =?UTF-8?q?=EB=A3=B9=20=ED=95=AD=EB=AA=A9=20=EC=98=86=EC=97=90=20=ED=95=B4?= =?UTF-8?q?=EB=8B=B9=20=EA=B7=B8=EB=A3=B9=EC=9D=98=20=EC=B2=B4=ED=81=AC?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=99=84=EB=A3=8C/=EC=A0=84?= =?UTF-8?q?=EC=B2=B4=20=EC=88=98=20=ED=91=9C=EC=8B=9C=20(g.completed/g.tot?= =?UTF-8?q?al)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PopWorkDetailComponent.tsx | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx b/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx index b34a617c..350d1c26 100644 --- a/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx +++ b/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx @@ -961,7 +961,7 @@ export function PopWorkDetailComponent({ )} style={{ fontSize: 13 }} > - {progress?.done ?? 0}/{progress?.total ?? 0} + ({phaseGrps.length}) @@ -988,7 +988,7 @@ export function PopWorkDetailComponent({ {g.title} + {g.total > 0 && ( + + {g.completed}/{g.total} + + )} ); })} @@ -1246,7 +1259,17 @@ export function PopWorkDetailComponent({ group={selectedGroup} currentItems={currentItems} isGroupStarted={isGroupStarted} - onComplete={() => handleGroupTimerAction("complete")} + onComplete={async () => { + await handleGroupTimerAction("complete"); + // 완료 후 다음 그룹으로 자동 이동 + const idx = groups.findIndex((g) => g.itemId === selectedGroupId); + if (idx >= 0 && idx < groups.length - 1) { + const nextGroup = groups[idx + 1]; + setSelectedGroupId(nextGroup.itemId); + setActivePhaseTab(nextGroup.phase); + contentRef.current?.scrollTo({ top: 0, behavior: "smooth" }); + } + }} onNavigateNext={() => { // 필수 미완료 시 넘어가지 않음 const requiredItems = currentItems.filter((r) => r.is_required === "Y");