Money reveal + writing memory

This commit is contained in:
2025-03-14 17:29:12 -04:00
parent d6719b0d54
commit 5f99e03b4c
11 changed files with 309 additions and 48 deletions

View File

@@ -25,29 +25,43 @@ async fn ws_handler(ws: WebSocketUpgrade, State(state): State<AppState>) -> Resp
async fn handle_socket(mut socket: WebSocket, state: AppState) {
while let Some(msg) = socket.recv().await {
if let Ok(msg) = msg {
if msg == Message::Text("requestInfo".to_string()) {
let str = {
let data = state.data_lock.read().await;
if let Ok(text) = msg.to_text() {
if text == "requestInfo" {
let str = {
let data = state.data_lock.read().await;
match serde_json::to_string(&*data) {
Ok(json) => json,
Err(e) => {
log::error!("Could not serialize data into json: {}", e.to_string());
log::error!("Sending \"error\" instead");
"error".to_string()
},
match serde_json::to_string(&*data) {
Ok(json) => json,
Err(e) => {
log::error!("Could not serialize data into json: {}", e.to_string());
log::error!("Sending \"error\" instead");
"error".to_string()
},
}
};
if socket.send(Message::Text(str)).await.is_err() {
return;
}
};
} else if text == "toggleMoneyReveal" {
let new_value = {
let mut data = state.data_lock.write().await;
data.money_reveal_enabled = !data.money_reveal_enabled;
data.money_reveal_enabled
};
//println!("{str}");
let response = serde_json::json!({
"action": "toggleMoneyReveal",
"status": "success",
"enabled": new_value
});
if socket.send(Message::Text(str)).await.is_err() {
// client disconnected
return;
if socket.send(Message::Text(response.to_string())).await.is_err() {
return;
}
}
}
} else {
// client disconnected
return;
}
}