()
| 4728 | } |
| 4729 | |
| 4730 | function updateNonZipPanelText() { |
| 4731 | const panel = ensureNonZipDownloadPanel(); |
| 4732 | const q = window.__nonZipDownloadQueue || []; |
| 4733 | const count = q.length; |
| 4734 | |
| 4735 | const titleEl = panel.querySelector('.nonzip-title'); |
| 4736 | const subEl = panel.querySelector('.nonzip-sub'); |
| 4737 | |
| 4738 | if (!titleEl || !subEl) return; |
| 4739 | |
| 4740 | if (!count) { |
| 4741 | titleEl.textContent = t('no_files_queued') || 'No files queued.'; |
| 4742 | subEl.textContent = ''; |
| 4743 | return; |
| 4744 | } |
| 4745 | |
| 4746 | const title = |
| 4747 | t('nonzip_queue_title') || |
| 4748 | 'Files queued for download'; |
| 4749 | |
| 4750 | const raw = t('nonzip_queue_subtitle') || |
| 4751 | '{count} files queued. Click "Download next" for each file.'; |
| 4752 | |
| 4753 | const msg = raw.replace('{count}', String(count)); |
| 4754 | |
| 4755 | titleEl.textContent = title; |
| 4756 | subEl.textContent = msg; |
| 4757 | } |
| 4758 | |
| 4759 | function showNonZipPanel() { |
| 4760 | const panel = ensureNonZipDownloadPanel(); |
no test coverage detected