Add persistent default temp directory setting with web UI

- Add settings.json persistence (load/save) in backend
- Add GET/POST /api/settings endpoints for default_temp_dir
- Add Default Temp Directory config UI in Temporary Storage section
- Auto-fallback: jobs use saved default if no per-job temp_dir set
- Per-job Advanced Options placeholder syncs with saved default
- Add settings.json to .gitignore for per-machine config
This commit is contained in:
2026-06-29 09:51:12 -04:00
parent b14fc8cd05
commit 006eece417
4 changed files with 140 additions and 3 deletions
+21 -1
View File
@@ -580,7 +580,27 @@
<p style="color: var(--text-muted); font-size: 0.9rem; margin-bottom: 1.5rem;">
Monitor temporary image frames created during upscaling. Running jobs cannot be cleared.
</p>
<!-- Default Temp Directory Setting -->
<div class="temp-dir-setting" style="margin-bottom: 1.5rem; padding: 1.25rem; border-radius: 12px; background: rgba(255,255,255,0.02); border: 1px solid var(--border-color);">
<div style="display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem;">
<i class="fa-solid fa-folder-gear" style="color: var(--primary); font-size: 1.1rem;"></i>
<span style="font-weight: 600; font-size: 0.95rem;">Default Temp Directory</span>
</div>
<p style="font-size: 0.82rem; color: var(--text-muted); margin-bottom: 0.75rem;">
Set a persistent default directory for all upscale job temp files. This is applied automatically unless overridden per-job in Advanced Options. Use a fast SSD or a drive with plenty of space.
</p>
<div style="display: flex; gap: 0.5rem; align-items: stretch;">
<input type="text" id="default-temp-dir-input"
placeholder="e.g. /mnt/fast_ssd/upscaler_temp (Leave empty for project default temp/)"
style="flex: 1; padding: 0.6rem 0.85rem; border-radius: 8px; background: var(--bg-card); border: 1px solid var(--border-color); color: var(--text-primary); font-size: 0.88rem; font-family: 'JetBrains Mono', monospace;">
<button type="button" id="save-temp-dir-btn" class="btn btn-primary btn-small" style="white-space: nowrap; padding: 0.6rem 1.2rem;">
<i class="fa-solid fa-floppy-disk"></i> Save
</button>
</div>
<div id="temp-dir-status" style="font-size: 0.78rem; margin-top: 0.5rem; min-height: 1.2em;"></div>
</div>
<div class="temp-stats-summary" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 1.5rem;">
<div class="glass-card" style="padding: 1rem; background: rgba(255,255,255,0.01); text-align: center;">
<span style="font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase; display: block;">Total Temp Size</span>