Skrij vse settings razen no-subs — vse drugo zapečen preset

User: 'sej je že preset narejen, ne kompliciraj. Vse je enako za reels.
Naredi da so podnapisi po default GOR (brez kljukice). Klukica = brez napisov.
Ostalo zapeči, nimamo kaj spreminjat.'

Hidden defaults (zapečen preset za vse reels):
- mode=track
- quality=medium
- llm-provider=claude
- whisper-model=large-v3
- subtitle-style=reels
- auto-chorus=true (data-checked)
- include-prebuild=false (data-checked)
- duration=30

Vidno samo:
- TV postaja (tabs) — kam gre na Nextcloud
- Brez kljukice = napisi V VIDEO (default)
- Kljukica = brez napisov

Side note: 'Brez kljukice = napisi' je obratno od prej (kljukica = brez).
Default je sedaj 'with subtitles' (no-subs unchecked). Persistence v
localStorage ohranja izbiro med reload-i.

Bonus: odstranjen 'Auto-chorus toggle' handler ki je iskal #manual-times
ki ne obstaja več.
This commit is contained in:
Sebastjan Artič 2026-04-30 15:20:52 +00:00
parent d0e78cca02
commit 2de58ca7a5

View File

@ -355,79 +355,28 @@
</div>
<input type="hidden" id="tv-station-input" value="FOLX SLOVENIJA">
<label>Način reframe</label>
<select id="mode">
<option value="track">Track (sledi obrazu — intervjuji, vlogi)</option>
<option value="center">Center (statična kamera)</option>
<option value="blur">Blur (glasba, koncerti)</option>
</select>
<!-- Skrita polja: jezik in model sta avto. Vrednosti uporabljene v JS submit. -->
<!-- Skriti settings — vsi defaulti zapečeni za reels workflow -->
<input type="hidden" id="mode" value="track">
<input type="hidden" id="lang" value="">
<input type="hidden" id="model" value="large-v3">
<input type="hidden" id="quality" value="medium">
<input type="hidden" id="llm-provider" value="claude">
<input type="hidden" id="auto-chorus" data-checked="true">
<input type="hidden" id="include-prebuild" data-checked="false">
<input type="hidden" id="subtitle-style" value="reels">
<input type="hidden" id="start" value="">
<input type="hidden" id="duration" value="30">
<div style="font-size: 12px; color: var(--text-dim); margin-top: 8px;">
🤖 STT: <b>Soniox</b> (primary) → ElevenLabs Scribe → Gemini fallback · LLM analiza: <b>Claude Sonnet 4.6</b>
</div>
<label class="toggle" style="margin-top: 16px;">
<input type="checkbox" id="auto-chorus" checked>
Pametna izbira odseka (Soniox + Claude LLM → najde refren)
</label>
<div style="font-size: 12px; color: var(--text-dim); margin-top: 4px; margin-left: 26px;">
Sistem naredi <b>celoten transkript</b> z word-level timestampi in <b>energy profile</b>,
nato Claude izbere najboljši refren po pravilih (15 referenčnih primerov).
Audio fade in/out na meje vokala. Ročno popravljanje preko ✏️ <b>Edit</b> gumba.
</div>
<label class="toggle" style="margin-top: 12px; margin-left: 26px;">
<input type="checkbox" id="include-prebuild">
Vključi pre-chorus (build-up pred refrenom)
</label>
<div style="font-size: 12px; color: var(--text-dim); margin-top: 2px; margin-left: 52px;">
Privzeto izklopljeno: dobiš čist refren brez kitice.
</div>
<div id="manual-times" class="row hidden">
<div>
<label>Začetek (sekunde ali mm:ss)</label>
<input type="text" id="start" placeholder="npr. 1:24">
</div>
<div>
<label>Trajanje (s)</label>
<input type="number" id="duration" value="30" min="5" max="180">
</div>
</div>
<div class="row">
<div>
<label>Kvaliteta</label>
<select id="quality">
<option value="fast">Fast (preview)</option>
<option value="medium" selected>Medium (objava)</option>
<option value="high">High (arhiv)</option>
</select>
</div>
<div>
<label>AI za analizo (izbere refren)</label>
<select id="llm-provider">
<option value="claude" selected>Claude Sonnet 4.6 (priporočeno)</option>
<option value="gemini">Gemini 3.1 Pro (multilingual)</option>
<option value="auto">Auto</option>
</select>
</div>
</div>
<!-- Skriti subtitle-style za backward compat -->
<select id="subtitle-style" style="display:none">
<option value="reels" selected>Reels</option>
</select>
<!-- EDINA vidna kontrola: napisi -->
<label class="toggle" style="margin-top: 12px;">
<input type="checkbox" id="no-subs" checked>
Izklopi podnapise (kljukica = brez napisov · brez kljukice = napisi v video)
<input type="checkbox" id="no-subs">
Izklopi podnapise (brez kljukice = napisi v video · kljukica = brez napisov)
</label>
<div style="font-size: 11px; color: var(--text-dim); margin-top: 6px;">
🤖 Preset: Track reframe · Medium kvaliteta · Soniox+Claude · Smart chorus · Brez pre-chorus
</div>
<button id="submit-btn" class="full-width" style="margin-top: 20px; width: 100%;">
Naredi reel
</button>
@ -482,12 +431,7 @@
});
});
// ─── Auto-chorus toggle ─────────────────────────
$("#auto-chorus").addEventListener("change", e => {
$("#manual-times").classList.toggle("hidden", e.target.checked);
});
// Jezik in model sta avto — skritja polja, ne potrebujemo listenerjev.
// Auto-chorus + manual times → zdaj hidden inputs (zapečen default), brez handler-ja.
// ─── Drag & drop ────────────────────────────────
const dz = $("#dropzone");
@ -658,14 +602,16 @@
// ─── Settings collector ─────────────────────────
function collectSettings() {
const auto = $("#auto-chorus").checked;
// Hidden inputs: data-checked = "true"/"false" za bool fields
const auto = $("#auto-chorus").dataset.checked === "true";
const includePre = $("#include-prebuild").dataset.checked === "true";
const duration = parseFloat($("#duration").value) || 30;
return {
mode: $("#mode").value,
lang: $("#lang").value || null,
whisper_model: $("#model").value,
auto_chorus: auto,
include_prebuild: $("#include-prebuild").checked,
include_prebuild: includePre,
start: !auto && $("#start").value ? parseTimestamp($("#start").value) : null,
duration: duration,
max_duration: auto ? Math.round(duration * 1.5) : duration,
@ -698,14 +644,10 @@
});
// ─── Settings persist v localStorage ─────────────────────────
// Da se ohranijo med page reload-i (no-subs, mode, quality, station, ...)
// Edina vidna kontrola je no-subs. Ohranja se med page reload-i.
// Default = brez kljukice (= napisi VKLOPLJENI po default).
const PERSIST_FIELDS = [
{ id: "no-subs", type: "checkbox" },
{ id: "auto-chorus", type: "checkbox" },
{ id: "include-prebuild", type: "checkbox" },
{ id: "mode", type: "select" },
{ id: "quality", type: "select" },
{ id: "llm-provider", type: "select" },
];
// Load saved values na DOM ready