diff --git a/pdf_renamer.py b/pdf_renamer.py index b9536c7..9f4fb0f 100644 --- a/pdf_renamer.py +++ b/pdf_renamer.py @@ -1305,14 +1305,24 @@ def jobs(): try { const jobDiv = document.createElement('div'); jobDiv.className = 'job'; - jobDiv.innerHTML = ` + + // Build the HTML step by step to avoid syntax errors + let jobHTML = `

Job ${jobId.substring(0, 8)}

-

Status: ${job.status.charAt(0).toUpperCase() + job.status.slice(1)}

- ${job.status === 'processing' && job.progress ? `

Progress: ${job.progress}

` : ''} -

Files: ${job.files ? job.files.length : 0}

- ${job.zip_contents ? ` -

ZIP Contents:

- ${Object.entries(job.zip_contents).map(([zipName, pdfFiles]) => ` +

Status: ${job.status.charAt(0).toUpperCase() + job.status.slice(1)}

`; + + // Add progress if processing + if (job.status === 'processing' && job.progress) { + jobHTML += `

Progress: ${job.progress}

`; + } + + jobHTML += `

Files: ${job.files ? job.files.length : 0}

`; + + // Add ZIP contents if available + if (job.zip_contents) { + jobHTML += `

ZIP Contents:

`; + Object.entries(job.zip_contents).forEach(([zipName, pdfFiles]) => { + jobHTML += `
${zipName} (${pdfFiles.length} files) ▶ @@ -1322,33 +1332,43 @@ def jobs(): ${pdfFiles.map(pdfFile => `
  • ${pdfFile}
  • `).join('')}
    -
    - `).join('')} - ` : ''} - ${job.status === 'completed' ? (job.zip_name ? ` -

    Download ZIP -

    - -

    - ` : ` -

    No files were successfully processed to create a ZIP archive. -

    - -

    - ` : ''} - ${job.skipped ? ` -
    -
    - ⚠️ Skipped Files (${job.skipped.length}) ▶ -
    -
    - -
    -
    - ` : ''} - `; + `; + }); + } + + // Add download/delete buttons if completed + if (job.status === 'completed') { + if (job.zip_name) { + jobHTML += ` +

    Download ZIP +

    + +

    `; + } else { + jobHTML += ` +

    No files were successfully processed to create a ZIP archive. +

    + +

    `; + } + + // Add skipped files section if any + if (job.skipped && job.skipped.length > 0) { + jobHTML += ` +
    +
    + ⚠️ Skipped Files (${job.skipped.length}) ▶ +
    +
    + +
    +
    `; + } + } + + jobDiv.innerHTML = jobHTML; console.log(`[updateJobs] HTML created for job ${jobId}`); // Insert job before the script tag