Skip to content

feat(compare): add /compare#864

Draft
ugcodrr wants to merge 4 commits into
mainfrom
feat/compare-command
Draft

feat(compare): add /compare#864
ugcodrr wants to merge 4 commits into
mainfrom
feat/compare-command

Conversation

@ugcodrr
Copy link
Copy Markdown
Member

@ugcodrr ugcodrr commented May 31, 2026

  • Extract getBedWarsTable() from BedWarsProfile into a StatColumn[][]
    descriptor so stat layout is defined once and consumed by both the
    normal profile and the new compare profile
  • Add SplitPill component: split value box with per-player coloring
    (§a better / §c worse / §f equal) and ▲/▼ delta row
  • Add generic CompareProfile driven purely by the descriptor; no
    per-game renderer files needed
  • Add CompareCommand with @ subcommand bedwars; player2 defaults to
    the caller's linked account via existing missingSelfVerification logic
  • Add compare / compare-command / compare-bedwars i18n keys (en-US)
image

TODO:

  • [] Add rest of commands
  • [] Guild compare (or seperate PR)

ugcodrr and others added 2 commits May 31, 2026 04:30
- Extract getBedWarsTable() from BedWarsProfile into a StatColumn[][]
  descriptor so stat layout is defined once and consumed by both the
  normal profile and the new compare profile
- Add SplitPill component: split value box with per-player coloring
  (§a better / §c worse / §f equal) and ▲/▼ delta row
- Add generic CompareProfile driven purely by the descriptor; no
  per-game renderer files needed
- Add CompareCommand with @subcommand bedwars; player2 defaults to
  the caller's linked account via existing missingSelfVerification logic
- Add compare / compare-command / compare-bedwars i18n keys (en-US)
- pnpm lint and pnpm test:types pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fetch both players' head images (HEAD_SIZE=32px) in parallel with the
logo in the shared run() path, so every future game subcommand inherits
heads with no per-game work. Heads are passed as Image|null — a failed
fetch degrades gracefully to name-only display via the nameRow array
conditional. API base comes from the existing config-driven
getPlayerHead() on ApiService (same pattern as getPlayerSkin).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 31, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
statsify Ready Ready Preview, Comment Jun 2, 2026 2:53am

@ugcodrr ugcodrr changed the title feat(compare): add /compare command with bedwars subcommand feat(compare): add /compare May 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants