GH GambleHub

Stati di avvio e attesa

1) Perché gestire l'attesa

L'utente deve capire tre cose:
  • (1) che l'azione è iniziata, (2) quanto ci vuole e (3) cosa fare se qualcosa è andato storto.
  • Il buon stato di caricamento riduce l'ansia, mantiene il focus e risparmia tempo.

2) Selezione del pattern: skeleton, progress, spinner, streaming

Skeleton - Quando si conosce la struttura dei contenuti futuri, ma non ci sono dati. Impedisce la CLS.
Progress bar - Quando si conosce un volume o una fase (ad esempio, appload, KYC).
Indeterminate progress - Quando la durata è sconosciuta, ma il processo è reale (inizializzazione).
Spinner - solo come indicatore breve fino a 600-800 ms; successivo: skeleton/progresso/testo.
Streaming/partial render - Forniamo i dati alle parti (SSR/segmenti) e visualizziamo le zone pronte immediatamente.

Regola: non lasciare l'utente vuoto. Se hai più di 1 c, dammi la struttura e il senso.

3) Soglie di tempo e budget (indicazioni)

100 ms - Risposta visiva immediata: 'busy', pulsante/campo.
≤ 1000 ms - skeleton/indicatore + testo «Scarichiamo»....

💡 2-3 c - Mostra i progressi, le fasi/la causa del ritardo e l'azione prevista.
10 c - Escalation: suggerimento «Continua in sfondo», notifica, login di stato.

4) Micro-pattern di risposta immediata

Mettiamo il controllò busy "subito (animazione da 100 ms), blocchiamo i clic ripetuti.
Cambia il testo del pulsante in Invia..., mostra il toast Richiesta accettata (opzionale).
Quando si ripristina un focus sul campo, lo skeleton locale è nella zona di risultato.

5) Skeleton senza «salto»

Disegnare la forma 1:1 dei contenuti futuri: altezza dei blocchi, proporzioni dei media ('aspect-ratio').
L'animazione shimmer è 1200-1600 mc, l'ampiezza di luminosità è del 20%, senza righe.
I grandi elenchi includono la virtualizzazione e la limitazione del numero di scheletri in DON.

css
.skeleton{position:relative; background:var(--bg-elevated); border-radius:12px; overflow:hidden}
.skeleton::after{
content:"";position:absolute; inset:0;
background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
animation:shimmer 1. 4s infinite;
}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

6) Progressi e fasi

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Telegram
@Gamble_GC
Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.