From 77b95289e72bd83ccbcd5c32dae46d5f0212345f Mon Sep 17 00:00:00 2001 From: rouggy Date: Mon, 31 Aug 2026 18:44:35 +0200 Subject: [PATCH] feat(qsl): HamQTH in the QSO editor's confirmation panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The channel picker and the status table both list it now, sent only — HamQTH publishes no confirmation feed, so its received column shows a dash rather than an N that would read as 'not confirmed yet'. Backed by the same APP_OPSLOG_HAMQTH_SENT extras the uploader stamps. --- changelog.json | 6 +++-- frontend/src/components/QSOEditModal.tsx | 29 +++++++++++++++++++++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/changelog.json b/changelog.json index 0d0cb20..649662f 100644 --- a/changelog.json +++ b/changelog.json @@ -10,7 +10,8 @@ "DX Cluster: two new chase switches — Chase US counties and Chase new prefixes — and unchecking Chase new grids now also withdraws the NEW GRID badge. Each switch removes its badge from the spots AND its chip from the status filters, like Chase POTA always did.", "Confirmations: a HamQTH row — sent only, defaulting to R (to upload), since HamQTH publishes no confirmations to receive. Setting such a default no longer disables the auto-upload it was meant to arm (it also affected HAMLOG.online).", "New DXpeditions tab (Tools): the announced operations from NG3K’s ADXO next to the DX-World news feed. Every announcement is judged against YOUR log and carries one badge — NEW DXCC, NEW BAND, NEW SLOT… — with an “only what I need” filter, and one click adds its callsigns to the watchlist. The news headlines carry the same Watch button, over the callsigns mined out of their titles.", - "Watchlist: adding or removing a callsign now raises the same kind of notification as a new version, instead of a message inside the watchlist page — a call can be added from the cluster or the DXpeditions tab, where that message was never seen." + "Watchlist: adding or removing a callsign now raises the same kind of notification as a new version, instead of a message inside the watchlist page — a call can be added from the cluster or the DXpeditions tab, where that message was never seen.", + "QSO editor, QSL Info: a HamQTH channel and its row in the status table — sent only, the received column showing a dash since the site publishes no confirmations." ], "fr": [ "Changer de base de réglages n’affiche plus « OpsLog is already running » : la relance automatique attend désormais que l’instance qui se ferme libère son verrou au lieu de la prendre de vitesse.", @@ -20,7 +21,8 @@ "DX Cluster : deux nouvelles cases — Chasser les comtés US et Chasser les nouveaux préfixes — et décocher Chasser les nouveaux locators retire désormais aussi le badge NEW GRID. Chaque case enlève son badge des spots ET sa puce des filtres de statut, comme Chase POTA le faisait déjà.", "Confirmations : une ligne HamQTH — envoi seulement, à R (à envoyer) par défaut, HamQTH ne publiant aucune confirmation à recevoir. Définir un tel défaut ne désactive plus l’upload automatique qu’il était censé armer (cela touchait aussi HAMLOG.online).", "Nouvel onglet DXpéditions (Outils) : les opérations annoncées par l’ADXO de NG3K à côté du fil d’actualités DX-World. Chaque annonce est jugée sur VOTRE log et porte un badge — NOUVEAU DXCC, NOUVELLE BANDE, NOUVEAU SLOT… — avec un filtre « seulement ce qu’il me manque », et un clic ajoute ses indicatifs à la watchlist. Les actualités portent le même bouton Surveiller, sur les indicatifs extraits de leurs titres.", - "Watchlist : ajouter ou retirer un indicatif déclenche désormais une notification du même type que celle des nouvelles versions, au lieu d’un message dans la page watchlist — un indicatif peut être ajouté depuis le cluster ou l’onglet DXpéditions, où ce message n’était jamais vu." + "Watchlist : ajouter ou retirer un indicatif déclenche désormais une notification du même type que celle des nouvelles versions, au lieu d’un message dans la page watchlist — un indicatif peut être ajouté depuis le cluster ou l’onglet DXpéditions, où ce message n’était jamais vu.", + "Éditeur de QSO, onglet QSL : un canal HamQTH et sa ligne dans le tableau des statuts — envoi seulement, la colonne reçu affichant un tiret puisque le site ne publie aucune confirmation." ] }, { diff --git a/frontend/src/components/QSOEditModal.tsx b/frontend/src/components/QSOEditModal.tsx index 7a78a9b..8a617b0 100644 --- a/frontend/src/components/QSOEditModal.tsx +++ b/frontend/src/components/QSOEditModal.tsx @@ -98,6 +98,15 @@ const HAMLOG_KEYS = { rcvdDate: 'APP_OPSLOG_HAMLOG_QSL_DATE', }; +// HamQTH — extras again (ADIF names no HamQTH field), and SENT only: the site +// publishes no confirmation feed, so a received column here would be a promise +// nothing can keep. +const HAMQTH_CONF = 'HAMQTH'; +const HAMQTH_KEYS = { + sent: 'APP_OPSLOG_HAMQTH_SENT', + sentDate: 'APP_OPSLOG_HAMQTH_SENT_DATE', +}; + // Colour-coded status cell for the confirmation grid. function StatusCell({ value }: { value?: string }) { const { t } = useI18n(); @@ -755,11 +764,22 @@ export function QSOEditModal({ qso, onSave, onDelete, onClose, countries = [], b to bind to. */} {t('qedit.confOpsLog')} HAMLOG.online + HamQTH - {confSel === HAMLOG_CONF ? ( + {confSel === HAMQTH_CONF ? ( + <> +
+
exPut(HAMQTH_KEYS.sent, v)} />
+
exPut(HAMQTH_KEYS.sentDate, v)} />
+
+

+ {t('qedit.qslPanelHint')} {t('qedit.saveChanges')}. +

+ + ) : confSel === HAMLOG_CONF ? ( <>
exPut(HAMLOG_KEYS.sent, v)} />
@@ -869,6 +889,13 @@ export function QSOEditModal({ qso, onSave, onDelete, onClose, countries = [], b + {/* HamQTH — sent only; the dash says there is nothing + to receive, not that nothing was received. */} + + HamQTH + + +