[리뷰 팝업 노출 관련 수정]

- 리뷰 팝업 노출시 인디케이터로 이동후 포커스 벗어나면 초기화되는부분이 있어 이부분에 대한 수정.
This commit is contained in:
junghoon86.park
2025-12-09 09:34:07 +09:00
parent 80c593e6f0
commit c0223176f2
2 changed files with 13 additions and 24 deletions

View File

@@ -38,10 +38,6 @@ export default function UserReviewDetail({
} }
}, [onNext, currentIndex, totalReviews]); }, [onNext, currentIndex, totalReviews]);
useEffect(() => {
console.log("####currentIndex", currentIndex);
}, [currentIndex]);
// 리뷰 데이터가 없을 때 처리 // 리뷰 데이터가 없을 때 처리
if (!currentReview) { if (!currentReview) {
return ( return (

View File

@@ -105,36 +105,29 @@ export default function UserReviewsPopup({
// All-Images 및 User-Reviews 모드를 위한 상태 // All-Images 및 User-Reviews 모드를 위한 상태
const [currentReviewIndex, setCurrentReviewIndex] = useState(0); const [currentReviewIndex, setCurrentReviewIndex] = useState(0);
// 모드별 리뷰 인덱스 초기화 // 모드 변경 시 초기화
// ✅ selectedImageIndex 변경 감지 추가: 클릭한 리뷰가 팝업에 표시되도록
useEffect(() => { useEffect(() => {
console.log('[UserReviewsPopup] Mode or selectedImageIndex changed:', { console.log('[UserReviewsPopup] Mode or selectedImageIndex changed:', {
mode, mode,
selectedImageIndex, selectedImageIndex,
allReviewsLength: allReviews?.length || 0, allReviewsLength: allReviews?.length || 0,
}); });
if (mode === "all-images" && selectedImageIndex !== undefined) {
if (mode === "all-images" && images && images[selectedImageIndex]) { const selectedImage = images?.[selectedImageIndex];
const selectedImage = images[selectedImageIndex]; if (selectedImage) {
const reviewIndex = reviewsWithImages.findIndex( const reviewIndex = reviewsWithImages.findIndex(
(review) => review.rvwId === selectedImage.reviewId (review) => review.rvwId === selectedImage.reviewId
); );
if (reviewIndex !== -1) { if (reviewIndex !== -1) {
console.log('[UserReviewsPopup] all-images mode - found review index:', reviewIndex); console.log('[UserReviewsPopup] all-images mode - found review index:', reviewIndex);
setCurrentReviewIndex(reviewIndex); setCurrentReviewIndex(reviewIndex);
}
} }
} else if (mode === "user-reviews") { } else if (mode === "user-reviews" && selectedImageIndex !== undefined) {
// User-Reviews 모드: selectedImageIndex를 그대로 사용
console.log('[UserReviewsPopup] user-reviews mode - setting index to:', selectedImageIndex); console.log('[UserReviewsPopup] user-reviews mode - setting index to:', selectedImageIndex);
setCurrentReviewIndex(selectedImageIndex); setCurrentReviewIndex(selectedImageIndex);
} }
}, [ }, [mode, selectedImageIndex]); // selectedImageIndex는 명시적 변경 시만
mode,
selectedImageIndex, // ✅ 추가: 선택된 이미지 인덱스 변경 감지
images, // ✅ 추가: 이미지 데이터 변경 감지
reviewsWithImages, // ✅ 추가: 이미지 있는 리뷰 변경 감지
allReviews, // ✅ 추가: allReviews 변경 감지
]);
// 리뷰 네비게이션 핸들러 (All-Images 및 User-Reviews 모드) // 리뷰 네비게이션 핸들러 (All-Images 및 User-Reviews 모드)
const handlePreviousReview = useCallback(() => { const handlePreviousReview = useCallback(() => {