Files
memory-infrastructure-palace/code/websites/pokedex.online/src/utilities/constants.js

66 lines
1.5 KiB
JavaScript

/**
* 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);