feat(5.13): carduri compacte mobil/tableta + fix editare preview (OOB tr) + toast
Dogfood pe import + Trimiteri (mobil/tableta <1024px), pur CSS + markup, backend
trimitere neatins:
- Card compact real pentru .tabel-trimiteri (preview + Trimiteri): vehicul=titlu,
stare=pill dreapta-sus, operatie+cod, meta data/km muted, nota mica. Inlocuieste
stiva generica eticheta+valoare (carduri de ~450px -> ~135px). Anuleaza regula
desktop tr.trimitere-row > td{padding:11px} in blocul compact.
- FIX editare preview: OOB swap pe <tr> esua tacit in htmx 1.9 (un <tr> brut se
pierde la parsarea unui fragment fara context de tabel) -> randul ramanea cu
starea veche dupa salvare. Inlocuit cu reload complet al preview-ului prin
HX-Trigger:reincarcaPreview + detalii randSalvat. /editeaza si /confirma-review
folosesc helper-ul _raspuns_rand_salvat.
- Feedback post-salvare: toast global "Randul N actualizat · <stare>" + scroll +
flash pe randul actualizat (base.html window.arataToast + listener randSalvat).
- Modal editare: Salveaza + Anuleaza pe acelasi rand (sistem .act): desktop text,
mobil doua iconite Lucide 44px alaturate (save/x). Macro icon('x') + .act-primary.
- Randuri deja-trimise/duplicate colapsate implicit in preview + toggle "Arata N".
- Select "Operatii de mapat" full-width pe mobil (nu mai iese din viewport).
- Bara de filtre Trimiteri adaptata mobil: pills pe banda cu scroll orizontal,
cautare vehicul proeminenta (nu 8 butoane full-width stivuite).
- Nota preview = culoarea camp-fix (accent) ca sa atraga atentia; hint-urile
camp-fix per-camp scoase (campul Note e self-explanatory).
- Confirmare trimitere: scos campul email (Declarant); text mai clar
("Confirma numarul din N gata de trimis"). Backend confirmed_by ramane optional.
Teste: contractul OOB (rupt in browser) inlocuit cu noul contract
(reincarcaPreview + randSalvat) in test_web_preview_edit / test_preview_edit_ui /
test_import_review. Suita: 992 passed (exclus live).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -232,21 +232,21 @@ def test_stepper_pas3_la_preview_direct_mapare_retinuta(client):
|
||||
|
||||
|
||||
def test_stepper_marcheaza_pasii_facuti(client):
|
||||
"""In preview (pas 3), pasii 1 si 2 sunt marcati ca facuti (clasa 'facut').
|
||||
"""In preview (pas 3), pasii 1 si 2 sunt marcati ca facuti (clasa is-done).
|
||||
|
||||
Verifica prin prezenta clasei CSS sau a marcajului vizual de 'facut'.
|
||||
Verifica prin prezenta clasei CSS is-done (doua aparitii: pasii 1 si 2).
|
||||
"""
|
||||
_seed_op_mapping(client)
|
||||
import_id = _upload_and_get_import_id(client)
|
||||
text = _get_preview_via_mapare(client, import_id)
|
||||
|
||||
# Clasa "facut" trebuie sa apara pentru pasii 1 si 2 (index < pas curent)
|
||||
assert "facut" in text, \
|
||||
"Clasa/marcajul 'facut' nu a fost gasit in preview (pasii 1 si 2 ar trebui marcati ca facuti)"
|
||||
# Numarul de aparitii: cel putin 2 pasi marcati ca facuti
|
||||
count_facut = text.count("facut")
|
||||
assert count_facut >= 2, \
|
||||
f"Asteptat cel putin 2 pasi marcati ca 'facut' in preview, gasit {count_facut}"
|
||||
# Clasa "is-done" trebuie sa apara pentru pasii 1 si 2 (index < pas curent)
|
||||
assert "is-done" in text, \
|
||||
"Clasa 'is-done' nu a fost gasita in preview (pasii 1 si 2 ar trebui marcati ca is-done)"
|
||||
# Numarul de aparitii: cel putin 2 pasi marcati ca is-done
|
||||
count_done = text.count("is-done")
|
||||
assert count_done >= 2, \
|
||||
f"Asteptat cel putin 2 pasi marcati ca 'is-done' in preview, gasit {count_done}"
|
||||
|
||||
|
||||
def test_import_hx_target_in_tab(client):
|
||||
|
||||
Reference in New Issue
Block a user