feat(5.16): aliniere lista/preview la mockup + fix lock seed la boot
Implementeaza planul aprobat din docs/raport-comparatie-mockup-5.16.md (T-1..T-9): - T-1/T-8: rand lista 4->2 linii (placuta primar + cod RAR · operatie · data + pill), fallback placuta, eticheta-problema 10px->--fs-xs (_submissions.html, base.html) - T-2: pill slim restilat fill-tint + dot 7px + text colorat per stare (base.html) - T-3: bug 4a coliziune pill/vehicul in preview — col-stare 104->140px (base.html) - T-4: preview 8->5 coloane (scos #, KM, Note; motivul -> title pe pill) - T-5: titlu sectiune "Trimiterile tale" -> sr-only (a11y) + badge/export discret - T-6: linia plan N/60 in corp doar pe avertizare; consum normal in badge+burger - T-7: guard chenar gol chips extra (_chips_prestatii.html) - T-9: "Anuleaza"->"Renunta"; nume operatie emfatic bold Fix boot: init_db reincarca seedul de ~17k operatii (5.18) pe FIECARE pornire, pe API + worker concurent -> "database is locked" la al doilea proces. Guard "_if_empty" pe mapping_suggestions (ca seed_nomenclator_if_empty) -> boot rapid, fara cursa. Teste actualizate (slim 2-linii, fallback placuta, plan in burger). TODOS.md: defer trackuit (eroare HTMX lista, retokenizare px, diacritice). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -23,9 +23,21 @@
|
||||
{% if _sent_dup %}class="preview-sent-row"{% endif %}
|
||||
{% if oob_tr %}hx-swap-oob="outerHTML:#preview-row-{{ row.row_index }}"{% endif %}
|
||||
style="{% if status == 'needs_review' %}background:rgba(230,179,74,.04);{% elif _sent_dup %}opacity:.6;{% endif %}">
|
||||
<td class="col-id muted" data-eticheta="#">{{ row.row_index + 1 }}</td>
|
||||
{#- Motivul (validare / deja-trimis / duplicat) — fost coloana Note, acum tooltip pe pill.
|
||||
KM final iese din tabel (se editeaza in modal). -#}
|
||||
{%- if status == 'already_sent' and row.get('already_sent_info') -%}
|
||||
{%- set ai = row.already_sent_info -%}
|
||||
{%- set _nota = 'deja trimis ' ~ ((ai.get('created_at') or '')[:10]) ~ ((' (#' ~ ai.id_prezentare ~ ')') if ai.get('id_prezentare') else '') -%}
|
||||
{%- elif status == 'duplicate_in_file' and row.get('duplicate_with') -%}
|
||||
{%- set _dwith = [] -%}
|
||||
{%- for idx in row.duplicate_with -%}{{ _dwith.append(idx + 1) or '' }}{%- endfor -%}
|
||||
{%- set _nota = 'dubla cu randul ' ~ (_dwith | join(', ')) -%}
|
||||
{%- else -%}
|
||||
{%- set _nota = row.nota_umana or '' -%}
|
||||
{%- endif -%}
|
||||
<td class="col-stare" data-eticheta="Stare">
|
||||
<span class="pill {{ row.stare_css }}" style="display:inline-flex; align-items:center; gap:5px;">
|
||||
<span class="pill {{ row.stare_css }}" style="display:inline-flex; align-items:center; gap:5px;"
|
||||
{% if _nota %}title="{{ _nota }}"{% endif %}>
|
||||
<span aria-hidden="true" style="display:inline-block; width:7px; height:7px; border-radius:99px; background:currentColor; flex-shrink:0;"></span>{{ row.stare_eticheta }}</span>
|
||||
</td>
|
||||
<td class="col-vehicul" data-eticheta="Vehicul">
|
||||
@@ -43,20 +55,6 @@
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="col-data" data-eticheta="Data prestatie">{{ row.prez.data_prestatie }}</td>
|
||||
<td class="col-km" data-eticheta="KM final">{{ row.prez.odometru }}</td>
|
||||
<td class="col-note" data-eticheta="Note"
|
||||
style="font-size:var(--fs-xs); white-space:normal;">
|
||||
{% if status == 'already_sent' and row.get('already_sent_info') %}
|
||||
{% set ai = row.already_sent_info %}
|
||||
deja trimis {{ (ai.get('created_at') or '')[:10] }}
|
||||
{% if ai.get('id_prezentare') %}(#{{ ai.id_prezentare }}){% endif %}
|
||||
{% elif status == 'duplicate_in_file' and row.get('duplicate_with') %}
|
||||
dubla cu randul
|
||||
{% for idx in row.duplicate_with %}{{ idx + 1 }}{% if not loop.last %}, {% endif %}{% endfor %}
|
||||
{% else %}
|
||||
{{ row.nota_umana or '' }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="col-actiuni" data-eticheta="Actiuni" style="text-align:center;">
|
||||
{% if status not in ('already_sent', 'duplicate_in_file') %}
|
||||
<button type="button" class="btn-editeaza"
|
||||
|
||||
Reference in New Issue
Block a user