Skip to content

feat: add Max Battles quick pick support#143

Merged
hokiepokedad2 merged 1 commit into
mainfrom
feature/140-maxbattle-quick-picks
Apr 6, 2026
Merged

feat: add Max Battles quick pick support#143
hokiepokedad2 merged 1 commit into
mainfrom
feature/140-maxbattle-quick-picks

Conversation

@hokiepokedad2
Copy link
Copy Markdown
Contributor

Summary

Adds maxbattle alarm type to the Quick Pick system. Closes #140.

  • Backend: QuickPickService gains IMaxBattleService injection and maxbattle cases in Apply/Remove/Count/GetValid switches. ApplyMaxBattleAsync creates 7 alarms (levels 1-5 with gmax=0, levels 7-8 with gmax=1) when all-levels mode is used.
  • Frontend: Admin quick pick dialog gets maxbattle alarm type option, Max Battles category, and form fields. List component gets color mapping.
  • Tests: QuickPickServiceSecurityTests updated with IMaxBattleService mock.

Test plan

  • dotnet build — 0 errors
  • dotnet test — 621 passed
  • ng build --production — success
  • npm run lint — warnings only
  • npx jest — 487 passed
  • Manual: create a Max Battles quick pick in admin
  • Manual: apply it as a user, verify 7 alarms created
  • Manual: remove it, verify alarms deleted

Add maxbattle alarm type to the Quick Pick system so admins can create
pre-configured Max Battle alarm templates for users.

Backend:
- Add IMaxBattleService injection to QuickPickService
- Add maxbattle case to ApplyAsync, RemoveAsync, CountRemainingUidsAsync,
  GetValidUidsAsync
- ApplyMaxBattleAsync creates 7 alarms (levels 1-5 gmax=0, 7-8 gmax=1)
  when pokemon_id=9000 and level=9000 (all-levels mode)
- BuildMaxBattle helper follows existing BuildRaid pattern

Frontend:
- Add maxbattle to alarm type dropdown in admin quick pick dialog
- Add Max Battles category option
- Add maxbattle form fields (pokemonId, level, gmax, form, move, evolution)
- Add maxbattle color to quick pick list component

Tests:
- Update QuickPickServiceSecurityTests constructor with IMaxBattleService mock

Closes #140
@hokiepokedad2 hokiepokedad2 force-pushed the feature/140-maxbattle-quick-picks branch from acc448f to 704300a Compare April 6, 2026 20:00
@hokiepokedad2
Copy link
Copy Markdown
Contributor Author

Code Review: PR !143 — Max Battles Quick Pick Support

Grade: A (Approved)

Check Result
dotnet build 0 errors
dotnet test 623 passed
ng build --production Success
npm run lint Warnings only
npx jest 487 passed

Changes (6 files, +120/-3)

  • QuickPickService.cs: Added IMaxBattleService injection, maxbattle cases in all 4 switches, ApplyMaxBattleAsync with all-levels expansion (7 alarms: 1-5 gmax=0, 7-8 gmax=1), BuildMaxBattle helper
  • QuickPickDefinition.cs: Updated AlarmType comment
  • quick-pick-admin-dialog: Added maxbattle type, Max Battles category, form fields
  • quick-pick-list: Added maxbattle color mapping
  • QuickPickServiceSecurityTests: Updated constructor mock

Verdict: APPROVED

Clean, minimal implementation following existing patterns exactly. No issues found.

@hokiepokedad2 hokiepokedad2 merged commit db83917 into main Apr 6, 2026
4 checks passed
@hokiepokedad2 hokiepokedad2 deleted the feature/140-maxbattle-quick-picks branch April 6, 2026 20:03
github-actions Bot added a commit that referenced this pull request Apr 6, 2026
hokiepokedad2 added a commit that referenced this pull request Apr 6, 2026
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.

feat: add Max Battles quick pick support

1 participant