fix: 아이콘 업로드 토스트 - 루프 내 카운트 추적 방식으로 수정
This commit is contained in:
parent
929e522860
commit
b3be6f3a61
1 changed files with 13 additions and 8 deletions
|
|
@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue