Eliminat zgomotul de trasabilitate (US-xxx, PRD x.x, Rn, OV-x, Tn, decizii/naratiune istorica) din 41 fisiere app/ + template-uri. Pastrate comentariile care documenteaza invarianti si logica ne-evidenta (idempotenta/hash, reconciliere anti-duplicat, RAR 500 esec definitiv, creds per cont, WAF User-Agent, 422 fara echo de parola, scope NULL->1), curatate doar de tokeni. Verificare: pentru cele 27 module .py curatate, structura de cod (tokeni non-comentariu/ non-string) e IDENTICA fata de HEAD -> doar comentarii/docstring-uri schimbate. Singura schimbare de cod e in tests/test_web_responsive.py (scos 3 assert pe markeri US-006/007/008, inlocuite de asertiunile structurale alaturate). 0 tokeni US/PRD reziduali in app/. Regresie: 896 passed, 1 deselected. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
70 lines
3.7 KiB
HTML
70 lines
3.7 KiB
HTML
{#
|
|
_coada.html — sectiunea "Trimiterile tale" inclusa pe Acasa, sub zona de upload.
|
|
Filtre + tabel (_submissions.html); detaliul se deschide in modalul global (#modal-detaliu).
|
|
#}
|
|
<section id="trimiteri-section" aria-labelledby="trimiteri-heading"
|
|
style="margin-top:22px; padding-top:18px; border-top:2px solid var(--line);">
|
|
<div class="card">
|
|
<div style="display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 12px;">
|
|
<h2 id="trimiteri-heading" style="font-size:15px; margin:0;">
|
|
Trimiterile tale
|
|
{% if blocate_total %}
|
|
<span class="tab-badge" title="{{ blocate_total }} necesita atentie"
|
|
style="display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; margin-left:6px; padding:0 5px; border-radius:99px; background:var(--err); color:#fff; font-size:11px; font-weight:700;">{{ blocate_total }}</span>
|
|
{% endif %}
|
|
</h2>
|
|
<span style="margin-left:auto; display:flex; gap:8px; flex-wrap:wrap;">
|
|
<a class="cardlink" href="/v1/audit/export?status=sent" download>export CSV: trimise</a>
|
|
<a class="cardlink" href="/v1/audit/export?status=all" download>toate</a>
|
|
</span>
|
|
</div>
|
|
|
|
<!-- Bara de filtre: vehicul/data + pill-uri de stare pe acelasi rand. Pill-urile scriu
|
|
campul hidden status si re-trimit form-ul (filtreazaStare) -> filtrul persista la reincarcari. -->
|
|
<form id="filtre-trimiteri"
|
|
hx-get="/_fragments/submissions"
|
|
hx-target="#submissions-wrap"
|
|
hx-swap="innerHTML"
|
|
hx-trigger="submit, change, keyup delay:400ms from:input[name='vehicul']"
|
|
style="display:flex; gap:10px 14px; flex-wrap:wrap; align-items:flex-end; margin-bottom:12px;">
|
|
<input type="hidden" id="f-status" name="status" value="{{ status_filtru | default('', true) }}">
|
|
{# Pagina curenta — actualizata prin OOB swap din _submissions.html; inclusa la reincarcari. #}
|
|
<input type="hidden" id="f-page" name="page" value="1">
|
|
<div>
|
|
<label for="f-vehicul" class="muted" style="display:block; font-size:12px;">Vehicul (nr/VIN)</label>
|
|
<input id="f-vehicul" type="text" name="vehicul" placeholder="ex. B123 sau VIN" style="max-width:180px;">
|
|
</div>
|
|
<div>
|
|
<label for="f-data-de" class="muted" style="display:block; font-size:12px;">Data de la</label>
|
|
<input id="f-data-de" type="date" name="data_de">
|
|
</div>
|
|
<div>
|
|
<label for="f-data-pana" class="muted" style="display:block; font-size:12px;">pana la</label>
|
|
<input id="f-data-pana" type="date" name="data_pana">
|
|
</div>
|
|
<button type="submit">Filtreaza</button>
|
|
{# Pill-uri de stare pe acelasi rand cu filtrele; re-randate prin OOB la reincarcarea tabelului. #}
|
|
<span id="pills-categorii" class="pills-categorii" style="margin-left:auto;">
|
|
{% include '_pills.html' %}
|
|
</span>
|
|
</form>
|
|
|
|
<!-- Nudge "Date noi": tabelul nu se reimprospateaza singur; bannerul apare doar cand
|
|
pollerul usor detecteaza schimbari, iar utilizatorul reincarca cand vrea. -->
|
|
<div id="nudge-trimiteri" hidden role="status" aria-live="polite">
|
|
<span>Sunt trimiteri actualizate.</span>
|
|
<button type="button" onclick="reincarcaTrimiteri()">Reincarca</button>
|
|
</div>
|
|
|
|
<!-- Tabelul se reincarca DOAR la: incarcarea paginii, actiunile tale (trimiteriChanged)
|
|
sau apasarea pe Reincarca (reincarcaTrimiteri). Fara poll periodic care sa-l reseteze. -->
|
|
<div id="submissions-wrap"
|
|
hx-get="/_fragments/submissions"
|
|
hx-trigger="load, trimiteriChanged from:body, reincarcaTrimiteri"
|
|
hx-include="#filtre-trimiteri" hx-swap="innerHTML">
|
|
<div class="empty">se incarca…</div>
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|