feat(qsl): a QRZ button beside the paper-QSL search
This commit is contained in:
@@ -8,7 +8,7 @@ import {
|
||||
Select, SelectTrigger, SelectValue, SelectContent, SelectItem,
|
||||
} from '@/components/ui/select';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { FindQSOsForUpload, UploadQSOsManual, DownloadConfirmations, CancelConfirmations, ImportHamlogConfirmations, ExportHamlogUnmatched, OpenADIFFile, SaveADIFFile, SyncPOTAHunterLog, ListQSO, BulkUpdateQSL, UploadCallsign, GetSlotStats } from '../../wailsjs/go/main/App';
|
||||
import { OpenExternalURL, FindQSOsForUpload, UploadQSOsManual, DownloadConfirmations, CancelConfirmations, ImportHamlogConfirmations, ExportHamlogUnmatched, OpenADIFFile, SaveADIFFile, SyncPOTAHunterLog, ListQSO, BulkUpdateQSL, UploadCallsign, GetSlotStats } from '../../wailsjs/go/main/App';
|
||||
import { Input } from '@/components/ui/input';
|
||||
import { RecentQSOsGrid } from '@/components/RecentQSOsGrid';
|
||||
import { EventsOn } from '../../wailsjs/runtime/runtime';
|
||||
@@ -434,6 +434,18 @@ export function QSLManagerPanel({ onEditQSO, actions, paperRequest }: {
|
||||
{paperBusy ? <Loader2 className="size-3.5 animate-spin" /> : <Search className="size-3.5" />}
|
||||
{t('qslm.search')}
|
||||
</Button>
|
||||
{/* The station's QRZ page, one click away: writing a card means
|
||||
reading the address, the manager and whether they even want
|
||||
paper, and all three are on that page. */}
|
||||
<Button size="sm" variant="outline" className="h-8" disabled={!paperCall.trim()}
|
||||
title={t('qslm.qrzTitle')}
|
||||
onClick={() => {
|
||||
const c = paperCall.trim().toUpperCase();
|
||||
if (c) OpenExternalURL(`https://www.qrz.com/db/${c}`).catch(() => {});
|
||||
}}>
|
||||
<ExternalLink className="size-3.5" />
|
||||
QRZ
|
||||
</Button>
|
||||
<span className="text-[11px] text-muted-foreground self-center">{t('qslm.paperHint')}</span>
|
||||
</>
|
||||
) : (
|
||||
|
||||
Reference in New Issue
Block a user