Skip to content

[feat]: New status page - #2194

Open
FalconChipp wants to merge 4 commits into
masterfrom
New-Status-Page
Open

[feat]: New status page#2194
FalconChipp wants to merge 4 commits into
masterfrom
New-Status-Page

Conversation

@FalconChipp

Copy link
Copy Markdown
Member

Changes

Rewrite the /status page and add supporting endpoints:

  • Dynamic GitHub SVG badge — layout and columns now generated from whichever languages are compiled in; automatically adds a Total Asia column when Asian language data is present; includes CardMarket and TCGPlayer pricing coverage rows
  • Asia data endpoint — new GET /status/data/asia/:lang returns per-series/set breakdown for Asian languages (ja, ko, zh-tw, zh-cn, id, th), which use completely different set IDs from the international catalogue
  • Revamped status UI — matches tcgdex.dev styling (Lexend font, #c80040 accent, dark-mode aware CSS variables); collapsible sections; Set Completion table with Summary / International / Asia filter tabs; per-set card drilldown modal

Details

Asian languages (ja, ko, zh-tw, zh-cn, id, th) cannot be represented in the international Sets table because they use independent set hierarchies — the new /data/asia/:lang endpoint exposes their per-series/set counts, and the status page renders them in a dedicated view with a language picker and lazy-loaded series accordion.

The GitHub SVG badge is now fully dynamic: columns are built from langStats at request time (sorted alphabetically), so adding or removing a compiled language requires no code changes.

Add Dockerfile.en-ja and docker-compose.en-ja.yml for en/ja builds. Make compiler honor COMPILE_LANGS env var. Add status accessors to providers (getCardMarketStatus, getTCGPlayerStatus). Completely refactor server/src/status.ts to load generated stats from disk, compute pricing/sets/cards data, expose /status/data, /status/data/sets/:setId and /status/github.svg endpoints, and serve a modern interactive HTML status UI with per-set drilldown and region checks. Replace many static JSON imports with runtime reads and calculated metrics.
Remove Dockerfile.en-ja and rename docker-compose.en-ja.yml → docker-compose.local.yml (now uses Dockerfile). Minor log change in server/src/index.ts. Large refactor in server/src/status.ts: drop provider/region static data, add Asia series-name cache and a new /data/asia/:lang endpoint, change CardEntry/pricing shape to track image/hasCm/hasTp, generate a dynamic GitHub SVG, and overhaul the status HTML/CSS/JS (fonts, colors, collapsible sections, Asia vs international set views, client-side behavior and filtering).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants