PageSourceSearch

https://hamdash.com/assets/DXSpots-CE5qcycM.js

js hamdash.com collected 2026-09-25 20:51:52 UTC 9,541 bytes, 6 lines download raw bytes

1import{c as g,u as f,a as j,b as o,s as N,r as m,d as h,j as e,C as d,e as b,f as y,R as u,g as c,S as v,h as w,D,L as C,B,i as k,k as X,T as R,l as S,m as p,n as i,o as A,p as x,q as P,t as M,v as T,w as q,F as E,x as F,E as L}from"./index-DoiAW70p.js";import{D as Q}from"./DXpeditionsPanel-VWTILJX4.js";import{N as H,a as I,B as V}from"./NCDXFBeaconMap-Ckzi1ALV.js";import{V as K}from"./VOACAPChart-C5mJEpCV.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const O=g("Newspaper",[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]]),U=3e5;function _(r){const t=f(),{getInterval:n}=j(),{data:l}=o({queryKey:["rbn-page-data"],queryFn:async()=>{const{data:s,error:a}=await N.functions.invoke("aggregate-data",{body:{sources:["rbnData","dxNews"]}});if(a)throw a;return s},refetchInterval:n(U),refetchIntervalInBackground:!1,staleTime:24e4,enabled:r});m.useEffect(()=>{if(!l?.data)return;const s=l.data;if(s.rbnData&&t.setQueryData(["rbn-data"],s.rbnData),s.bandHealth&&t.setQueryData(["band-health"],s.bandHealth),s.solarData&&t.setQueryData(["solarData"],s.solarData),s.contests&&t.setQueryData(["contests"],s.contests),s.dxNews){const a=s.dxNews;a.items?(t.setQueryData(["dx-news"],a.items),t.setQueryData(["dx-news-source"],a.source)):t.setQueryData(["dx-news"],a)}},[l,t])}function $(){const{callsign:r}=h(),{data:t}=o({queryKey:["rbn-data"],queryFn:()=>Promise.reject("Cache-only"),enabled:!1}),n=m.useMemo(()=>{if(!t?.spots||!r)return[];const s=r.toUpperCase();return t.spots.filter(a=>a.dxCall.toUpperCase()===s)},[t?.spots,r]),l=m.useMemo(()=>n.flatMap(s=>s.reports.map(a=>({receiver:a.call,snr:a.snr,band:s.band,freq:s.freq,mode:s.mode,age:s.age}))).sort((s,a)=>a.snr-s.snr),[n]);return e.jsxs(d,{children:[e.jsx(b,{className:"pb-2 pt-3 px-3",children:e.jsxs(y,{className:"text-sm font-semibold flex items-center gap-1.5",children:[e.jsx(u,{className:"h-4 w-4 text-primary"}),"My Signal Monitor"]})}),e.jsx(c,{className:"px-3 pb-3",children:r?t?l.length===0?e.jsxs("p",{className:"text-xs text-muted-foreground py-4 text-center",children:["No RBN skimmers hearing ",e.jsx("span",{className:"font-mono font-bold text-foreground",children:r})," right now"]}):e.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"text-left p-1 text-muted-foreground",children:"Receiver"}),e.jsx("th",{className:"text-center p-1 text-muted-foreground",children:"SNR"}),e.jsx("th",{className:"text-center p-1 text-muted-foreground",children:"Band"}),e.jsx("th",{className:"text-right p-1 text-muted-foreground",children:"Age"})]})}),e.jsx("tbody",{children:l.slice(0,20).map((s,a)=>e.jsxs("tr",{className:"border-b border-border/30",children:[e.jsx("td",{className:"p-1 font-mono text-foreground",children:s.receiver}),e.jsx("td",{className:"p-1 text-center",children:e.jsxs("span",{className:`font-mono font-bold ${s.snr>=20?"text-green-500":s.snr>=10?"text-yellow-500":"text-red-500"}`,children:[s.snr," dB"]})}),e.jsx("td",{className:"p-1 text-center text-muted-foreground",children:s.band}),e.jsxs("td",{className:"p-1 text-right text-muted-foreground",children:[s.age,"s"]})]},`${s.receiver}-${a}`))})]}),e.jsxs("p",{className:"text-[10px] text-muted-foreground mt-1",children:[l.length," receiver",l.length!==1?"s":""," hearing ",r]}),e.jsxs("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:["Source: ",e.jsx("a",{href:"https://www.reversebeacon.net",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-foreground",children:"reversebeacon.net"})]})]}):e.jsx(v,{className:"h-32 w-full"}):e.jsx("p",{className:"text-xs text-muted-foreground py-4 text-center",children:"Enter your callsign to see who's hearing you"})})]})}function z(){const{data:r}=o({queryKey:["dx-news"],queryFn:()=>Promise.reject("Cache-only"),enabled:!1}),{data:t}=o({queryKey:["dx-news-source"],queryFn:()=>Promise.reject("Cache-only"),enabled:!1});return!r||r.length===0?null:e.jsx(d,{children:e.jsxs(c,{className:"p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{className:"h-4 w-4 text-primary"}),e.jsx("h2",{className:"text-sm font-bold text-foreground",children:"DX News"})]}),e.jsxs("span",{className:"text-[9px] text-muted-foreground",children:["via ",t||"DX-World.net"]})]}),e.jsx(F,{className:"max-h-64",children:e.jsx("div",{className:"space-y-2 pr-3",children:r.map((n,l)=>e.jsxs("a",{href:n.link,target:"_blank",rel:"noopener noreferrer",className:"block p-2 rounded-md hover:bg-muted/50 transition-colors group",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("span",{className:"text-xs font-medium text-foreground group-hover:text-primary transition-colors leading-snug",children:n.title}),e.jsx(L,{className:"h-3 w-3 text-muted-foreground shrink-0 mt-0.5 opacity-0 group-hover:opacity-100 transition-opacity"})]}),n.description&&e.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 line-clamp-2",children:n.description})]},l))})})]})})}const Y=()=>{w({title:"DX Spots & RBN — HamDash App",description:"Live DX cluster spots, Reverse Beacon Network data, band health and propagation tools for DXers.",keywords:"DX spots, DX cluster, RBN, Rever
6se Beacon Network, ham radio, DXing, propagation"});const{hasCallsign:r}=h();return _(r),e.jsxs("div",{className:"relative min-h-screen bg-background",children:[e.jsx("div",{className:"fixed top-0 left-0 w-4 md:w-5 lg:w-6 h-full bg-card/80 border-r border-border z-50 pointer-events-auto"}),e.jsx("div",{className:"fixed top-0 right-0 w-4 md:w-5 lg:w-6 h-full bg-card/80 border-l border-border z-50 pointer-events-auto"}),e.jsxs("div",{className:"p-3 md:p-4 pl-7 pr-7 md:pl-9 md:pr-9 lg:pl-10 lg:pr-10 space-y-3",children:[e.jsx(D,{}),e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx(u,{className:"h-5 w-5 text-primary"}),e.jsx("h1",{className:"text-lg font-bold text-foreground",children:"DX Plus"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"— Advanced DX Tools & Analysis"})]}),r?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx("h2",{className:"text-sm font-bold text-foreground",children:"Current Conditions"}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:"— Band status & predictions"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsx(B,{}),e.jsx(k,{})]}),e.jsx(X,{}),e.jsx(H,{}),e.jsx(I,{}),e.jsx(d,{children:e.jsxs(c,{className:"p-4 space-y-3",children:[e.jsx("h2",{className:"text-sm font-bold text-foreground",children:"Beacon Schedule Reference"}),e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"The 18 NCDXF/IARU beacons transmit in a fixed rotation. Each beacon transmits for 10 seconds per band, cycling through 20m → 17m → 15m → 12m → 10m before the next beacon begins. A full cycle takes 3 minutes."}),e.jsx("div",{className:"overflow-auto",children:e.jsxs(R,{children:[e.jsx(S,{children:e.jsxs(p,{children:[e.jsx(i,{className:"text-[10px] h-8 px-2",children:"#"}),e.jsx(i,{className:"text-[10px] h-8 px-2",children:"Callsign"}),e.jsx(i,{className:"text-[10px] h-8 px-2",children:"Location"})]})}),e.jsx(A,{children:V.map((t,n)=>e.jsxs(p,{children:[e.jsx(x,{className:"text-[10px] py-1.5 px-2 font-mono text-muted-foreground",children:n+1}),e.jsx(x,{className:"text-[10px] py-1.5 px-2 font-bold text-foreground",children:t.call}),e.jsx(x,{className:"text-[10px] py-1.5 px-2 text-muted-foreground",children:t.location})]},t.call))})]})})]})}),e.jsx(z,{}),e.jsxs("div",{className:"flex items-center gap-2 px-1 pt-2",children:[e.jsx("h2",{className:"text-sm font-bold text-foreground",children:"DX Cluster Spots"}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:"— Live human-reported spots"})]}),e.jsx(P,{}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsx(Q,{}),e.jsx(K,{})]}),e.jsxs("div",{className:"flex items-center gap-2 px-1 pt-2",children:[e.jsx("h2",{className:"text-sm font-bold text-foreground",children:"Reverse Beacon Network"}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:"— Automated skimmer data"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsx(M,{}),e.jsx(T,{})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:e.jsx($,{})}),e.jsx(q,{})]}):e.jsx(d,{className:"border-dashed",children:e.jsxs(c,{className:"flex flex-col items-center justify-center py-16 gap-4",children:[e.jsx(C,{className:"h-10 w-10 text-muted-foreground"}),e.jsxs("div",{className:"text-center space-y-2",children:[e.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Sign in to access DX Plus"}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-md",children:"Enter your callsign to unlock advanced DX tools including the full DX Spots table, DXpeditions tracker, and VOACAP propagation predictions."})]})]})}),e.jsx(E,{})]})]})};export{Y as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.