Add award rule captions and configurable point counting modes

- Add caption field to all award definitions with detailed rule explanations
- Rename Special Stations Award to Wavelog Award
- Add configurable countMode for point-based awards:
  - perBandMode: count unique (callsign, band, mode) combinations
  - perStation: count each station once
  - perQso: count every QSO
- Update backend to respect countMode in progress calculation
- Add target field to award API responses
- Fix "Needed" calculation for point-based awards
- Display caption on award detail pages with styled info box

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-16 10:14:41 +01:00
parent ac79645477
commit 436e9c2278
14 changed files with 266 additions and 78 deletions

View File

@@ -1,11 +1,13 @@
{
"id": "special-stations",
"name": "Special Stations Award",
"description": "Contact special stations to earn points - reach 50 points to complete",
"id": "wavelog-award",
"name": "Wavelog Award",
"description": "Contact special stations on multiple bands and modes to earn points - reach 50 points to complete",
"caption": "Contact special stations to earn points. Points are awarded for each unique band/mode combination confirmed. 10-point stations: DF2ET, DJ7NT, HB9HIL, LA8AJA. 5-point stations: DB4SCW, DG2RON, DG0TM, DO8MKR. Example: Working DF2ET on 20m/SSB and 20m/CW earns 20 points. Same band/mode combinations are only counted once. Only LoTW-confirmed QSOs count.",
"category": "special",
"rules": {
"type": "points",
"target": 50,
"countMode": "perBandMode",
"stations": [
{ "callsign": "DF2ET", "points": 10 },
{ "callsign": "DJ7NT", "points": 10 },