1import{k as m,j as e,f as x}from"./index-BseVR5nP.js";import{T as p}from"./target-D9843GSs.js";import{C as u}from"./credit-card-CX6YcRSC.js";import{T as i}from"./trending-up-B9RabdP3.js";const d=[{keyword:"buy weed online ontario interac etransfer",volume:"8,100",intent:"Transactional",priority:"Critical"},{keyword:"buy weed with bitcoin canada",volume:"5,400",intent:"Transactional",priority:"Critical"},{keyword:"ontario dispensary etransfer",volume:"4,400",intent:"Transactional",priority:"Critical"},{keyword:"cannabis dispensary accept crypto canada",volume:"3,600",intent:"Transactional",priority:"High"},{keyword:"buy cannabis with bitcoin ontario",volume:"3,200",intent:"Transactional",priority:"High"},{keyword:"weed etransfer canada",volume:"2,900",intent:"Transactional",priority:"High"},{keyword:"dispensary interac etransfer ontario",volume:"2,400",intent:"Transactional",priority:"High"},{keyword:"pay weed with usdt canada",volume:"1,900",intent:"Transactional",priority:"High"},{keyword:"cannabis dispensary near me ontario",volume:"12,000",intent:"Local",priority:"Critical"},{keyword:"weed dispensary near me toronto",volume:"9,900",intent:"Local",priority:"Critical"},{keyword:"weed store near me ontario",volume:"8,100",intent:"Local",priority:"Critical"},{keyword:"cannabis store near me ontario",volume:"6,600",intent:"Local",priority:"High"},{keyword:"dispensary open near me ontario",volume:"5,400",intent:"Local",priority:"High"},{keyword:"legal weed shop ontario 2025",volume:"4,200",intent:"Informational",priority:"High"},{keyword:"best cannabis dispensary ontario 2025",volume:"3,800",intent:"Commercial",priority:"High"},{keyword:"buy weed online ontario 2025",volume:"6,600",intent:"Transactional",priority:"Critical"},{keyword:"ontario weed delivery etransfer",volume:"3,300",intent:"Transactional",priority:"High"},{keyword:"interac etransfer cannabis payment canada",volume:"2,100",intent:"Informational",priority:"Medium"},{keyword:"how to pay dispensary with bitcoin",volume:"1,800",intent:"Informational",priority:"Medium"},{keyword:"ethereum dispensary payment canada",volume:"1,500",intent:"Informational",priority:"Medium"},{keyword:"buy weed with usdt canada",volume:"1,200",intent:"Transactional",priority:"Medium"},{keyword:"anonymous cannabis purchase ontario",volume:"1,100",intent:"Transactional",priority:"Medium"},{keyword:"crypto weed canada no id",volume:"980",intent:"Transactional",priority:"Medium"},{keyword:"cannabis payment no credit card ontario",volume:"870",intent:"Transactional",priority:"Medium"}],y={Critical:"bg-destructive/10 text-destructive border-destructive/20",High:"bg-accent/10 text-accent border-accent/20",Medium:"bg-primary/10 text-primary border-primary/20"},h={Transactional:"text-green-400",Local:"text-blue-400",Informational:"text-purple-400",Commercial:"text-orange-400"};function w(){const{data:a=[],isLoading:l}=m({queryKey:["recommended-keywords"],queryFn:async()=>(await x.functions.invoke("getRecommendedKeywords",{})).data.recommended||[]});return l?e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx("div",{className:"w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin"})}):e.jsxs("div",{className:"p-6 max-w-6xl space-y-10",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[e.jsx(p,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"text-2xl font-black text-foreground",children:"Recommended Keywords"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"High-opportunity search terms to target for fast traffic growth"})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(u,{className:"w-4 h-4 text-accent"}),e.jsxs("h2",{className:"text-base font-bold text-foreground",children:["Payment Keywords ",e.jsx("span",{className:"text-accent",children:"(e-Transfer + Crypto)"})]}),e.jsx("span",{className:"text-xs bg-accent/10 text-accent border border-accent/20 px-2 py-0.5 rounded-full font-medium ml-1",children:"High-intent traffic"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"These transactional keywords have very low competition and high buyer intent. Blog posts targeting these terms are already published on the site."}),e.jsxs("div",{className:"bg-card border border-border rounded-xl overflow-hidden",children:[e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-border bg-muted/50",children:[e.jsx("th",{className:"text-left px-4 py-3 font-semibold text-muted-foreground",children:"#"}),e.jsx("th",{className:"text-left px-4 py-3 font-semibold text-muted-foreground",children:"Keyword"}),e.jsx("th",{className:"text-left px-4 py-3 font-semibold text-muted-foreground",children:"Est. Volume/mo"}),e.jsx("th",{className:"text-left px-4 py-3 font-semibold text-muted-foreground",children:"Intent"}),e.jsx("th",{className:"text-left px-4 py-3 font-semibold text-muted-foreground",children:"Priority"})]})}),e.jsx("tbody",{className:"divide-y divide-border",children:d.map(({keyword:t,volume:n,intent:r,priority:o},s)=>e.jsxs("tr",{className:"hover:bg-muted/30 transition-colors",children:[e.jsx("td",{className:"px-4 py-3 text-muted-foreground font-medium",children:s+1}),e.jsx("td",{className:"px-4 py-3 text-foreground font-medium",children:t}),e.jsx("td",{className:"px-4 py-3 text-primary font-bold",children:n}),e.jsx("td",{className:`px-4 py-3 font-medium text-xs ${h[r]||"text-muted-foreground"}`,children:r}),e.jsx("td",{className:"px-4 py-3",children:e.jsx("span",{className:`text-xs font-semibold px-2 py-0.5 rounded-full border ${y[o]}`,children:o})})]},t))})]}),e.jsxs("div",{className:"bg-muted/30 px-4 py-3 text-xs text-muted-foreground border-t border-border",children:[d.length," payment keyword opportunities · 6 blog posts published targeting these terms"]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(i,{className:"w-4 h-4 text-primary"}),e.jsx("h2",{className:"text-base font-bold text-foreground",children:"Search Console Gaps"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"Keywords appearing in Google Search Console not yet covered by a blog post."}),a.length===0?e.jsxs("div",{className:"bg-card border border-border rounded-xl p-10 text-center",children:[e.jsx(i,{className:"w-8 h-8 text-muted-foreground mx-auto mb-3 opacity-40"}),e.jsx("p",{className:"font-medium text-muted-foreground",children:"No gaps found"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"All Search Console keywords are already covered, or no Console data is available yet."})]}):e.jsxs("div",{className:"bg-card border border-border rounded-xl overflow-hidden",children:[e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-border bg-muted/50",children:[e.jsx("th",{className:"text-left px-6 py-3 font-semibold text-muted-foreground",children:"#"}),e.jsx("th",{className:"text-left px-6 py-3 font-semibold text-muted-foreground",children:"Keyword"}),e.jsx("th",{className:"text-right px-6 py-3 font-semibold text-muted-foreground",children:"Clicks"}),e.jsx("th",{className:"text-right px-6 py-3 font-semibold text-muted-foreground",children:"Impressions"}),e.jsx("th",{className:"text-right px-6 py-3 font-semibold text-muted-foreground",children:"CTR"}),e.jsx("th",{className:"text-right px-6 py-3 font-semibold text-muted-foreground",children:"Avg. Position"})]})}),e.jsx("tbody",{className:"divide-y divide-border",children:a.map(({keyword:t,clicks:n,impressions:r,ctr:o,position:s},c)=>e.jsxs("tr",{className:"hover:bg-muted/30 transition-colors",children:[e.jsx("td",{className:"px-6 py-3 text-muted-foreground font-medium",children:c+1}),e.jsx("td",{className:"px-6 py-3 text-foreground font-medium",children:t}),e.jsx("td",{className:"px-6 py-3 text-right text-primary font-bold",children:n.toLocaleStr
1ing()}),e.jsx("td",{className:"px-6 py-3 text-right text-muted-foreground",children:r.toLocaleString()}),e.jsxs("td",{className:"px-6 py-3 text-right text-muted-foreground",children:[o,"%"]}),e.jsx("td",{className:"px-6 py-3 text-right text-muted-foreground",children:s})]},t))})]}),e.jsxs("div",{className:"bg-muted/30 px-6 py-3 text-xs text-muted-foreground border-t border-border",children:[a.length," opportunities found"]})]})]})]})}export{w 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.