fix: 아이콘 업로드 토스트 - 루프 내 카운트 추적 방식으로 수정

This commit is contained in:
caadiq 2025-12-26 20:23:04 +09:00
parent 929e522860
commit b3be6f3a61

View file

@ -366,6 +366,8 @@ export default function Admin({ isMobile = false }) {
if (filesToUpload.length === 0) return;
setIconUploading(true);
let successCount = 0;
let failCount = 0;
for (const fileObj of filesToUpload) {
// 'processing'
@ -394,29 +396,32 @@ export default function Admin({ isMobile = false }) {
result: `${result.uploaded}개 업로드, ${result.updated}개 DB 업데이트`
} : f)
);
successCount++;
} else {
const errorMsg = data.errors?.[0]?.error || data.error || '업로드 실패';
setPendingIconFiles(prev =>
prev.map(f => f.name === fileObj.name ? { ...f, status: 'error', error: errorMsg } : f)
);
failCount++;
}
} catch (error) {
setPendingIconFiles(prev =>
prev.map(f => f.name === fileObj.name ? { ...f, status: 'error', error: error.message } : f)
);
failCount++;
}
}
setIconUploading(false);
fetchIconMods();
//
const successCount = pendingIconFiles.filter(f => f.status === 'success').length;
const errorCount = pendingIconFiles.filter(f => f.status === 'error').length;
if (successCount > 0) {
setToast(`아이콘 업로드 완료: ${successCount}개 성공${errorCount > 0 ? `, ${errorCount}개 실패` : ''}`);
} else if (errorCount > 0) {
setToast(`아이콘 업로드 실패: ${errorCount}`, true);
// ( )
if (successCount > 0 && failCount === 0) {
setToast(`${successCount}개 아이콘 ZIP 업로드 완료!`);
} else if (successCount > 0 && failCount > 0) {
setToast(`완료: ${successCount}개 성공, ${failCount}개 실패`, true);
} else if (failCount > 0) {
setToast(`${failCount}개 아이콘 업로드 실패`, true);
}
};