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