refactor(server): separa la logica WebSocket e centralizza le utility di avvio

Estrae la gestione dei messaggi WebSocket in un modulo dedicato.

Rende server.js più snello e focalizzato su bootstrap HTTP/WS.

Introduce utility per stampa URL di accesso e discovery IP di rete.

Mantiene la logica di stato partita condivisa in gameState.js.
This commit is contained in:
2026-02-10 09:53:46 +01:00
parent a40fad7194
commit f7c4fdc2ef
4 changed files with 230 additions and 215 deletions

View File

@@ -1,6 +1,6 @@
/**
* Shared game logic for segnapunti.
* Used by both the WebSocket server and the client-side for local preview.
* Logica di gioco condivisa per il segnapunti.
* Utilizzata sia dal server WebSocket sia dal client per l'anteprima locale.
*/
export function createInitialState() {
@@ -51,8 +51,8 @@ export function checkVittoria(state) {
}
export function applyAction(state, action) {
// Deep-clone to avoid mutation issues (server-side)
// Returns new state
// Esegue un deep clone per evitare mutazioni indesiderate dello stato lato server.
// Restituisce sempre un nuovo oggetto di stato.
const s = JSON.parse(JSON.stringify(state))
switch (action.type) {