66 lines
1.5 KiB
JavaScript
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);
|