/** * Application Constants * Centralized configuration values for the Pokedex Online application */ export const API_CONFIG = { CHALLONGE_BASE_URL: 'https://api.challonge.com/v1/', TIMEOUT: 10000, RETRY_ATTEMPTS: 3 }; export const UI_CONFIG = { TOAST_DURATION: 5000, DEBOUNCE_DELAY: 300, ITEMS_PER_PAGE: 50 }; export const TOURNAMENT_TYPES = { SINGLE_ELIMINATION: 'single_elimination', DOUBLE_ELIMINATION: 'double_elimination', ROUND_ROBIN: 'round_robin', SWISS: 'swiss' }; export const TOURNAMENT_STATES = { PENDING: 'pending', CHECKING_IN: 'checking_in', CHECKED_IN: 'checked_in', UNDERWAY: 'underway', COMPLETE: 'complete' }; export const POKEMON_TYPES = { NORMAL: 'POKEMON_TYPE_NORMAL', FIRE: 'POKEMON_TYPE_FIRE', WATER: 'POKEMON_TYPE_WATER', ELECTRIC: 'POKEMON_TYPE_ELECTRIC', GRASS: 'POKEMON_TYPE_GRASS', ICE: 'POKEMON_TYPE_ICE', FIGHTING: 'POKEMON_TYPE_FIGHTING', POISON: 'POKEMON_TYPE_POISON', GROUND: 'POKEMON_TYPE_GROUND', FLYING: 'POKEMON_TYPE_FLYING', PSYCHIC: 'POKEMON_TYPE_PSYCHIC', BUG: 'POKEMON_TYPE_BUG', ROCK: 'POKEMON_TYPE_ROCK', GHOST: 'POKEMON_TYPE_GHOST', DRAGON: 'POKEMON_TYPE_DRAGON', DARK: 'POKEMON_TYPE_DARK', STEEL: 'POKEMON_TYPE_STEEL', FAIRY: 'POKEMON_TYPE_FAIRY' }; export const CSV_HEADERS = { PLAYER_ID: 'player_id', FIRST_NAME: 'first_name', LAST_NAME: 'last_name', COUNTRY_CODE: 'country_code', DIVISION: 'division', SCREENNAME: 'screenname', EMAIL: 'email', TOURNAMENT_ID: 'tournament_id' }; export const EXPECTED_CSV_HEADERS = Object.values(CSV_HEADERS);