diff --git a/changelog.json b/changelog.json index 72679cb..9251980 100644 --- a/changelog.json +++ b/changelog.json @@ -8,7 +8,8 @@ "Call lookup: QRZ.com now fills Name with the first name only, and optionally with the operator nickname instead.", "Entry form: a narrower left column, State beside the locator, and a new line with County, CQ, ITU and DXCC.", "Station Control: the short and long path headings are repeated under the compass, at a readable size and clickable.", - "Compact mode: the window now fits the entry strip instead of leaving a band of empty space below it." + "Compact mode: the window now fits the entry strip instead of leaving a band of empty space below it.", + "HRDLog: an ON AIR option publishes your live frequency, mode and rig on hrdlog.net." ], "fr": [ "Cluster : « Masquer les contactés » ne masque plus un spot qui est un nouveau préfixe, comté, carré ou parc dans une contrée déjà faite.", @@ -16,7 +17,8 @@ "Recherche d indicatif : QRZ.com remplit désormais Nom avec le seul prénom, et au choix avec le surnom de l opérateur.", "Saisie : colonne de gauche plus étroite, État à côté du locator, et une nouvelle ligne Comté, CQ, ITU et DXCC.", "Contrôle station : les azimuts court et long chemin sont repris sous la boussole, lisibles et cliquables.", - "Mode compact : la fenêtre épouse la bande de saisie au lieu de laisser une bande vide en dessous." + "Mode compact : la fenêtre épouse la bande de saisie au lieu de laisser une bande vide en dessous.", + "HRDLog : une option ON AIR publie ta fréquence, ton mode et ta radio en direct sur hrdlog.net." ] }, { diff --git a/frontend/src/components/SettingsModal.tsx b/frontend/src/components/SettingsModal.tsx index d91c0a8..95f9ae5 100644 --- a/frontend/src/components/SettingsModal.tsx +++ b/frontend/src/components/SettingsModal.tsx @@ -1442,13 +1442,15 @@ export function SettingsModal({ onClose, onSaved, initialSection, onMainPaneChan tqsl_path: string; station_location: string; key_password: string; upload_flags: string[]; write_log: boolean; auto_upload: boolean; upload_mode: string; + // HRDLog only: publish the live frequency/mode/rig on hrdlog.net. + on_air?: boolean; }; type ExternalServices = { qrz: ExtServiceCfg; clublog: ExtServiceCfg; lotw: ExtServiceCfg; hrdlog: ExtServiceCfg; eqsl: ExtServiceCfg; cloudlog: ExtServiceCfg; delete_remote?: boolean }; const emptyExtCfg = (): ExtServiceCfg => ({ api_key: '', url: '', station_id: '', email: '', username: '', password: '', callsign: '', code: '', qth_nickname: '', force_station_callsign: '', tqsl_path: '', station_location: '', key_password: '', upload_flags: ['N', 'R'], write_log: false, - auto_upload: false, upload_mode: 'immediate', + auto_upload: false, upload_mode: 'immediate', on_air: false, }); const [extSvc, setExtSvc] = useState({ qrz: emptyExtCfg(), clublog: emptyExtCfg(), lotw: emptyExtCfg(), hrdlog: emptyExtCfg(), eqsl: emptyExtCfg(), cloudlog: emptyExtCfg(), delete_remote: false, @@ -5019,6 +5021,20 @@ export function SettingsModal({ onClose, onSaved, initialSection, onMainPaneChan {t('es.autoUpload')} + {/* ON AIR is a live status, not an upload: it needs the rig + readable, not a QSO. Its own switch beside the upload one + rather than folded into it. */} + +