fix: correct success/failure toast message for batch conversions

Fixed bug where conversion success toast was always showing "all conversions failed"
even when conversions succeeded. The issue was that the completion message was checking
the local jobs array (which still had status: 'pending') instead of tracking actual
conversion results.

Now using local successCount and failureCount variables that are incremented during
the conversion loop to accurately reflect conversion outcomes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-17 14:07:53 +01:00
parent 8110992aca
commit a7a46a8ebc

View File

@@ -99,6 +99,10 @@ export function FileConverter() {
setConversionJobs(jobs);
// Track success/failure counts
let successCount = 0;
let failureCount = 0;
// Convert files sequentially
for (let i = 0; i < jobs.length; i++) {
const job = jobs[i];
@@ -145,6 +149,8 @@ export function FileConverter() {
// Update job with result
if (result.success && result.blob) {
successCount++;
setConversionJobs((prev) =>
prev.map((j, idx) => idx === i ? {
...j,
@@ -165,6 +171,8 @@ export function FileConverter() {
result: result.blob,
});
} else {
failureCount++;
setConversionJobs((prev) =>
prev.map((j, idx) => idx === i ? {
...j,
@@ -175,6 +183,7 @@ export function FileConverter() {
);
}
} catch (error) {
failureCount++;
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
setConversionJobs((prev) =>
@@ -189,7 +198,6 @@ export function FileConverter() {
}
// Show completion message
const successCount = jobs.filter(j => j.status === 'completed').length;
if (successCount === jobs.length) {
addToast(`All ${jobs.length} files converted successfully!`, 'success');
} else if (successCount > 0) {