PageSourceSearch

https://app.contentpulse.io/assets/RedditOpportunitiesPage-CfsaCiRn.js

js contentpulse.io collected 2026-09-24 14:03:33 UTC 45,573 bytes, 1 lines download raw bytes

1import{j as e,u as Me}from"./vendor-query-CKtLK1dq.js";import{r as i,c as be,i as Oe,d as Ke,N as $e}from"./vendor-react-jvDhuP46.js";import{G as j,w as he,a3 as P,u as Re,b as D,M as U,S as te,b8 as se,ak as Ee,g as H,al as ge,bc as Ne,d as Z,f as Ve,r as ke,a2 as we,dv as Ae,aK as Ie,v as ze,ba as Be}from"./index-CvWaq0wg.js";import{u as le,a as Fe,b as ye,c as We,d as Ue,e as De,f as He,g as Ge,h as qe}from"./useReddit-DvEHYr0q.js";import{E as Ce}from"./EmptyState-DE5cxFiM.js";import{T as Se}from"./Toggle-cv-SuYBU.js";import{u as re}from"./vendor-i18n-DMkF1ssK.js";import{C as Qe}from"./CopyButton-CZxCmGWZ.js";import{u as ae}from"./useDebouncedValue-DyEKpfSt.js";import{S as Je}from"./SegmentToggle-D5BehpCY.js";import"./vendor-axios-DEWho_Gc.js";function Ye(a){return a>=7?"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":a>=4?"bg-amber-500/10 text-amber-600 dark:text-amber-400":"bg-slate-500/10 text-slate-500 dark:text-slate-400"}function X({label:a,value:r}){return e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:r==null?"—":P(r)}),e.jsx("p",{className:"truncate text-[11px] uppercase tracking-wide text-slate-400",children:a})]})}function Xe({name:a,iconUrl:r}){const[o,m]=i.useState(!1),n=(a[0]??"r").toUpperCase();return r&&!o?e.jsx("img",{src:r,alt:"",loading:"lazy",onError:()=>m(!0),className:"h-9 w-9 shrink-0 rounded-full object-cover ring-1 ring-slate-200 dark:ring-white/[0.08]"}):e.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-orange-500/10 text-sm font-bold text-orange-500",children:n})}function Ze({subreddit:a,selected:r,onSelect:o,onToggleEnabled:m,toggling:n}){const{t:x}=re("dashboard"),_=Number(a.relevance_score??0);return e.jsxs(j,{hover:!1,className:he("flex h-full flex-col gap-3 transition-shadow",r&&"ring-2 ring-violet-500/60",!a.is_enabled&&"opacity-70"),children:[e.jsxs("button",{type:"button",onClick:o,className:"flex flex-1 flex-col gap-3 text-left",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex min-w-0 items-start gap-2.5",children:[e.jsx(Xe,{name:a.name,iconUrl:a.icon_url}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"truncate text-sm font-semibold text-orange-500",children:["r/",a.name]}),a.title&&e.jsx("p",{className:"mt-0.5 line-clamp-1 text-xs text-slate-500 dark:text-slate-400",children:a.title}),a.community_rank&&e.jsx("p",{className:"mt-0.5 truncate text-[11px] font-medium text-slate-400",children:a.community_rank})]})]}),e.jsx("span",{className:he("shrink-0 rounded-md px-2 py-1 text-xs font-bold",Ye(_)),children:_.toFixed(1)})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-x-2 gap-y-1.5",children:[e.jsx(X,{label:x("reddit.members"),value:a.subscribers}),e.jsx(X,{label:x("reddit.topics"),value:a.topics_count}),e.jsx(X,{label:x("reddit.avgUpvotes"),value:a.avg_upvotes}),(a.weekly_visitors!=null||a.weekly_contributions!=null)&&e.jsxs(e.Fragment,{children:[e.jsx(X,{label:x("reddit.weeklyVisitors",{defaultValue:"Weekly visitors"}),value:a.weekly_visitors}),e.jsx(X,{label:x("reddit.weeklyPosts",{defaultValue:"Weekly posts"}),value:a.weekly_contributions})]})]}),a.matched_keywords.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1",children:a.matched_keywords.slice(0,6).map(u=>e.jsx("span",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-[11px] text-slate-600 dark:bg-white/[0.06] dark:text-slate-300",children:u},u))})]}),e.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-slate-200/70 pt-3 dark:border-white/[0.06]",children:[e.jsx(Se,{checked:a.is_enabled,onChange:m,disabled:n,label:a.is_enabled?x("reddit.enabled"):x("reddit.disabled")}),e.jsxs("button",{type:"button",onClick:o,className:"inline-flex items-center gap-1 text-xs font-medium text-violet-600 transition-colors hover:text-violet-700 dark:text-violet-400",children:[x("reddit.viewTopics"),e.jsx("svg",{className:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})})]})]})]})}const et=[{value:"",labelKey:"reddit.allStatuses"},{value:"new",labelKey:"reddit.statusNew"},{value:"saved",labelKey:"reddit.statusSaved"},{value:"dismissed",labelKey:"reddit.statusDismissed"},{value:"replied",labelKey:"reddit.statusReplied"}],tt=[{value:"relevance",labelKey:"reddit.sortBestFit"},{value:"newest",labelKey:"reddit.sortNewest"},{value:"score",labelKey:"reddit.sortTopScore"},{value:"comments",labelKey:"reddit.sortMostComments"}];function st({websiteId:a,subreddit:r,subredditMeta:o,onBack:m}){const{t:n}=re("dashboard"),{isAdmin:x}=Re(),_=be(),[u,y]=i.useState(""),[d,v]=i.useState("newest"),[V,h]=i.useState(""),[T,F]=i.useState(1),[O,C]=i.useState(""),K=ae(V);i.useEffect(()=>{F(1)},[u,d,K,r]);const{data:N,isLoading:$}=le({website_id:a,subreddit:r,...u?{status:u}:{},...K?{search:K}:{},sort:d,page:T,per_page:ge}),A=Fe(),R=ye(),b=We(),[I,k]=i.useState(null),[G,L]=i.useState(""),[M,g]=i.useState(null),[l,w]=i.useState(null),[E,q]=i.useState(new Set),W=s=>{q(c=>{const f=new Set(c);return f.has(s)?f.delete(s):f.add(s),f})},z=(N==null?void 0:N.data)??[],Q=(N==null?void 0:N.last_page)??1,ne=(N==null?void 0:N.total)??0,Y=async(s,c)=>{C("");try{await A.mutateAsync({id:s.id,status:c})}catch(f){C(H(f,n("reddit.updateOpportunityFailed")))}},p=s=>{k(s.id),L(s.admin_note??"")},B=()=>{k(null),L("")},ie=async s=>{C("");try{await R.mutateAsync({id:s.id,admin_note:G.trim()||null}),k(null),L("")}catch(c){C(H(c,"Failed to save note."))}},J=async(s,c)=>{C(""),w(null);try{const f=await b.mutateAsync({id:s.id,type:c});g({opp:s,prompt:f.data.prompt})}catch(f){C(H(f,n("reddit.promptFailed",{defaultValue:"Failed to generate prompt."})))}};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex flex-wrap items-center justify-between gap-3",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{type:"button",onClick:m,className:"inline-flex items-center gap-1.5 rounded-lg border border-slate-200 px-3 py-1.5 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-50 dark:border-white/10 dark:text-slate-300 dark:hover:bg-white/[0.04]",children:[e.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})}),n("reddit.allSubreddits")]}),e.jsxs("span",{className:"inline-flex items-center rounded-md bg-orange-500/10 px-2 py-0.5 text-sm font-semibold text-orange-500",children:["r/",r]})]})}),o&&e.jsx(j,{padding:"sm",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-2",children:[o.subscribers!=null&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm",children:[e.jsx("span",{className:"text-slate-400 dark:text-slate-500",children:"Members"}),e.jsx("span",{className:"font-semibold text-slate-700 dark:text-slate-200",children:P(o.subscribers)})]}),o.weekly_visitors!=null&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm",children:[e.jsx("span",{className:"text-slate-400 dark:text-slate-500",children:"Weekly visitors"}),e.jsx("span",{className:"font-semibold text-emerald-600 dark:text-emerald-400",children:P(o.weekly_visitors)})]}),o.weekly_contributions!=null&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm",children:[e.jsx("span",{className:"text-slate-400 dark:text-slate-500",children:"Weekly posts"}),e.jsx("span",{className:"font-semibold text-sky-600 dark:text-sky-400",children:P(o.weekly_contributions)})]}),o.topics_count!=null&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm",children:[e.jsx("span",{className:"text-slate-400 dark:text-slate-500",children:"Topics tracked"}
1),e.jsx("span",{className:"font-semibold text-violet-600 dark:text-violet-400",children:P(o.topics_count)})]})]}),o.description&&e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:o.description}),o.rules&&o.rules.length>0&&e.jsxs("details",{className:"group",children:[e.jsxs("summary",{className:"cursor-pointer select-none text-xs font-medium text-slate-500 transition-colors hover:text-violet-600 dark:text-slate-400 dark:hover:text-violet-400",children:["Community rules (",o.rules.length,")"]}),e.jsx("ol",{className:"mt-2 space-y-1.5 pl-1",children:o.rules.map(s=>e.jsxs("li",{className:"flex gap-2 text-xs text-slate-600 dark:text-slate-300",children:[e.jsxs("span",{className:"shrink-0 font-mono text-slate-400 dark:text-slate-500",children:[s.number,"."]}),e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:s.title}),s.description&&e.jsxs("span",{className:"ml-1 text-slate-400 dark:text-slate-500",children:["— ",s.description]})]})]},s.number))})]})]})}),O&&e.jsx("div",{className:"rounded-lg border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-sm text-rose-400",children:O}),e.jsx(j,{padding:"sm",children:e.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:flex sm:flex-wrap sm:items-end",children:[e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto sm:flex-1 sm:min-w-[200px]",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:n("common:actions.search")}),e.jsx("input",{className:`${D} w-full`,placeholder:n("reddit.searchPostPlaceholder"),value:V,onChange:s=>h(s.target.value)})]}),e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:n("reddit.status")}),e.jsx("select",{className:`${U} w-full sm:w-auto sm:min-w-[140px]`,value:u,onChange:s=>y(s.target.value),children:et.map(s=>e.jsx("option",{value:s.value,children:n(s.labelKey)},s.value||"all"))})]}),e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:n("reddit.sort")}),e.jsx("select",{className:`${U} w-full sm:w-auto sm:min-w-[140px]`,value:d,onChange:s=>v(s.target.value),children:tt.map(s=>e.jsx("option",{value:s.value,children:n(s.labelKey)},s.value))})]})]})}),$?e.jsx(j,{children:e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-violet-500 border-t-transparent"})})}):z.length===0?e.jsx(j,{children:e.jsx("p",{className:"py-8 text-center text-sm text-slate-500 dark:text-slate-400",children:n("reddit.noTopics",{subreddit:r})})}):e.jsxs("div",{className:"space-y-3",children:[z.map(s=>e.jsx(j,{children:e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(te,{status:s.status}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md bg-orange-500/10 px-2 py-0.5 text-xs font-semibold text-orange-600 dark:text-orange-400",title:n("reddit.scoreTip"),children:["▲ ",P(s.score)]}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md bg-sky-500/10 px-2 py-0.5 text-xs font-semibold text-sky-600 dark:text-sky-400",children:["💬 ",P(s.num_comments)]}),s.relevance_score!==null&&e.jsxs("span",{className:`inline-flex items-center rounded-md px-2 py-0.5 text-xs font-semibold ${s.relevance_score>=7?"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":s.relevance_score>=4?"bg-amber-500/10 text-amber-600 dark:text-amber-400":"bg-slate-500/10 text-slate-500 dark:text-slate-400"}`,title:n("reddit.fitScoreTitle"),children:[n("reddit.relevanceLabel"),": ",s.relevance_score.toFixed(1)]}),s.posted_at&&e.jsx("span",{className:"text-xs text-slate-400",children:se(s.posted_at)})]}),x&&e.jsxs("div",{className:"relative",children:[e.jsx("button",{type:"button",onClick:()=>w(l===s.id?null:s.id),className:"rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-slate-600 dar
1k:hover:bg-white/[0.06] dark:hover:text-slate-200",children:e.jsx("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("path",{d:"M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z"})})}),l===s.id&&e.jsxs("div",{className:"absolute right-0 z-10 mt-1 w-56 rounded-lg border border-slate-200 bg-white py-1 shadow-lg dark:border-white/10 dark:bg-slate-800",children:[e.jsxs("button",{type:"button",onClick:()=>J(s,"soft_sell"),disabled:b.isPending,className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm text-slate-700 transition-colors hover:bg-slate-50 dark:text-slate-200 dark:hover:bg-white/[0.06]",children:[e.jsx("svg",{className:"h-4 w-4 text-violet-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 01.865-.501 48.172 48.172 0 003.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.
1123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z"})}),n("reddit.promptSoftSell",{defaultValue:"Soft sell comment"})]}),e.jsxs("button",{type:"button",onClick:()=>J(s,"article_driven"),disabled:b.isPending,className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm text-slate-700 transition-colors hover:bg-slate-50 dark:text-slate-200 dark:hover:bg-white/[0.06]",children:[e.jsx("svg",{className:"h-4 w-4 text-emerald-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244"})}),n("reddit.promptArticle",{defaultValue:"Article-driven comment"})]}),e.jsxs("button",{type:"button",onClick:()=>J(s,"article_picker"),disabled:b.isPending,className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm text-slate-700 transition-colors hover:bg-slate-50 dark:text-slate-200 dark:hover:bg-white/[0.06]",children:[e.jsx("svg",{className:"h-4 w-4 text-sky-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zM3.75 12h.007v.008H3.75V12zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm-.375 5.25h.007v.008H3.75v-.008zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"})}),"Pick article"]})]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("a",{href:s.permalink??s.url??"#",target:"_blank",rel:"noopener noreferrer",className:"text-base font-semibold text-slate-900 hover:text-violet-600 dark:text-white dark:hover:text-violet-400",children:s.title}),e.jsx("button",{type:"button",onClick:()=>_(a?`/websites/${a}/reddit/${encodeURIComponent(r)}/${s.id}`:`/reddit/${encodeURIComponent(r)}/${s.id}`),className:"mt-1 shrink-0 rounded p-0.5 text-slate-400 transition-colors hover:text-violet-500 dark:hover:text-violet-400",title:n("reddit.viewDetail",{defaultValue:"View details"}),children:e.jsxs("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:[e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"}),e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})})]}),s.body&&e.jsx("p",{className:"mt-1 whitespace-pre-line text-sm text-slate-500 dark:text-slate-400",children:s.body})]}),(s.author||s.matched_keywords.length>0)&&e.jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-slate-500 dark:text-slate-400",children:[s.author&&e.jsxs("span",{children:["u/",s.author]}),s.matched_keywords.length>0&&e.jsx("span",{className:"flex flex-wrap gap-1",children:s.matched_keywords.map(c=>e.jsx("span",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-[11px] text-slate-600 dark:bg-white/[0.06] dark:text-slate-300",children:c},c))})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[s.status!=="saved"&&e.jsx("button",{type:"button",onClick:()=>Y(s,"saved"),className:"rounded-lg bg-emerald-500/10 px-3 py-1.5 text-xs font-medium text-emerald-600 transition-colors hover:bg-emerald-500/20 dark:text-emerald-400",children:n("reddit.save")}),s.status!=="dismissed"&&e.jsx("button",{type:"button",onClick:()=>Y(s,"dismissed"),className:"rounded-lg bg-slate-100 px-3 py-1.5 text-xs font-medium text-slate-600 transition-colors hover:bg-slate-200 dark:bg-white/[0.06] dark:text-slate-300 dark:hover:bg-white/[0.1]",children:n("reddit.dismiss")}),s.status!=="new"&&e.jsx("button",{type:"button",onClick:()=>Y(s,"new"),className:"rounded-lg px-3 py-1.5 text-xs font-medium text-slate-500 transition-colors hover:bg-slate-100 dar
1k:hover:bg-white/[0.06]",children:n("reddit.markNew")})]}),I===s.id?e.jsxs("div",{className:"flex flex-col gap-2 border-t border-slate-100 pt-2 dark:border-white/[0.06]",children:[e.jsx("textarea",{className:`${D} min-h-[60px] resize-y text-sm`,value:G,onChange:c=>L(c.target.value),placeholder:n("reddit.notePlaceholder",{defaultValue:"Add a note..."}),maxLength:2e3,autoFocus:!0}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:()=>ie(s),disabled:R.isPending,className:"rounded-lg bg-violet-500/10 px-3 py-1 text-xs font-medium text-violet-600 transition-colors hover:bg-violet-500/20 disabled:opacity-50 dark:text-violet-400",children:R.isPending?n("common:actions.saving",{defaultValue:"Saving..."}):n("common:actions.save",{defaultValue:"Save"})}),e.jsx("button",{type:"button",onClick:B,className:"rounded-lg px-3 py-1 text-xs font-medium text-slate-500 transition-colors hover:bg-slate-100 dark:hover:bg-white/[0.06]",children:n("common:actions.cancel",{defaultValue:"Cancel"})})]})]}):e.jsx("div",{className:"border-t border-slate-100 pt-2 dark:border-white/[0.06]",children:s.admin_note?e.jsxs("button",{type:"button",onClick:()=>p(s),className:"group flex w-full items-start gap-2 text-left",children:[e.jsx("svg",{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-slate-400 group-hover:text-violet-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"})}),e.jsx("span",{className:"text-xs text-slate-500 group-hover:text-slate-700 dark:text-slate-400 dark:group-hover:text-slate-200",children:s.admin_note})]}):e.jsxs("button",{type:"button",onClick:()=>p(s),className:"flex items-center gap-1.5 text-xs text-slate-400 transition-colors hover:text-violet-500 dark:text-slate-500 dark:hover:text-violet-400",children:[e.jsx("svg",{className:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"})}),n("reddit.addNote",{defaultValue:"Add note"})]})}),s.comments&&s.comments.length>0&&e.jsxs("div",{className:"border-t border-slate-100 pt-2 dark:border-white/[0.06]",children:[e.jsxs("button",{type:"button",onClick:()=>W(s.id),className:"flex items-center gap-1.5 text-xs font-medium text-slate-500 transition-colors hover:text-violet-600 dark:text-slate-400 dark:hover:text-violet-400",children:[e.jsx("svg",{className:`h-3.5 w-3.5 transition-transform ${E.has(s.id)?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})}),E.has(s.id)?n("reddit.hideComments",{defaultValue:"Hide comments ({{count}})",count:s.comments.length}):n("reddit.showComments",{defaultValue:"Show comments ({{count}})",count:s.comments.length})]}),E.has(s.id)&&e.jsx("div",{className:"mt-2 space-y-2",children:s.comments.map((c,f)=>e.jsxs("div",{className:"rounded-lg bg-slate-50 px-3 py-2 dark:bg-white/[0.03]",children:[e.jsxs("div",{className:"flex items-center gap-2 text-[11px] text-slate-400 dark:text-slate-500",children:[e.jsxs("span",{className:"font-semibold text-slate-600 dark:text-slate-300",children:["u/",c.author]}),e.jsxs("span",{children:["▲ ",c.upvotes]}),c.date&&e.jsx("span",{children:se(c.date)}),c.url&&e.jsx("a",{href:c.url,target:"_blank",rel:"noopener noreferrer",className:"ml-auto text-violet-500 hover:text-violet-600 dark:text-violet-400",children:"↗"})]}),e.jsx("p",{className:"mt-1 whitespace-pre-line text-xs text-slate-600 dark:text-slate-300",children:c.comment})]},c.url??f))})]})]})},s.id)),Q>1&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm text-slate-500 dark:text-slate-400",children:n("reddit.pageSummary",{page:T,totalPages:Q,total:P(ne)})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:()=>F(s=>Math.max(1,s-1)),disabled:T<=1,className:"rounded-lg border border-slate-200 px-3 py-1.5 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-40 dark:border-white/10 dark:text-slate-300 dark:hover:bg-white/[0.04]",children:n("common:pagination.previous")}),e.jsx("button",{type:"button",onClick:()=>F(s=>Math.min(Q,s+1)),disabled:T>=Q,className:"rounded-lg border border-slate-200 px-3 py-1.5 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-40 dark:border-white/10 dark:text-slate-300 dark:hover:bg-white/[0.04]",children:n("common:pagination.next")})]})]})]}),M&&e.jsx(Ee,{isOpen:!0,onClose:()=>g(null),title:n("reddit.promptModalTitle",{defaultValue:"Generated Prompt"}),size:"xl",children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:n("reddit.promptModalDesc",{defaultValue:"Copy this prompt and paste it into your AI assistant to generate a Reddit comment."})}),e.jsx("textarea",{className:`${D} min-h-[300px] resize-y font-mono text-sm`,value:M.prompt,onChange:s=>g({...M,prompt:s.target.value}),readOnly:!1}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(Qe,{text:M.prompt}),e.jsx("button",{type:"button",onClick:()=>g(null),className:"rounded-lg border border-slate-200 px-4 py-2 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-50 dark:border-white/10 dark:text-slate-300 dark:hover:bg-white/[0.04]",children:n("common:actions.close",{defaultValue:"Close"})})]})]})})]})}const at=[{value:"relevance",labelKey:"reddit.sortRelevance"},{value:"newest",labelKey:"reddit.sortNewest"},{value:"score",labelKey:"reddit.sortTopScore"}];function lt({websiteId:a}){const{t:r}=re("dashboard"),o=be(),[m,n]=i.useState("all"),[x,_]=i.useState(""),[u,y]=i.useState("newest"),[d,v]=i.useState(1),V=ae(x),{data:h,isLoading:T}=le({website_id:a,comment_status:m,...V?{search:V}:{},sort:u,page:d,per_page:ge}),F=(h==null?void 0:h.data)??[],O=(h==null?void 0:h.last_page)??1,C=ye(),K=Ue(),[N,$]=i.useState(null),[A,R]=i.useState(""),[b,I]=i.useState(""),k=i.useCallback(l=>{n(l),v(1)},[]),G=i.useCallback(async l=>{I("");try{await C.mutateAsync({id:l,admin_note:A}),$(null)}catch(w){I(H(w,"Failed to save comment."))}},[A,C]),L=i.useCallback(async l=>{I("");try{await K.mutateAsync({id:l,commentUrl:null})}
1catch(w){I(H(w,"Failed to mark as sent."))}},[K]),M=[{value:"all",label:r("reddit.commentStatusAll")},{value:"draft",label:r("reddit.commentStatusDraft")},{value:"sent",label:r("reddit.commentStatusSent")}],g=F;return e.jsxs("div",{className:"space-y-4",children:[e.jsx(j,{padding:"sm",children:e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx(Je,{value:m,onChange:k,options:M}),e.jsx("input",{className:`${D} flex-1 min-w-[180px]`,placeholder:r("reddit.searchPostPlaceholder"),value:x,onChange:l=>{_(l.target.value),v(1)}}),e.jsx("select",{className:`${U} w-auto min-w-[130px]`,value:u,onChange:l=>{y(l.target.value),v(1)},children:at.map(l=>e.jsx("option",{value:l.value,children:r(l.labelKey)},l.value))})]})}),b&&e.jsx("div",{className:"rounded-lg border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-sm text-rose-400",children:b}),T?e.jsx(j,{children:e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-violet-500 border-t-transparent"})})}):g.length===0?e.jsx(Ce,{icon:e.jsx("svg",{className:"h-12 w-12",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.087.16 2.185.283 3.293.369V21l4.076-4.076a1.526 1.526 0 011.037-.443 48.282 48.282 0 005.68-.494c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.
1123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z"})}),title:r("reddit.noCommentsTitle"),description:r("reddit.noCommentsDescription")}):e.jsxs("div",{className:"space-y-3",children:[g.map(l=>{const w=l.admin_note&&l.admin_note.trim()!==""&&!l.comment_posted_at,E=!!l.comment_posted_at,q=N===l.id;return e.jsxs(j,{hover:!1,className:"!p-4",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"mb-1 flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:"text-[11px] font-medium text-violet-500 dark:text-violet-400",children:["r/",l.subreddit]}),E&&e.jsx(te,{status:"replied"}),w&&e.jsx(te,{status:"draft"}),l.comment_type&&e.jsx("span",{className:"rounded bg-fuchsia-500/10 px-1.5 py-0.5 text-[10px] font-medium text-fuchsia-600 dark:text-fuchsia-400",children:l.comment_type.replace("_"," ")}),l.relevance_score!=null&&e.jsx("span",{className:"text-[10px] font-semibold text-emerald-600 dark:text-emerald-400",title:r("reddit.fitScoreTitle"),children:r("reddit.fit",{score:l.relevance_score.toFixed(1)})})]}),e.jsx("button",{type:"button",onClick:()=>o(`/websites/${a}/reddit/${encodeURIComponent(l.subreddit)}/${l.id}`),className:"text-left text-sm font-semibold text-slate-800 hover:text-violet-600 dark:text-white dark:hover:text-violet-400",children:Ne(l.title,100)}),e.jsxs("div",{className:"mt-0.5 flex items-center gap-3 text-[11px] text-slate-400 dark:text-slate-500",children:[l.posted_at&&e.jsx("span",{children:se(l.posted_at)}),e.jsxs("span",{children:[l.score," pts"]}),e.jsx("span",{children:r("reddit.comments_other",{formatted:l.num_comments,count:l.num_comments})})]})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[l.url&&e.jsx("a",{href:l.url,target:"_blank",rel:"noopener noreferrer",className:"text-slate-400 hover:text-slate-600 dark:hover:text-slate-300",title:"Open on Reddit",children:e.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-6-4.5h6m0 0v6m0-6L10.5 13.5"})})}),e.jsx("button",{type:"button",onClick:()=>o(`/websites/${a}/reddit/${encodeURIComponent(l.subreddit)}/${l.id}`),className:"text-slate-400 hover:text-violet-600 dark:hover:text-violet-400",title:"View detail",children:e.jsxs("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:[e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"}),e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})})]})]}),e.jsx("div",{className:"mt-3 rounded-lg border border-slate-200/70 bg-slate-50 p-3 dark:border-white/[0.06] dark:bg-white/[0.02]",children:q?e.jsxs("div",{className:"space-y-2",children:[e.jsx("textarea",{className:`${D} min-h-[80px] w-full resize-y`,value:A,onChange:W=>R(W.target.value),maxLength:2e3,placeholder:r("reddit.notePlaceholder")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Z,{size:"sm",onClick:()=>G(l.id),loading:C.isPending,children:"Save"}),e.jsx(Z,{size:"sm",variant:"ghost",onClick:()=>$(null),children:"Cancel"})]})]}):e.jsxs("div",{children:[l.admin_note?e.jsxs("div",{children:[e.jsx("p",{className:"whitespace-pre-wrap text-xs text-slate-600 dark:text-slate-300",children:l.admin_note}),e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:()=>{$(l.id),R(l.admin_note??"")},className:"text-[11px] font-medium text-violet-500 hover:text-violet-700 dark:text-violet-400",children:r("reddit.editComment")}),w&&e.jsx("button",{type:"button",onClick:()=>L(l.id),className:"text-[11px] font-medium text-emerald-500 hover:text-emerald-700 dark:text-emerald-400",children:"Mark as sent"})]})]}):e.jsx("button",{type:"button",onClick:()=>{$(l.id),R("")},className:"text-xs text-slate-400 hover:text-violet-500 dark:text-slate-500",children:r("reddit.addNote")}),E&&l.comment_posted_url&&e.jsx("a",{href:l.comment_posted_url,target:"_blank",rel:"noopener noreferrer",className:"mt-1 inline-block text-[11px] text-violet-500 hover:underline",children:"View posted comment"})]})})]},l.id)}),O>1&&e.jsxs("div",{className:"flex items-center justify-between pt-2",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:r("reddit.pageSummary",{page:d,totalPages:O,total:(h==null?void 0:h.total)??0})}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(Z,{size:"sm",variant:"ghost",disabled:d<=1,onClick:()=>v(l=>Math.max(1,l-1)),children:"Prev"}),e.jsx(Z,{size:"sm",variant:"ghost",disabled:d>=O,onClick:()=>v(l=>l+1),children:"Next"})]})]})]})]})}const rt=500;function nt({websiteId:a}){var y,d;const{data:r}=le({website_id:a,comment_status:"sent",sort:"commented",per_page:1}),o=((d=(y=r==null?void 0:r.data)==null?void 0:y[0])==null?void 0:d.comment_posted_at)??null,[m,n]=i.useState(null);if(i.useEffect(()=>{if(!o){n(null);return}const v=()=>{const h=(Date.now()-new Date(o).getTime())/1e3,T=Math.max(0,rt-h);n(Math.ceil(T))};v();const V=setInterval(v,1e3);return()=>clearInterval(V)},[o]),m===null)return null;const x=Math.floor(m/60),_=m%60,u=m===0;return e.jsx("div",{className:`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-xs font-medium ${u?"border-emerald-500/20 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":"border-amber-500/20 bg-amber-500/10 text-amber-600 dar
1k:text-amber-400"}`,children:u?e.jsxs(e.Fragment,{children:[e.jsx("svg",{className:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}),"Ready to comment"]}):e.jsxs(e.Fragment,{children:[e.jsxs("svg",{className:"h-3.5 w-3.5 animate-spin",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z"})]}),"Next comment in ",x,"m ",String(_).padStart(2,"0"),"s"]})})}const it=[{value:"relevance",labelKey:"reddit.sortRelevance"},{value:"subscribers",labelKey:"reddit.sortMembers"},{value:"topics",labelKey:"reddit.sortTopics"},{value:"name",labelKey:"reddit.sortName"}],dt=[{value:"subreddits",labelKey:"reddit.tabSubreddits"},{value:"topics",labelKey:"reddit.tabTopics",defaultLabel:"All Topics"},{value:"comments",labelKey:"reddit.tabMyComments"}],pe=[{value:"newest",labelKey:"reddit.sortNewest"},{value:"score",labelKey:"reddit.sortTopScore"},{value:"relevance",labelKey:"reddit.sortBestFit"},{value:"comments",labelKey:"reddit.sortMostComments"}],ve=[{value:"",labelKey:"reddit.allStatuses"},{value:"new",labelKey:"reddit.statusNew"},{value:"saved",labelKey:"reddit.statusSaved"},{value:"dismissed",labelKey:"reddit.statusDismissed"},{value:"replied",labelKey:"reddit.statusReplied"}],_e="cp-reddit-topics-filters";function ue(){try{const a=localStorage.getItem(_e);if(!a)return{};const r=JSON.parse(a),o=pe.some(n=>n.value===r.sort),m=ve.some(n=>n.value===r.status);return{search:typeof r.search=="string"?r.search:void 0,sort:o?r.sort:void 0,status:m?r.status:void 0}}catch{return{}}}function ot(a){try{localStorage.setItem(_e,JSON.stringify(a))}catch{}}function kt(){const{t:a}=re("dashboard"),r=be(),{websiteId:o,tab:m,subreddit:n}=Oe(),[x,_]=Ke(),{data:u}=Ve(),y=i.useMemo(()=>(u==null?void 0:u.data)??[],[u]),d=o??x.get("website_id")??void 0,v=n??null,h=["subreddits","topics","comments"].includes(m)?m:"subreddits",[T,F]=i.useState(""),[O,C]=i.useState("relevance"),[K,N]=i.useState(!1),$=ae(T),[A,R]=i.useState(()=>{const t=x.get("search");return t!==null?t:ue().search??""}),[b,I]=i.useState(()=>{const t=x.get("sort");return t&&pe.some(S=>S.value===t)?t:ue().sort??"newest"}),[k,G]=i.useState(()=>{const t=x.get("status");return t!==null&&ve.some(S=>S.value===t)?t:ue().status??""}),[L,M]=i.useState(1),g=ae(A);i.useEffect(()=>{M(1)},[b,k,g]),i.useEffect(()=>{if(h!=="topics")return;const t=new URLSearchParams(x);g?t.set("search",g):t.delete("search"),k?t.set("status",k):t.delete("status"),b!=="newest"?t.set("sort",b):t.delete("sort"),_(t,{replace:!0}),ot({search:g||void 0,sort:b,status:k})},[h,g,k,b,x,_]);const[l,w]=i.useState(""),[E,q]=i.useState(""),W=Me(),z=i.useCallback(t=>t?`/websites/${t}/reddit`:"/reddit",[]),Q=i.useCallback(t=>{r(t?`/websites/${t}/reddit/subreddits`:"/reddit",{replace:!0})},[r]),ne=i.useCallback(t=>{r(`${z(d)}/subreddits/${encodeURIComponent(t)}`)},[r,d,z]),Y=i.useCallback(()=>{r(`${z(d)}/subreddits`)},[r,d,z]),{data:p}=De(d),B=(p==null?void 0:p.status)==="running",ie=(p==null?void 0:p.status)==="cooldown",J=(p==null?void 0:p.can_refresh)??!0;i.useEffect(()=>{if(d)return;const t=y[0];if(t){const S=ke(t.id,"reddit default website id");r(`/websites/${S}/reddit/subreddits`,{replace:!0})}},[d,y,r]),i.useEffect(()=>{if(!B)return;const t=setInterval(()=>{W.invalidateQueries({queryKey:we.reddit.all})},Ae);return()=>clearInterval(t)},[B,W]);const{data:s,isLoading:c}=le({website_id:d??"",...g?{search:g}:{},...k?{status:k}:{},sort:b,page:L,per_page:ge}),f=(s==null?void 0:s.data)??[],ee=(s==null?void 0:s.last_page)??1,Te=(s==null?void 0:s.total)??0,{data:de,isLoading:Le}=He({website_id:d??"",...K?{enabled_only:!0}:{},...$?{search:$}:{},sort:O}),oe=(de==null?void 0:de.data)??[],fe=Ge(),ce=qe(),je=async()=>{if(!(!d||B||!J)){w(""),q("");try{const t=await fe.mutateAsync({website_id:d});q(t.message),W.invalidateQueries({queryKey:we.reddit.discoveryStatus(d)})}catch(t){w(H(t,a("reddit.refreshFailed")))}}}
1,Pe=async(t,S)=>{w("");try{await ce.mutateAsync({id:t,isEnabled:S})}catch(me){w(H(me,a("reddit.updateSubredditFailed")))}},xe=i.useMemo(()=>d?y.find(t=>t.id===d):void 0,[d,y]);return e.jsxs("div",{className:"space-y-6",children:[e.jsx(Ie,{title:a("reddit.title"),subtitle:a("reddit.subtitle"),adornment:xe?e.jsx("span",{className:"inline-flex max-w-[220px] truncate rounded-full border border-slate-200 bg-slate-100 px-2.5 py-0.5 text-xs font-medium text-slate-700 dark:border-white/10 dark:bg-white/[0.06] dark:text-slate-200",title:xe.name,children:xe.name}):void 0,actions:e.jsx(Z,{onClick:je,loading:fe.isPending||B,disabled:!d||B||!J,className:"w-full justify-center sm:w-auto",children:a(B?"reddit.discovering":"reddit.findOpportunities")})}),d&&e.jsx(nt,{websiteId:d}),ie&&(p==null?void 0:p.next_allowed_at)&&e.jsx("div",{className:"rounded-lg border border-amber-500/20 bg-amber-500/10 px-4 py-3 text-sm text-amber-600 dark:text-amber-400",children:a("reddit.cooldown",{count:Math.max(1,Be(p.next_allowed_at)),date:ze(p.next_allowed_at)})}),l&&e.jsx("div",{className:"rounded-lg border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-sm text-rose-400",children:l}),E&&!l&&e.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/10 px-4 py-3 text-sm text-emerald-500",children:E}),v&&d?e.jsx(st,{websiteId:d,subreddit:v,subredditMeta:oe.find(t=>t.name===v)??null,onBack:Y}):e.jsxs(e.Fragment,{children:[d&&e.jsx("div",{className:"flex gap-1 overflow-x-auto rounded-2xl border border-slate-200 dark:border-white/[0.06] bg-slate-100/70 dark:bg-white/[0.03] p-1 [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:dt.map(t=>e.jsx($e,{to:`/websites/${d}
1/reddit/${t.value}`,className:({isActive:S})=>he("rounded-xl px-3.5 py-2 text-sm font-medium whitespace-nowrap transition-all flex items-center gap-1.5",S?"bg-white dark:bg-white/[0.1] text-violet-600 dark:text-violet-300 shadow-sm":"text-slate-500 dark:text-slate-400 hover:text-slate-900 dark:hover:text-white hover:bg-white/60 dark:hover:bg-white/[0.05]"),children:t.defaultLabel?a(t.labelKey,{defaultValue:t.defaultLabel}):a(t.labelKey)},t.value))}),h==="comments"&&d?e.jsx(lt,{websiteId:d}):h==="topics"&&d?e.jsxs(e.Fragment,{children:[e.jsx(j,{padding:"sm",children:e.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:flex sm:flex-wrap sm:items-end",children:[e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto sm:flex-1 sm:min-w-[200px]",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:a("common:actions.search")}),e.jsx("input",{className:`${D} w-full`,placeholder:a("reddit.searchPostPlaceholder"),value:A,onChange:t=>R(t.target.value)})]}),e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:a("reddit.status")}),e.jsx("select",{className:`${U} w-full sm:w-auto sm:min-w-[140px]`,value:k,onChange:t=>G(t.target.value),children:ve.map(t=>e.jsx("option",{value:t.value,children:a(t.labelKey)},t.value||"all"))})]}),e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:a("reddit.sort")}),e.jsx("select",{className:`${U} w-full sm:w-auto sm:min-w-[140px]`,value:b,onChange:t=>I(t.target.value),children:pe.map(t=>e.jsx("option",{value:t.value,children:a(t.labelKey)},t.value))})]})]})}),c?e.jsx(j,{children:e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-violet-500 border-t-transparent"})})}):f.length===0?e.jsx(j,{children:e.jsx("p",{className:"py-8 text-center text-sm text-slate-500 dark:text-slate-400",children:a("reddit.noTopicsAll",{defaultValue:"No topics match the current filters."})})}):e.jsxs("div",{className:"space-y-3",children:[f.map(t=>e.jsx(j,{children:e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(te,{status:t.status}),e.jsxs("span",{className:"inline-flex items-center rounded-md bg-orange-500/10 px-2 py-0.5 text-xs font-semibold text-orange-600 dark:text-orange-400",title:"Subreddit",children:["r/",t.subreddit]}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md bg-orange-500/10 px-2 py-0.5 text-xs font-semibold text-orange-600 dark:text-orange-400",title:a("reddit.scoreTip"),children:["▲ ",P(t.score)]}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md bg-sky-500/10 px-2 py-0.5 text-xs font-semibold text-sky-600 dark:text-sky-400",children:["💬 ",P(t.num_comments)]}),t.relevance_score!==null&&e.jsxs("span",{className:`inline-flex items-center rounded-md px-2 py-0.5 text-xs font-semibold ${t.relevance_score>=7?"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":t.relevance_score>=4?"bg-amber-500/10 text-amber-600 dark:text-amber-400":"bg-slate-500/10 text-slate-500 dark:text-slate-400"}`,title:a("reddit.fitScoreTitle"),children:[a("reddit.relevanceLabel"),": ",t.relevance_score.toFixed(1)]}),t.posted_at&&e.jsx("span",{className:"text-xs text-slate-400",children:se(t.posted_at)})]}),e.jsx("button",{type:"button",onClick:()=>r(`${z(d)}/${encodeURIComponent(t.subreddit)}/${t.id}`),className:"shrink-0 rounded p-1 text-slate-400 transition-colors hover:text-violet-500 dark:hover:text-violet-400",title:a("reddit.viewDetail",{defaultValue:"View details"}),children:e.jsxs("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:[e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"}),e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})})]}),e.jsx("a",{href:t.permalink??t.url??"#",target:"_blank",rel:"noopener noreferrer",className:"text-sm font-semibold text-slate-900 hover:text-violet-600 dar
1k:text-white dark:hover:text-violet-400",children:t.title}),t.author&&e.jsxs("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:["u/",t.author]})]})},t.id)),ee>1&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm text-slate-500 dark:text-slate-400",children:a("reddit.pageSummary",{page:L,totalPages:ee,total:P(Te)})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:()=>M(t=>Math.max(1,t-1)),disabled:L<=1,className:"rounded-lg border border-slate-200 px-3 py-1.5 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-40 dark:border-white/10 dark:text-slate-300 dark:hover:bg-white/[0.04]",children:a("common:pagination.previous")}),e.jsx("button",{type:"button",onClick:()=>M(t=>Math.min(ee,t+1)),disabled:L>=ee,className:"rounded-lg border border-slate-200 px-3 py-1.5 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-40 dark:border-white/10 dark:text-slate-300 dark:hover:bg-white/[0.04]",children:a("common:pagination.next")})]})]})]})]}):e.jsxs(e.Fragment,{children:[e.jsx(j,{padding:"sm",children:e.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:flex sm:flex-wrap sm:items-end",children:[e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto sm:flex-1 sm:min-w-[200px]",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:a("common:actions.search")}),e.jsx("input",{className:`${D} w-full`,placeholder:a("reddit.searchSubredditPlaceholder"),value:T,onChange:t=>F(t.target.value)})]}),e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:a("reddit.website")}),e.jsx("select",{className:`${U} w-full sm:w-auto sm:min-w-[160px]`,value:d??"",onChange:t=>Q(t.target.value||void 0),children:y.map(t=>e.jsx("option",{value:t.id,children:Ne(t.name,30)},ke(t.id,"reddit filter website option id")))})]}),e.jsxs("label",{className:"flex w-full flex-col gap-0.5 sm:w-auto",children:[e.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400",children:a("reddit.sort")}),e.jsx("select",{className:`${U} w-full sm:w-auto sm:min-w-[160px]`,value:O,onChange:t=>C(t.target.value),children:it.map(t=>e.jsx("option",{value:t.value,children:a(t.labelKey)},t.value))})]}),e.jsx("div",{className:"flex items-center sm:pb-2",children:e.jsx(Se,{checked:K,onChange:N,label:a("reddit.enabledOnly")})})]})}),Le?e.jsx(j,{children:e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-violet-500 border-t-transparent"})})}):oe.length===0?e.jsx(Ce,{icon:e.jsx("svg",{className:"h-12 w-12",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),title:a("reddit.emptyTitle"),description:a("reddit.emptyDescription"),action:d?{label:a("reddit.findOpportunities"),onClick:je}:void 0}):e.jsx("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-3",children:oe.map(t=>{var S;return e.jsx(Ze,{subreddit:t,selected:v===t.name,onSelect:()=>ne(t.name),onToggleEnabled:me=>Pe(t.id,me),toggling:ce.isPending&&((S=ce.variables)==null?void 0:S.id)===t.id},t.id)})})]})]})]})}export{kt 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.