Skip to content

Commit cc06cb5

Browse files
authored
Merge pull request #119 from DMU-DebugVisual/inseong
Modal 최종 스텝에서 시작시 초기화
2 parents ca4d125 + f80db25 commit cc06cb5

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/components/ide/VisualizationModal.jsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// VisualizationModal.jsx - AnimationFactory 감지 로직 활용 버전
2-
import React, { useState, useEffect, useCallback, useRef } from 'react';
2+
import React, { useState, useEffect, useCallback } from 'react';
33
import ReactDOM from 'react-dom';
44
import AnimationFactory from './AnimationFactory';
55
import { ApiService } from './services/ApiService';
@@ -28,7 +28,18 @@ const useAnimationControls = (totalSteps) => {
2828
const [currentStep, setCurrentStep] = useState(0);
2929
const [speed, setSpeed] = useState(1);
3030

31-
const play = useCallback(() => setIsPlaying(true), []);
31+
const play = useCallback(() => {
32+
if (totalSteps === 0) return;
33+
34+
setCurrentStep(prev => {
35+
if (prev >= totalSteps - 1) {
36+
return 0;
37+
}
38+
return prev;
39+
});
40+
41+
setIsPlaying(true);
42+
}, [totalSteps]);
3243
const pause = useCallback(() => setIsPlaying(false), []);
3344
const stepBack = useCallback(() => setCurrentStep(prev => Math.max(0, prev - 1)), []);
3445
const stepForward = useCallback(() => setCurrentStep(prev => Math.min(totalSteps - 1, prev + 1)), [totalSteps]);

0 commit comments

Comments
 (0)