Fantaasta Desktop ⟶ ❲CERTIFIED❳
use rusqlite::Connection, Result; pub struct Database conn: Connection,
Use GitHub Actions to build for all platforms on tag push:
const handleSimulate = async () => const data = await runDraftSim(leagueId); setResults(data); ; fantaasta desktop
fn main() tauri::Builder::default() .invoke_handler(tauri::generate_handler![ get_player_stats, simulate_draft ]) .run(tauri::generate_context!()) .expect("error while running tauri application");
export async function runDraftSim(leagueId: number) return await invoke('simulate_draft', leagueId ); pub struct Database conn: Connection
// store/leagueStore.ts import create from 'zustand'; interface LeagueState currentLeague: League
export const useLeagueStore = create<LeagueState>((set) => ( currentLeague: null, players: [], isLoading: false, setLeague: (league) => set( currentLeague: league ), refreshPlayers: async (sport) => set( isLoading: true ); const players = await fetchPlayers(sport); set( players, isLoading: false ); , )); // components/DraftSimulator/DraftSimulator.tsx import useState from 'react'; import runDraftSim from '../../services/playerService'; export function DraftSimulator( leagueId : leagueId: number ) const [results, setResults] = useState(null); const data = await runDraftSim(leagueId)
#[tauri::command] fn simulate_draft(league_id: u32) -> Result<DraftResult, String> // AI simulation logic