Home

display.js

fetch.js

Handles loading, validating, filtering, and rendering Pokémon data. - `fetchGenerations()` retrieves the supported generation list. - `fetchDexEntries()` retrieves and validates generation data. - `ViewPokemon()` filters and displays Pokémon based on user-selected criteria.
Source:

loading-messages.js

A list of funny, Pokémon-themed loading messages and a utility function to fetch one at random.
Source:

main.js

Entry point for the Pokémon Team Builder app. Imports the UI interactions, which drive event handling, display logic, and interactivity. This file is the starting point when the app loads. All DOM behavior is handled in ui.js.
Source:

party.js

Manages the user's party of up to 6 Pokémon. - Handles display rendering for each Pokémon - Provides logic for clearing the party - Analyzes type effectiveness via utility modules
Source:

state.js

DOM state selectors shared across modules. These provide access to user input fields and result containers.
Source:

team.js

Analyzes defensive type matchups for the current Pokémon party. - Reads weakness data from the selected generation JSON - Counts how many party members are weak, resistant, immune, or neutral to each type - Passes the results to the display layer
Source:

type-utils.js

Analyzes a Pokémon's defensive type matchups using effectiveness data stored in the generation JSON.
Source:

ui.js

Handles all DOM interactions for the Pokémon Team Builder: - Loads supported generations - Loads generation-specific data - Populates generation-dependent form fields - Loads results from selected filters - Adds/removes Pokémon to/from party - Updates party display and weakness analysis
Source: