feat(hamlog): send to HAMLOG.online from the right-click menu
The upload targets in the QSO context menu gain HAMLOG.online, so a selection goes there the same way it goes to QRZ or LoTW. The confirmation toast now names the service from a map rather than a chain of ternaries that stopped after three: hrdlog, eqsl and hamlog were echoed as their internal ids, which is not what the operator clicked on.
This commit is contained in:
@@ -4203,7 +4203,13 @@ export default function App() {
|
||||
// background; qslmgr:done refreshes the grid when finished.
|
||||
async function bulkSendTo(service: string, ids: number[]) {
|
||||
if (ids.length === 0) return;
|
||||
const label = service === 'qrz' ? 'QRZ.com' : service === 'clublog' ? 'Club Log' : service === 'lotw' ? 'LoTW' : service;
|
||||
// Named rather than echoed: an operator who picked a menu entry should see
|
||||
// the same words back, not the internal id.
|
||||
const LABELS: Record<string, string> = {
|
||||
qrz: 'QRZ.com', clublog: 'Club Log', lotw: 'LoTW',
|
||||
hrdlog: 'HRDLog.net', eqsl: 'eQSL.cc', hamlog: 'HAMLOG.online',
|
||||
};
|
||||
const label = LABELS[service] ?? service;
|
||||
showToast(`Uploading ${ids.length} QSO${ids.length > 1 ? 's' : ''} to ${label}…`);
|
||||
try { await UploadQSOsManual(service, ids as any); }
|
||||
catch (e: any) { setError(String(e?.message ?? e)); }
|
||||
|
||||
@@ -31,6 +31,7 @@ const UPLOAD_TARGETS: { service: string; name: string }[] = [
|
||||
{ service: 'hrdlog', name: 'HRDLog.net' },
|
||||
{ service: 'eqsl', name: 'eQSL.cc' },
|
||||
{ service: 'lotw', name: 'LoTW' },
|
||||
{ service: 'hamlog', name: 'HAMLOG.online' },
|
||||
];
|
||||
|
||||
// Lightweight right-click menu for the QSO grids. AG Grid's native context
|
||||
|
||||
Reference in New Issue
Block a user