use html::Textarea; use leptos::*; use leptos_use::{core::ConnectionReadyState, use_websocket, UseWebsocketReturn}; use lib::models::*; use serde_json::to_string; #[component] pub fn Websocket() -> impl IntoView { let UseWebsocketReturn { ready_state, message, send, open, close, .. } = use_websocket("ws://0.0.0.0:3030/websocket"); // Signals let (online_users, set_online_users) = create_signal(0); let (active_games, set_active_games) = create_signal(0); let (chat_history, set_chat_history) = create_signal::>(vec![]); // Websocket stuff let status = move || ready_state.get().to_string(); let connected = move || ready_state.get() == ConnectionReadyState::Open; let open_connection = move |_| { open(); }; let fake_new_game_request = NewGameRequest { name: String::from("Ligma"), host: Player { name: String::from("Adam"), role: PlayerRole::Host, white: vec![], black: vec![], }, packs: vec![0], }; // Game stuff let new_game_test = move |_| { send(&to_string(&fake_new_game_request).unwrap()); }; let close_connection = move |_| { close(); set_online_users(0); set_active_games(0); update_chat_history(&set_chat_history, format!("Disconnected.\n")); }; // Chat stuff let chat_history_ref = create_node_ref::

//

} }