++ pagina Assegna più leggera; "Vedi tutti" in testata nella Home
Assegna pesava 387 KB e Livewire li rimandava a ogni interazione. - Elenco dei territori assegnati in un componente lazy a sé (ElencoAssegnati): il form compare subito e non lo ridisegna. - Ricerca nell'elenco e anteprima della miniatura nel browser: nessuna richiesta al server mentre si scrive o si sceglie il territorio. - Icone SVG come simboli richiamati con <use>. - Assegnazione::giorni: cast a int (Carbon 3 restituisce un float). Home: "Vedi tutti" diventa un pulsante nella testata dei riquadri. README e HANDOFF aggiornati. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
32
HANDOFF.md
32
HANDOFF.md
@@ -127,6 +127,38 @@ email di prova e di conferma arrivate, link aperto senza login, account
|
||||
sbloccato; riquadro dopo l'assegnazione con WhatsApp e scelta. Configurazione
|
||||
e dati di prova rimossi dopo.
|
||||
|
||||
### Pagina Assegna più leggera; "Vedi tutti" in testata nella Home (19 ottobre 2026)
|
||||
|
||||
Segnalazione dell'utente: la pagina Assegnazioni era lenta. Misurato su dev
|
||||
con i dati di prod (79 assegnazioni aperte): il server la genera in ~80 ms
|
||||
con 10 query, ma l'HTML pesava **387 KB** (299 l'elenco dei territori
|
||||
assegnati, di cui 58 di icone SVG ripetute; 75 le opzioni dei campi di scelta)
|
||||
e Livewire lo rimandava **per intero a ogni interazione**: scegliere un
|
||||
territorio (anteprima con `wire:model.live`), scrivere nella ricerca
|
||||
dell'elenco (`linkSearch`), aprire l'invio del link. Rimedi:
|
||||
|
||||
- L'elenco è un componente a sé, `Assegnazioni\ElencoAssegnati`, **lazy**: la
|
||||
pagina mostra subito il form e le sue azioni non lo ridisegnano. "Invia
|
||||
link" nell'elenco chiede alla pagina di aprire l'invio con l'evento
|
||||
`apri-invio` (`Assegna::apriInvio` ha `#[On('apri-invio')]`);
|
||||
`toggleLinkSent` sta nell'elenco.
|
||||
- La ricerca nell'elenco filtra nel browser (`data-cerca` senza accenti,
|
||||
Alpine `elencoCercabile`): nessuna richiesta mentre si scrive.
|
||||
- Il territorio va a Livewire con `wire:model` (non più `.live`): l'anteprima
|
||||
della miniatura segue la scelta nel browser (evento `scelta` di
|
||||
`<x-scelta>`, URL della miniatura nelle opzioni).
|
||||
- Le icone delle righe sono simboli SVG definiti una volta e richiamati con
|
||||
`<use>`. Il ramo "link scaduto" dell'elenco (solo per non autenticati, cioè
|
||||
mai su questa pagina) è stato tolto.
|
||||
- `AssegnaPrestazioniTest` tiene fermi questi punti, compreso un tetto al
|
||||
peso per riga dell'elenco.
|
||||
- Corretto anche `Assegnazione::giorni`: con Carbon 3 `diffInDays()` è un
|
||||
float e PHP segnalava una conversione implicita a ogni riga.
|
||||
|
||||
Home: "Vedi tutti" di *Da assegnare* e *Da rientrare* è ora un pulsante nella
|
||||
testata del riquadro, accanto al PDF, invece che in fondo all'elenco. Compare
|
||||
alle stesse condizioni di prima (elenco troncato al limite della Home).
|
||||
|
||||
### Scelta di territori e proclamatori con ricerca (19 ottobre 2026)
|
||||
|
||||
Al posto delle tendine di territorio e proclamatore (Assegna, finestra del
|
||||
|
||||
Reference in New Issue
Block a user