From 688b0fc255b41745a8a5e8d4f6a8b3a60f9a9294 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 20 Jan 2026 12:14:52 +0100 Subject: [PATCH] feat: add "Confirmed by at least 1 service" filter to QSO view - Add 'any' confirmation type filter showing QSOs confirmed by LoTW OR DCL - Backend logic: lotwQslRstatus = 'Y' OR dclQslRstatus = 'Y' - Frontend dropdown option positioned after "All QSOs" - Shows all QSOs confirmed by at least one service (LoTW, DCL, or both) Co-Authored-By: Claude Sonnet 4.5 --- src/backend/services/lotw.service.js | 5 +++++ src/frontend/src/routes/qsos/+page.svelte | 1 + 2 files changed, 6 insertions(+) diff --git a/src/backend/services/lotw.service.js b/src/backend/services/lotw.service.js index 8d32018..42923d9 100644 --- a/src/backend/services/lotw.service.js +++ b/src/backend/services/lotw.service.js @@ -411,6 +411,11 @@ export async function getUserQSOs(userId, filters = {}, options = {}) { // Both confirmed: Confirmed by LoTW AND DCL conditions.push(eq(qsos.lotwQslRstatus, 'Y')); conditions.push(eq(qsos.dclQslRstatus, 'Y')); + } else if (filters.confirmationType === 'any') { + // Confirmed by at least 1 service: LoTW OR DCL + conditions.push( + sql`(${qsos.lotwQslRstatus} = 'Y' OR ${qsos.dclQslRstatus} = 'Y')` + ); } else if (filters.confirmationType === 'none') { // Not confirmed: Not confirmed by LoTW AND not confirmed by DCL conditions.push( diff --git a/src/frontend/src/routes/qsos/+page.svelte b/src/frontend/src/routes/qsos/+page.svelte index 71cc2cd..3fdf51a 100644 --- a/src/frontend/src/routes/qsos/+page.svelte +++ b/src/frontend/src/routes/qsos/+page.svelte @@ -592,6 +592,7 @@