Files
plm-lottery/docs/guida-utente.md
T
davide 162a63d04a Add a maintenance pause/resume switch and a proper user navbar
RoundConfig gets a paused flag toggled via new POST /admin/pause and
/admin/resume endpoints (audit-logged, surfaced as a "Manutenzione" card in
the admin Parametri view). Pausing only stops the *next* round from opening
once the current one closes — rounds/service.py:open_new_round_if_needed
still lets an in-progress round finish, draw, and pay out its winner
normally. GET /rounds/current exposes lottery_paused so the user page shows
a maintenance banner (even while logged out) instead of silently going idle.

Also replaces the user dashboard's stacked account-bar card + bento-grid
menu with a single sticky navbar (identity row + Deposito/Bet/Prelievo
tabs), and moves the page content into a dedicated .app-shell container so
the navbar itself can span full width.
2026-07-22 10:36:36 +02:00

97 lines
3.9 KiB
Markdown

# Guida utente
Come usare PLM Lottery dall'interfaccia web (`https://<host>/` — vedi
[running-the-server.md](running-the-server.md) per come avviare il server).
## Registrazione e accesso
Nella schermata iniziale trovi due tab: **Registrati** e **Login**.
- **Registrati**: scegli username e password. Al termine ti viene assegnato
automaticamente un **indirizzo di deposito personale** (derivato
server-side) — è per sempre tuo, e riceverai anche eventuali vincite su
quello stesso indirizzo.
- **Login**: se hai già un account, accedi con username e password.
La sessione resta salvata nel browser (fino al logout): non serve rifare
login ogni volta che riapri la pagina.
## La dashboard
Dopo l'accesso vedi, in ordine:
1. **Barra account** — il tuo username e il bottone "Esci" (logout)
2. **Card del round corrente** — sempre visibile, indipendentemente dalla
sezione che stai guardando:
- numero del round e stato (*aperto*, *in chiusura*, *estrazione in
corso*, *pagamento in corso*)
- **timer** che conta alla rovescia il tempo rimanente prima della
chiusura del round
- **giocatori**: quanti hanno già piazzato una bet in questo round
- **jackpot**: il totale in PLM che verrà distribuito (70% al vincitore,
30% in fee)
3. **Menu di navigazione** con tre sezioni:
### Estrazione del vincitore
Quando il round chiude, **le bet non sono più accettate** e la card del
round mostra un'animazione ("Estrazione del vincitore in corso…") al posto
del timer — la stessa cosa compare nella dashboard di ogni giocatore, non
solo la tua. L'animazione resta visibile per almeno un tempo minimo
configurabile dall'admin (default 20s), ma può durare più a lungo: il
vincitore viene scelto usando l'hash del primo blocco confermato dopo la
chiusura, quindi il tempo reale dipende dalla rete (mediamente ~2 minuti,
il block time di PLM).
Appena il vincitore è determinato, l'animazione lascia spazio a un
messaggio:
- **"🎉 Hai vinto! +N PLM"** se sei tu il vincitore — l'importo ti verrà
accreditato non appena la transazione di payout viene confermata (il
round successivo non si apre finché questo non accade)
- **"Non hai vinto questa volta."** altrimenti
Il messaggio resta visibile fino all'apertura del round successivo.
### Avviso di manutenzione
Se l'operatore ha messo in pausa la lotteria per manutenzione, in cima alla
pagina (visibile anche prima del login) compare un avviso: il round
eventualmente in corso viene comunque **completato normalmente**, vincitore
incluso, ma **non ne parte uno nuovo** finché la manutenzione non termina.
L'avviso sparisce da solo appena l'operatore riprende la lotteria.
### Deposito
- Il tuo **saldo interno** (accreditato dopo 1 conferma di rete) con bottone
"Aggiorna" per ricontrollarlo
- Il tuo **indirizzo di deposito**, con bottone per copiarlo negli appunti
- Il **QR code** dello stesso indirizzo, comodo per inviare PLM da un altro
wallet scansionandolo invece di copiare l'indirizzo a mano
Per depositare, invia PLM (mainnet reale) a quell'indirizzo da un wallet
esterno. Il saldo si aggiorna da solo dopo la prima conferma; premi
"Aggiorna" per vederlo comparire.
### Bet
Un bottone unico: piazza l'ingresso a costo fisso (mostrato in PLM) nel round
corrente. Puoi avere **al massimo una bet attiva alla volta**. Il costo viene
scalato dal tuo saldo interno.
### Prelievo
Form con due campi:
- **Indirizzo esterno**: dove vuoi ricevere i PLM
- **Importo (PLM)**: quanto prelevare
Il prelievo viene costruito e trasmesso sulla rete; la fee di rete viene
scalata dall'importo richiesto (non si aggiunge separatamente).
## Notifiche
Ogni azione (registrazione, login, bet, prelievo, ecc.) mostra un breve
messaggio (toast) verde in caso di successo o rosso in caso di errore, in
basso nella pagina. Se qualcosa non va e il messaggio non basta a capire il
motivo, il dettaglio tecnico è nei log del server (`logs/app.log` o
`data/logs/app.log` con Docker) — non nell'interfaccia.