Fantaasta Desktop Today

pub fn get_players(&self, sport: &str) -> Result<Vec<Player>> Ok(Player id: row.get(0)?, name: row.get(1)?, avg_points: row.get(3)?, ) )?; Ok(players.filter_map(Result::ok).collect())

// store/leagueStore.ts import create from 'zustand'; interface LeagueState null; players: Player[]; isLoading: boolean; setLeague: (league: League) => void; refreshPlayers: (sport: string) => Promise<void>; fantaasta desktop

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); pub fn get_players(&self

Use GitHub Actions to build for all platforms on tag push: sport: &str) -&gt