diff --git a/app/main.py b/app/main.py index 715025f..619b9c8 100644 --- a/app/main.py +++ b/app/main.py @@ -1869,12 +1869,16 @@ async def recut_job(job_id: str, payload: RecutRequest, user: str = Depends(chec analysis_path.write_text(json.dumps(analysis, indent=2, ensure_ascii=False)) # Re-queue job v processing (worker ga bo obdelal) + # Reset upload flags da se reel pojavi v UI med renderiranjem, + # po končanem renderu pa avto-upload spet (in spet izgine). update_job( job_id, status="queued", no_subs=no_subs, custom_clip=True, # flag da preskoči Soniox + Claude auto_upload_to_nextcloud=payload.auto_upload, # avto-upload po končanem recut + hidden_after_upload=False, # vidno med renderiranjem + nextcloud_status="recutting", # signal: ima staro Nextcloud verzijo, čaka novo current_step="V vrsti za recut", error=None, chorus_error=None, diff --git a/templates/index.html b/templates/index.html index 1d9e265..e2fcf39 100644 --- a/templates/index.html +++ b/templates/index.html @@ -409,7 +409,13 @@
-

moji reels

+
+

moji reels

+ +
Še ni obdelav
@@ -979,10 +985,13 @@ if (!r.ok) return; const data = await r.json(); const list = $("#jobs-list"); - // Filtriraj ven jobe ki so že naloženi in skriti - const visible = data.jobs.filter(j => !j.hidden_after_upload); + const showUploaded = $("#show-uploaded") && $("#show-uploaded").checked; + // Filtriraj ven jobe ki so že naloženi in skriti — RAZEN če checkbox vklopljen + const visible = data.jobs.filter(j => showUploaded || !j.hidden_after_upload); if (!visible.length) { - list.innerHTML = '
Še ni obdelav
'; + list.innerHTML = showUploaded + ? '
Še ni obdelav
' + : '
Vse obdelano in naloženo. Klikni "Pokaži tudi že naložene" če želiš popraviti.
'; return; } list.innerHTML = ""; @@ -994,6 +1003,12 @@ } }); } + + // Toggle pokaži/skrij že naložene + document.addEventListener("DOMContentLoaded", () => { + const toggle = $("#show-uploaded"); + if (toggle) toggle.addEventListener("change", refreshJobs); + }); function updateJobInList(job) { const existing = document.getElementById(`job-${job.id}`); @@ -1012,6 +1027,12 @@ el.className = "job"; el.id = `job-${job.id}`; el.dataset.id = job.id; + + // Vizualni hint če je že naložen na Nextcloud + if (job.nextcloud_status === "uploaded") { + el.style.borderLeft = "3px solid #4ade80"; + el.style.background = "rgba(74,222,128,0.04)"; + } const title = job.source_type === "youtube" ? (job.youtube_url || "YouTube")