Fantaasta Desktop | ^new^
pub fn get_players(&self, sport: &str) -> Result<Vec<Player>> let mut stmt = self.conn.prepare("SELECT * FROM players WHERE sport = ?1")?; let players = stmt.query_map([sport], Live Data Service (Frontend to Tauri) // services/playerService.ts import invoke from '@tauri-apps/api/tauri'; export async function fetchPlayers(sport: string) return await invoke('get_player_stats', sport );
const handleSimulate = async () => const data = await runDraftSim(leagueId); setResults(data); ; fantaasta desktop
#[cfg(test)] mod tests use super::*; #[test] fn test_get_player_stats() let result = get_player_stats("football".to_string()); assert!(result.is_ok()); pub fn get_players(&self
Backend (Rust with tokio-tungstenite ) // Spawn WebSocket server inside Tauri command use tokio_tungstenite::connect_async; #[tauri::command] async fn subscribe_live_updates(url: String) -> Result<(), String> e.to_string())?; // Process incoming messages & emit to frontend via Tauri event system Ok(()) sport: &str) ->
return ( <div className="p-4 border rounded-lg shadow"> <h2 className="text-xl font-bold">Draft Simulator</h2> <button onClick=handleSimulate className="mt-2 px-4 py-2 bg-blue-500 text-white rounded"> Simulate Draft </button> results && <pre>JSON.stringify(results, null, 2)</pre> </div> );