feat(qsl): HamQTH in the QSO editor's confirmation panel
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.
This commit is contained in:
@@ -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. */}
|
||||
<SelectItem value={OPSLOG_CONF}>{t('qedit.confOpsLog')}</SelectItem>
|
||||
<SelectItem value={HAMLOG_CONF}>HAMLOG.online</SelectItem>
|
||||
<SelectItem value={HAMQTH_CONF}>HamQTH</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
{confSel === HAMLOG_CONF ? (
|
||||
{confSel === HAMQTH_CONF ? (
|
||||
<>
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<div><Label>{t('qedit.sent')}</Label><QslSelect value={exVal(HAMQTH_KEYS.sent)} onChange={(v) => exPut(HAMQTH_KEYS.sent, v)} /></div>
|
||||
<div><Label>{t('qedit.dateSent')}</Label><AdifDateInput value={exVal(HAMQTH_KEYS.sentDate)} onChange={(v) => exPut(HAMQTH_KEYS.sentDate, v)} /></div>
|
||||
</div>
|
||||
<p className="text-[11px] text-muted-foreground">
|
||||
{t('qedit.qslPanelHint')} <strong>{t('qedit.saveChanges')}</strong>.
|
||||
</p>
|
||||
</>
|
||||
) : confSel === HAMLOG_CONF ? (
|
||||
<>
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<div><Label>{t('qedit.sent')}</Label><QslSelect value={exVal(HAMLOG_KEYS.sent)} onChange={(v) => exPut(HAMLOG_KEYS.sent, v)} /></div>
|
||||
@@ -869,6 +889,13 @@ export function QSOEditModal({ qso, onSave, onDelete, onClose, countries = [], b
|
||||
<td className="w-24"><StatusCell value={exVal(HAMLOG_KEYS.sent)} /></td>
|
||||
<td className="w-24"><StatusCell value={exVal(HAMLOG_KEYS.rcvd)} /></td>
|
||||
</tr>
|
||||
{/* HamQTH — sent only; the dash says there is nothing
|
||||
to receive, not that nothing was received. */}
|
||||
<tr className="text-xs">
|
||||
<td className="font-medium pr-3 py-0.5 whitespace-nowrap">HamQTH</td>
|
||||
<td className="w-24"><StatusCell value={exVal(HAMQTH_KEYS.sent)} /></td>
|
||||
<td className="w-24"><span className="block text-center text-[11px] text-muted-foreground">—</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user