diff --git a/src/pages/Dashboard/GenerationFlow.tsx b/src/pages/Dashboard/GenerationFlow.tsx index 4bb72a4..f39633c 100755 --- a/src/pages/Dashboard/GenerationFlow.tsx +++ b/src/pages/Dashboard/GenerationFlow.tsx @@ -1,5 +1,5 @@ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import Sidebar from '../../components/Sidebar'; import AssetManagementContent from './AssetManagementContent'; @@ -148,13 +148,18 @@ const GenerationFlow: React.FC = ({ }; const [imageList, setImageList] = useState(getInitialImageList()); + const prevAnalysisMIdRef = useRef(analysisData?.m_id); - // analysisData 변경 시 imageList 업데이트 + // analysisData 변경 시 m_id가 바뀐 경우(새로운 분석)에만 imageList 업데이트 + // m_id가 동일하면 언어 변경 등 기타 업데이트이므로 사용자가 수정한 이미지 목록 유지 useEffect(() => { console.log('[GenerationFlow] analysisData updated, m_id:', analysisData?.m_id); if (analysisData?.image_list && analysisData.image_list.length > 0) { - setImageList(analysisData.image_list.map(url => ({ type: 'url', url }))); + if (prevAnalysisMIdRef.current !== analysisData.m_id) { + setImageList(analysisData.image_list.map(url => ({ type: 'url', url }))); + } } + prevAnalysisMIdRef.current = analysisData?.m_id; }, [analysisData]); const handleRemoveImage = (index: number) => {