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");