From f9283cd6320672b45ad4fe7c8b7e1ddd46a99712 Mon Sep 17 00:00:00 2001 From: Joerg Date: Fri, 16 Jan 2026 09:16:24 +0100 Subject: [PATCH] Truncate grid display to 4 characters for VUCC awards For VUCC awards, ensure the grid square is truncated to 4 characters both when counting unique entities AND when displaying. This fixes VUCC award details to show 'FN31' instead of 'FN31pr', making it clear that we're counting unique 4-character grid squares. Co-Authored-By: Claude Sonnet 4.5 --- src/backend/services/awards.service.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/backend/services/awards.service.js b/src/backend/services/awards.service.js index 6430149..0ffd08a 100644 --- a/src/backend/services/awards.service.js +++ b/src/backend/services/awards.service.js @@ -283,7 +283,12 @@ export async function getAwardEntityBreakdown(userId, awardId) { // Use displayField from award rules, or fallback to entity/type let displayName = String(entity); if (rules.displayField) { - displayName = String(qso[rules.displayField] || entity); + let rawValue = qso[rules.displayField]; + // For grid-based awards, truncate to first 4 characters + if (rules.displayField === 'grid' && rawValue && rawValue.length > 4) { + rawValue = rawValue.substring(0, 4); + } + displayName = String(rawValue || entity); } else { // Fallback: try entity, state, grid, callsign in order displayName = qso.entity || qso.state || qso.grid || qso.callsign || String(entity);