Add defensible orphaned audio detection
This commit is contained in:
@@ -111,6 +111,11 @@ function detailLines(item) {
|
||||
return lines.map((line) => `<li>${escapeHtml(line)}</li>`).join('');
|
||||
}
|
||||
|
||||
function detailActions(item) {
|
||||
if (!item.audio_url || !item.reveal_token) return '';
|
||||
return `<div class="file-actions detail-actions"><button type="button" data-audio-url="${escapeHtml(item.audio_url)}" data-audio-name="${escapeHtml(item.path)}">▶ Play preview</button><button type="button" data-reveal-token="${escapeHtml(item.reveal_token)}">Show in Finder</button></div>`;
|
||||
}
|
||||
|
||||
function renderDetail(key) {
|
||||
const detail = latestAnalysis?.details?.[key];
|
||||
if (!detail) return;
|
||||
@@ -119,7 +124,7 @@ function renderDetail(key) {
|
||||
trigger.classList.toggle('selected', trigger.dataset.detail === key);
|
||||
});
|
||||
drilldownTitle.textContent = detail.title;
|
||||
drilldownCount.textContent = `${detail.total ?? 0} found`;
|
||||
drilldownCount.textContent = detail.assessed === false ? 'Not assessed' : `${detail.total ?? 0} found`;
|
||||
drilldownSummary.textContent = detail.summary;
|
||||
|
||||
repairPanel.hidden = true;
|
||||
@@ -127,6 +132,10 @@ function renderDetail(key) {
|
||||
previewedRepair = null;
|
||||
latestBackup = null;
|
||||
restoreRepairButton.hidden = true;
|
||||
if (detail.assessed === false) {
|
||||
drilldownList.innerHTML = '<div class="empty-detail">Serato’s database V2 was not available, so orphan status cannot be assessed safely.</div>';
|
||||
return;
|
||||
}
|
||||
if (!detail.items?.length) {
|
||||
drilldownList.innerHTML = '<div class="empty-detail">Nothing to review here. Tiny victory parade, very tasteful.</div>';
|
||||
return;
|
||||
@@ -143,6 +152,7 @@ function renderDetail(key) {
|
||||
<article class="detail-item">
|
||||
<strong>${escapeHtml(item.filename || item.path || 'Untitled item')}</strong>
|
||||
<ul>${detailLines(item)}</ul>
|
||||
${detailActions(item)}
|
||||
</article>
|
||||
`).join('');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user