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.
This commit is contained in:
@@ -54,6 +54,28 @@ hardcoded nel codice (`RoundConfig` in `app/db/models.py`: bet 10 PLM, round
|
||||
sat/vB, RBF timeout 900s) — vanno
|
||||
comunque rivisti e confermati dal pannello prima del primo utilizzo reale.
|
||||
|
||||
## Manutenzione (pausa/ripresa lotteria)
|
||||
|
||||
In cima alla sezione "Parametri" c'è una card "Manutenzione" con un pulsante
|
||||
per fermare l'apertura di nuovi round — utile per intervenire sul server
|
||||
(aggiornamenti, riavvii) senza lasciare gli utenti a metà di un round o
|
||||
sorprenderli con un'interruzione improvvisa.
|
||||
|
||||
- **"Interrompi dopo questo round"**: il round eventualmente in corso viene
|
||||
**completato normalmente** — chiude, estrae il vincitore da un blocco
|
||||
confermato, e paga il 70/30 come sempre. Solo l'apertura del **round
|
||||
successivo** viene sospesa. Gli utenti vedono un avviso di manutenzione
|
||||
sulla loro dashboard (e sulla home, anche da sloggati) finché la lotteria
|
||||
resta in pausa.
|
||||
- **"Riprendi lotteria"**: annulla la pausa — al prossimo giro dello
|
||||
scheduler (ogni 5 secondi) un nuovo round si apre normalmente (rispettando
|
||||
comunque il cooldown se il precedente si è appena chiuso).
|
||||
|
||||
Ogni pausa/ripresa viene registrata nell'audit log (`lottery_paused` /
|
||||
`lottery_resumed`), ma — come per il resto del pannello — non registra
|
||||
*quale* operatore l'ha premuta (token condiviso, vedi limiti noti in
|
||||
[CLAUDE.md](../CLAUDE.md)).
|
||||
|
||||
**Chi paga il fee-bump RBF?** Quando una bet, un payout o un prelievo resta
|
||||
troppo a lungo senza conferma (oltre il "Timeout prima del fee-bump RBF"), il
|
||||
sistema lo ritrasmette con una fee più alta. Il costo aggiuntivo lo assorbe
|
||||
|
||||
Reference in New Issue
Block a user