fix: 업로드 시작 번호를 타입별로 분리 계산

- 컨셉 포토와 티저 각각 별도로 시작 번호 계산
- 타입 변경 시 해당 타입의 마지막 번호 +1로 자동 업데이트
- 업로드 후 수동 번호 증가 제거 (useEffect에서 자동 처리)
This commit is contained in:
caadiq 2026-01-04 11:20:46 +09:00
parent a5eba6535f
commit 1c42d3333c

View file

@ -194,15 +194,17 @@ function AdminAlbumPhotos() {
setTeasers(teasersData);
}
// ( + 1)
// ( + 1)
// ,
const maxPhotoOrder = photosData.length > 0
? Math.max(...photosData.map(p => p.sort_order || 0))
: 0;
const maxTeaserOrder = teasersData.length > 0
? Math.max(...teasersData.map(t => t.sort_order || 0))
: 0;
const nextStartNumber = Math.max(maxPhotoOrder, maxTeaserOrder) + 1;
setStartNumber(nextStartNumber);
//
setStartNumber(maxPhotoOrder + 1);
setLoading(false);
} catch (error) {
@ -212,6 +214,21 @@ function AdminAlbumPhotos() {
}
};
//
useEffect(() => {
if (photoType === 'concept') {
const maxOrder = photos.length > 0
? Math.max(...photos.map(p => p.sort_order || 0))
: 0;
setStartNumber(maxOrder + 1);
} else if (photoType === 'teaser') {
const maxOrder = teasers.length > 0
? Math.max(...teasers.map(t => t.sort_order || 0))
: 0;
setStartNumber(maxOrder + 1);
}
}, [photoType, photos, teasers]);
const handleLogout = () => {
localStorage.removeItem('adminToken');
localStorage.removeItem('adminUser');
@ -463,10 +480,7 @@ function AdminAlbumPhotos() {
if (result) {
setToast({ message: result.message, type: 'success' });
// + 1
const nextStartNumber = startNumber + pendingFiles.length;
setStartNumber(nextStartNumber);
// fetchAlbumData useEffect
}
// URL