Implement orphaned temporary folder re-import and resume feature with web UI modal

This commit is contained in:
2026-06-30 15:49:19 -04:00
parent 2d1fa83d58
commit f523a393cb
3 changed files with 275 additions and 1 deletions
+48
View File
@@ -921,6 +921,54 @@
</div>
</div>
<!-- Re-import Modal -->
<div id="reimport-modal" class="modal-overlay" style="display: none;">
<div class="modal-card glass-card" style="max-width: 480px;">
<div class="modal-header">
<h3><i class="fa-solid fa-cloud-arrow-down"></i> Re-import & Resume Job</h3>
<button type="button" id="reimport-modal-close-btn" class="close-btn">&times;</button>
</div>
<div class="modal-body" style="padding: 1.5rem 0;">
<form id="reimport-form">
<input type="hidden" id="reimport-job-id">
<input type="hidden" id="reimport-temp-dir">
<div class="form-group" style="margin-bottom: 1.25rem;">
<label for="reimport-video-select" style="display: block; margin-bottom: 0.5rem; font-weight: 600; font-size: 0.85rem;">Select Video File:</label>
<select id="reimport-video-select" class="form-control" required style="width: 100%; background: var(--bg-card); color: var(--text-main); border: 1px solid var(--border-color); padding: 0.5rem; border-radius: 6px;">
<!-- Dynamically populated -->
</select>
</div>
<div class="form-group" style="margin-bottom: 1.25rem;">
<label for="reimport-model-select" style="display: block; margin-bottom: 0.5rem; font-weight: 600; font-size: 0.85rem;">Upscale Model:</label>
<select id="reimport-model-select" class="form-control" style="width: 100%; background: var(--bg-card); color: var(--text-main); border: 1px solid var(--border-color); padding: 0.5rem; border-radius: 6px;">
<option value="realesrgan-x4plus">Real-ESRGAN x4 Plus (Universal)</option>
<option value="realesr-animevideov3">Real-ESRGAN Anime Video v3</option>
<option value="realesrgan-x4plus-anime">Real-ESRGAN Anime x4</option>
</select>
</div>
<div style="display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin-bottom: 1.5rem;">
<label class="checkbox-label" style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.85rem;">
<input type="checkbox" id="reimport-face-restoration" style="width: 16px; height: 16px; accent-color: var(--primary);"> Enable Face Restoration (GFPGAN)
</label>
<label class="checkbox-label" style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.85rem;">
<input type="checkbox" id="reimport-rife-interpolation" style="width: 16px; height: 16px; accent-color: var(--primary);"> Enable Frame Interpolation (RIFE)
</label>
<label class="checkbox-label" style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.85rem;">
<input type="checkbox" id="reimport-audio-denoise" style="width: 16px; height: 16px; accent-color: var(--primary);"> Enable Audio Denoising
</label>
</div>
<button type="submit" class="btn btn-primary" style="width: 100%; justify-content: center; padding: 0.75rem;">
<i class="fa-solid fa-play"></i> Import & Resume Job
</button>
</form>
</div>
</div>
</div>
<!-- Javascript Orchestration -->
<script src="app.js"></script>
</body>