changes to series order system. add artist retagging tool

This commit is contained in:
Bryan Van Deusen
2026-01-23 08:38:07 -05:00
parent 82cf3b782b
commit d3e73b9533
5 changed files with 316 additions and 1 deletions
+29
View File
@@ -55,6 +55,7 @@
<button id="retryFailedBtn" class="btn warning-btn">Retry Failed Tasks</button>
<button id="clearCompletedBtn" class="btn secondary-btn">Clear Completed</button>
<button id="regenMissingThumbsBtn" class="btn secondary-btn">Regenerate Missing Thumbnails</button>
<button id="reapplyArtistTagsBtn" class="btn secondary-btn">Reapply Artist Tags from Paths</button>
</div>
<div id="celeryWorkerInfo" style="margin-top: 1rem;">
@@ -733,6 +734,34 @@ document.addEventListener('DOMContentLoaded', () => {
}
});
// Reapply Artist Tags from Paths
document.getElementById('reapplyArtistTagsBtn').addEventListener('click', async () => {
const btn = document.getElementById('reapplyArtistTagsBtn');
if (!confirm('This will re-apply artist tags to all images based on their file paths. Continue?')) {
return;
}
btn.disabled = true;
btn.textContent = 'Processing...';
try {
const r = await fetch('/api/reapply-artist-tags', { method: 'POST' });
const data = await r.json();
if (data.ok) {
alert(`Artist tags reapplied!\n\nUpdated: ${data.updated}\nSkipped: ${data.skipped}\nTotal images: ${data.total}`);
} else {
alert('Failed: ' + (data.error || 'Unknown error'));
}
} catch (e) {
alert('Failed: ' + e.message);
} finally {
btn.disabled = false;
btn.textContent = 'Reapply Artist Tags from Paths';
}
});
// Load import settings
fetch('/api/import-settings')
.then(r => r.json())