How hamidou-ctr/pokemon works
This is a browser-based Pokédex for searching and browsing Pokémon, then opening a detail view with specialized tabs. The main workflow loads and filters the catalog, displays cards, and opens a Pokémon detail overlay; the tabs present profile, evolution, matchup, statistics, and move-learning information. Shared state, cached API access, and reusable HTML helpers are internal layers. The excerpts establish the detail-tab registration pattern and several data-fetching behaviors; some cross-module wiring and unsampled tab implementations remain unverified.
Main entry points: pokemon-detail.js Detail overlay · pokemon-list.js Search and list · data-loading.js Cached API access · moves.js Moves learnset
Components 17
Pokédex catalog
- Search and list
js/pokemon-list.js - Pokémon cards
js/pokemon-list.js
Pokémon details
- Detail overlay
js/pokemon-detail.js - Tab registration
js/pokemon-detail.js
Detail tabs
- About profile
js/tabs/about.js - Evolution tree
js/tabs/evolution.js - Type matchups
js/tabs/matchups.js - Base statistics
js/tabs/stats.js - Moves learnset
js/tabs/moves.js - Game selector
js/tabs/moves-game-select.js - Moves guide
js/tabs/moves-help.js
Shared runtime
- Shared page state
js/state.js - Cached API access
js/data-loading.js - HTML components
js/components.js - App configuration
js/configuration.js
Other components
- Visitor
- PokéAPI
Connections 26
- Visitor → Search and list: searches and browses
js/pokemon-list.js - Search and list → Cached API access: requests Pokémon data
- Search and list → Pokémon cards: renders results
js/pokemon-list.js - Search and list → Shared page state: updates list state
js/state.js - Pokémon cards → Detail overlay: opens details
- Visitor → Detail overlay: opens a Pokémon
js/pokemon-detail.js - Detail overlay → Shared page state: tracks selection
js/state.js - Detail overlay → Tab registration: shows registered tabs
js/pokemon-detail.js - About profile → Tab registration: registers tab
js/tabs/about.js - Evolution tree → Tab registration: registers tab
js/tabs/evolution.js - Type matchups → Tab registration: registers tab
- Base statistics → Tab registration: registers tab
js/tabs/stats.js - Moves learnset → Tab registration: registers tab
js/tabs/moves.js - Detail overlay → About profile: renders selected tab
js/pokemon-detail.js - Detail overlay → Evolution tree: renders selected tab
js/pokemon-detail.js - Detail overlay → Type matchups: renders selected tab
- Detail overlay → Base statistics: renders selected tab
- Detail overlay → Moves learnset: renders selected tab
- About profile → Cached API access: fetches profile data
js/tabs/about.js - Evolution tree → Cached API access: fetches evolution data
js/tabs/evolution.js - Detail overlay → Cached API access: fetches species data
js/pokemon-detail.js - Cached API access → PokéAPI: fetches JSON
js/data-loading.js - Game selector → Moves learnset: selects game
js/tabs/moves-game-select.js - Moves guide → Moves learnset: guides move viewing
- Base statistics → HTML components: builds bar rows
js/tabs/stats.js - App configuration → Search and list: configures list