diff --git a/src/frontend/src/routes/awards/[id]/+page.svelte b/src/frontend/src/routes/awards/[id]/+page.svelte index 854252f..f3effe7 100644 --- a/src/frontend/src/routes/awards/[id]/+page.svelte +++ b/src/frontend/src/routes/awards/[id]/+page.svelte @@ -299,22 +299,46 @@ // Sum points for confirmed QSOs in this column if (isMixedMode) { const sum = entities - .filter(e => e.band === band && e.confirmed) + .filter(e => { + // For SAT column, check if entity has satellite QSOs + if (band === 'SAT') { + return e.qsos && e.qsos.some(qso => qso.satName) && e.confirmed; + } + return e.band === band && e.confirmed; + }) .reduce((total, e) => total + (e.points || 0), 0); sums.set(key, sum); } else { const sum = entities - .filter(e => e.band === band && e.mode === mode && e.confirmed) + .filter(e => { + // For SAT column, check if entity has satellite QSOs + if (band === 'SAT') { + return e.qsos && e.qsos.some(qso => qso.satName) && e.mode === mode && e.confirmed; + } + return e.band === band && e.mode === mode && e.confirmed; + }) .reduce((total, e) => total + (e.points || 0), 0); sums.set(key, sum); } } else { // Count confirmed QSOs in this column if (isMixedMode) { - const count = entities.filter(e => e.band === band && e.confirmed).length; + const count = entities.filter(e => { + // For SAT column, check if entity has satellite QSOs + if (band === 'SAT') { + return e.qsos && e.qsos.some(qso => qso.satName) && e.confirmed; + } + return e.band === band && e.confirmed; + }).length; sums.set(key, count); } else { - const count = entities.filter(e => e.band === band && e.mode === mode && e.confirmed).length; + const count = entities.filter(e => { + // For SAT column, check if entity has satellite QSOs + if (band === 'SAT') { + return e.qsos && e.qsos.some(qso => qso.satName) && e.mode === mode && e.confirmed; + } + return e.band === band && e.mode === mode && e.confirmed; + }).length; sums.set(key, count); } }