How erorus/shatari-front works
Undermine Exchange is a static World of Warcraft auction-pricing frontend. Users choose a realm and locale, search or browse items, then inspect auction prices and historical detail. The TypeScript frontend consumes JSON and binary data served as static files, while account status is fetched from a same-origin endpoint. The graph preserves the major indexed modules; some connections are omitted or marked unverified because the excerpts do not show their runtime calls.
Main entry points: main.ts Frontend entry · Items.ts Item catalog · Search.ts Search and results · Auctions.ts Auction data
Components 19
Application flow
- Frontend entry
src/ts/main.ts - Search and results
src/ts/Search.ts - Category browsing
src/ts/Categories.ts - URL state
src/ts/Hash.ts - Item detail
src/ts/Detail.ts
Realm and item data
- Item catalog
src/ts/Items.ts - Localization
src/ts/Locales.ts - Realm selection
src/ts/Realms.ts - Static JSON data
json
Auction pricing
- Auction data
src/ts/Auctions.ts - Search suggestions
src/ts/Suggestions.ts - Fetch progress
src/ts/Progress.ts - Market data files
Account and presentation
- Account status
src/ts/Account.ts - Oribos migration
src/ts/UndermineMigration.ts - UI utilities
src/ts/utils.ts - Domain types
src/ts/Types.ts
Other components
- Site visitor
- Main page
index.html
Connections 40
- Site visitor → Main page: opens
README.md - Main page → Frontend entry: hosts
- Frontend entry → Search and results: initializes
src/ts/main.ts - Frontend entry → Category browsing: initializes
src/ts/main.ts - Frontend entry → URL state: initializes
src/ts/main.ts - Frontend entry → Item detail: initializes
src/ts/main.ts - Frontend entry → Item catalog: initializes
src/ts/main.ts - Frontend entry → Localization: initializes
src/ts/main.ts - Frontend entry → Realm selection: initializes
src/ts/main.ts - Frontend entry → Account status: initializes
src/ts/main.ts - Frontend entry → Oribos migration: initializes
src/ts/main.ts - Search and results → Item catalog: uses item data
src/ts/Search.ts - Search and results → Realm selection: gets selected realm
src/ts/Search.ts - Search and results → Account status: checks access
src/ts/Search.ts - Search and results → Category browsing: reads detail settings
src/ts/Search.ts - URL state → Realm selection: encodes realm
src/ts/Hash.ts - URL state → Item catalog: encodes item
src/ts/Hash.ts - URL state → Auction data: hydrates item
src/ts/Hash.ts - URL state → Item detail: opens detail
src/ts/Hash.ts - Category browsing → Item detail: imports detail view
src/ts/Categories.ts - Item catalog → Localization: registers locale callbacks
src/ts/Items.ts - Item catalog → Static JSON data: fetches catalog data
src/ts/Items.ts - Realm selection → Localization: reads locale names
src/ts/Realms.ts - Realm selection → Static JSON data: fetches realm lists
src/ts/Realms.ts - Localization → Static JSON data: fetches global strings
src/ts/Locales.ts - Auction data → Item catalog: builds item keys
src/ts/Auctions.ts - Auction data → Fetch progress: fetches auction files
src/ts/Auctions.ts - Fetch progress → Market data files: requests data
- Item detail → Auction data: uses auction data
src/ts/Detail.ts - Search suggestions → Item catalog: uses item data
src/ts/Suggestions.ts - Search suggestions → Auction data: uses auction data
src/ts/Suggestions.ts - Account status → Fetch progress: fetches user status
src/ts/Account.ts - Account status → Search and results: hides search
src/ts/Account.ts - Account status → Item detail: hides detail
src/ts/Account.ts - Oribos migration → UI utilities: imports utilities
src/ts/UndermineMigration.ts - Search and results → UI utilities: renders results
src/ts/Search.ts - Item detail → UI utilities: renders charts
src/ts/Detail.ts - Auction data → UI utilities: updates timestamps
src/ts/Auctions.ts - Item catalog → Domain types: uses domain types
src/ts/Items.ts - Auction data → Domain types: uses domain types
src/ts/Auctions.ts