1import{r as m,j as e,$ as j}from"./index-BO9td8ZG.js";import{K as u}from"./koi-icon-CLwKdErl.js";import{D}from"./dashboard-admin-title-bar-vwDQJU3w.js";const p=Array.from({length:10},(l,t)=>({id:t+1,name:t%3===1?"The Daily Signal":t%3===2?"Founders Journal":"Spooked",episodes:t%3===1?86:t%3===2?154:120,rssDownloads:t%3===1?"48.7M":t%3===2?"35.4M":"60.2M",monthlyViews:t%3===1?"184.6M":t%3===2?"109.3M":"252.1M",growth:t%2===0?"+12%":"+8%"})),B=()=>{const[l,t]=m.useState("manual"),[a,o]=m.useState([]),i=s=>{o(d=>d.includes(s)?d.filter(b=>b!==s):[...d,s])},g=()=>{o(s=>s.length===p.length?[]:p.map(d=>d.id))};return e.jsxs("main",{className:"flex flex-col gap-4 pb-6",children:[e.jsx(D,{title:"New RFPs",description:"Build and share a curated podcast recommendation for advertisers"}),e.jsx("section",{className:"rounded-xl border border-[#E4E7EC] bg-white p-3 dark:bg-gray-800 dark:border-gray-700",children:e.jsx("div",{className:"inline-flex rounded-lg bg-[#F2F4F7] p-1 dark:bg-gray-700",children:[["manual","Select manually"],["recommended","Use Koi's recommendation"]].map(([s,d])=>e.jsx("button",{type:"button",onClick:()=>t(s),className:`rounded-md px-4 py-2 text-sm font-semibold transition-colors ${l===s?"bg-white text-tertiaryBlack shadow-sm dark:bg-gray-800":"text-[#667085] hover:text-tertiaryBlack"}`,children:d},s))})}),l==="manual"?e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"flex flex-col gap-3 rounded-xl border border-[#E4E7EC] bg-white p-4 sm:flex-row sm:items-center sm:justify-between dark:bg-gray-800 dark:border-gray-700",children:[e.jsxs("p",{className:"text-sm font-semibold text-[#475467] dark:text-gray-200",children:[a.length," ",a.length===1?"show":"shows"," selected"]}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsx("button",{type:"button",className:"rounded-lg border border-[#D0D5DD] bg-white px-4 py-2.5 text-sm font-semibold text-[#344054] shadow-sm hover:bg-gray-50 dark:bg-gray-800 dark:text-gray-100 dark:border-gray-600",children:"Generate shareable link"}),e.jsx("button",{type:"button",className:"rounded-lg bg-primary px-4 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-blue-800",children:"Export as PDF"})]})]}),e.jsxs("div",{className:"grid items-start gap-4 xl:grid-cols-[minmax(0,2fr)_minmax(280px,0.95fr)]",children:[e.jsx("section",{className:"overflow-hidden rounded-xl border border-[#E4E7EC] bg-white dark:bg-gray-800 dark:border-gray-700",children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full min-w-[820px] border-collapse text-left",children:[e.jsx("thead",{className:"bg-[#F9FAFB] text-xs font-medium text-[#667085] dark:bg-gray-900 dark:text-gray-300",children:e.jsxs("tr",{children:[e.jsx("th",{className:"w-16 px-4 py-4",children:e.jsx("input",{type:"checkbox",checked:a.length===p.length,onChange:g,"aria-label":"Select all shows",className:"h-4 w-4 rounded border-[#D0D5DD] accent-blue-600"})}),e.jsx("th",{className:"px-3 py-4",children:"Ranks"}),e.jsx("th",{className:"px-3 py-4",children:"Shows"}),e.jsx("th",{className:"px-3 py-4",children:"No. Of Episodes"}),e.jsx("th",{className:"px-3 py-4",children:"Top Episodes"}),e.jsx("th",{className:"px-3 py-4",children:"RSS Download"}),e.jsx("th",{className:"px-3 py-4",children:"Dls. & Views / Mo."})]})}),e.jsx("tbody",{children:p.map(s=>e.jsxs("tr",{className:"border-t border-[#EAECF0] text-sm text-[#475467] dark:border-gray-700 dark:text-gray-200",children:[e.jsx("td",{className:"px-4 py-4",children:e.jsx("input",{type:"checkbox",checked:a.includes(s.id),onChange:()=>i(s.id),"aria-label":`Select ${s.name}`,className:"h-4 w-4 rounded border-[#D0D5DD] accent-blue-600"})}),e.jsx("td",{className:"px-3 py-4 font-medium",children:s.id}),e.jsx("td",{className:"px-3 py-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("img",{src:j,alt:"",className:"h-10 w-10 rounded-lg object-cover"}),e.jsx("span",{className:"font-semibold text-[#344054] dark:text-white",children:s.name})]})}),e.jsxs("td",{className:"px-3 py-4 font-semibold text-[#344054] dark:text-white",children:["#",s.episodes]}),e.jsx("td",{className:"px-3 py-4",children:e.jsx("div",{className:"flex -sp
1ace-x-2",children:[0,1,2].map(d=>e.jsx("img",{src:j,alt:"",className:"h-8 w-8 rounded-md border-2 border-white object-cover dark:border-gray-800"},d))})}),e.jsx("td",{className:"px-3 py-4",children:e.jsx(N,{value:s.rssDownloads,growth:s.growth})}),e.jsx("td",{className:"px-3 py-4",children:e.jsx(N,{value:s.monthlyViews,growth:s.growth})})]},s.id))})]})})}),e.jsxs("aside",{className:"rounded-xl border border-[#E4E7EC] bg-white p-5 dark:bg-gray-800 dark:border-gray-700",children:[e.jsx("h2",{className:"mb-4 text-sm font-bold uppercase tracking-wide text-[#667085] dark:text-gray-300",children:"Advertiser Info"}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(h,{label:"Advertiser / Brand name",placeholder:"e.g. Nova Health"}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-2",children:[e.jsx(h,{label:"Contact name",placeholder:"Contact name"}),e.jsx(h,{label:"Contact email",placeholder:"[email protected]",type:"email"})]}),e.jsxs("label",{className:"flex flex-col gap-2 text-sm font-semibold text-[#344054] dark:text-gray-100",children:["Note to brand (optional)",e.jsx("textarea",{rows:4,placeholder:"Add context for why these shows fit their audience...",className:"resize-none rounded-lg border border-[#D0D5DD] bg-white px-3 py-2.5 font-normal text-tertiaryBlack outline-none placeholder:text-[#98A2B3] focus:border-primary focus:ring-1 focus:ring-primary dark:bg-gray-900 dark:border-gray-600"})]})]})]})]})]}):e.jsx(F,{})]})},n=[["Spooked","40.3M YT views/mo","Horror & true crime","Strong 18â34 skew and consistently high audio reach â a reliable reach anchor for the campaign."],["The Morning Mile","27.4M YT views/mo","Fitness & wellness","Direct category match on fitness, with an audience that skews young and active."],["Run Club Radio","15.2M YT views/mo","Running culture","Niche but highly engaged running audience, fastest-growing show in the category this quarter."],["Culture Desk","9.8M YT views/mo","Culture & lifestyle","Broadens reach beyond pure fitness without drifting from the target age range."],["The Wellness Edit","8.9M YT views/mo","Health & wellness","A trusted host and high listener loyalty make this a strong consideration driver."],["Everyday Athlete","7.6M YT views/mo","Fitness","Practical training content aligns naturally with the advertiser's positioning."],["Outside Voices","6.4M YT views/mo","Outdoors","Adds an adventure-minded audience with strong purchasing intent."],["The Recovery Room","5.8M YT views/mo","Wellness","Balances performance messaging with recovery and sustainable wellness topics."]].map(([l,t,a,o],i)=>({id:i+1,name:l,reach:t,category:a,description:o})),F=()=>{const[l,t]=m.useState(!1),[a,o]=m.useState(!1),[i,g]=m.useState(n.map(({id:r})=>r)),[s,d]=m.useState(1),b=4,f=Math.ceil(n.length/b),k=n.slice((s-1)*b,s*b),y=()=>{t(!0),window.setTimeout(()=>{g(n.map(({id:r})=>r)),d(1),o(!0),t(!1)},1200)},v=r=>{g(c=>c.includes(r)?c.filter(x=>x!==r):[...c,r])};return a?e.jsxs("section",{className:"grid items-start gap-4 xl:grid-cols-[minmax(0,1.45fr)_minmax(340px,0.8fr)]",children:[e.jsxs("div",{className:"overflow-hidden rounded-xl border border-[#E4E7EC] bg-white dark:border-gray-700 dark:bg-gray-800",children:[e.jsxs("div",{className:"flex flex-col gap-3 border-b border-[#EAECF0] p-5 sm:flex-row sm:items-center sm:justify-between dark:border-gray-700",children:[e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[e.jsx("h2",{className:"text-lg font-bold text-[#101828] dark:text-white",children:"Koi's picks"}),e.jsxs("p",{className:"text-sm text-[#667085] dark:text-gray-300",children:["(",i.length," of ",n.length," shows selected)"]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("button",{type:"button",onClick:()=>g(i.length===n.length?[]:n.map(({id:r})=>r)),className:"px-2 text-sm font-semibold text-primary hover:underline",children:i.length===n.length?"Clear all":"Select all"}),e.jsx("span",{className:"hidden h-6 w-px bg-[#D0D5DD] sm:block dark:bg-gray-600"}),e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 rounded-lg border border-[#B2CCFF] bg-white px-3 py-2 text-xs font-semibold text-primary shadow-sm transition-colors hover:bg-[#F5F8FF] dark:border-blue-700 dark:bg-gray-800 dark:hover:bg-gray-700",children:[e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),"Shareable link"]}),e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 rounded-lg bg-primary px-3 py-2 text-xs font-semibold text-white shadow-sm transition-colors hover:bg-blue-800",children:[e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M12 3v12m0 0 4-4m-4 4-4-4M5 21h14",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),"Export PDF"]})]})]}),e.jsx("div",{className:"grid gap-4 p-5 md:grid-cols-2",children:k.map((r,c)=>{const x=i.includes(r.id);return e.jsxs("article",{className:`relative rounded-xl border p-4 transition-colors ${x?"border-[#B2CCFF] bg-[#F5F8FF] dark:border-blue-700 dark:bg-blue-950/30":"border-[#
1E4E7EC] bg-white opacity-70 dark:border-gray-700 dark:bg-gray-900"}`,children:[e.jsx("label",{className:"absolute right-4 top-4 z-10 flex h-6 w-6 items-center justify-center",children:e.jsx("input",{type:"checkbox",checked:x,onChange:()=>v(r.id),"aria-label":`Select ${r.name}`,className:"m-0 h-5 w-5 rounded border-[#D0D5DD] accent-blue-600"})}),e.jsx("div",{className:`mb-3 flex h-11 w-11 items-center justify-center rounded-lg bg-gradient-to-br ${["from-rose-600 to-indigo-950","from-blue-500 to-blue-950","from-emerald-500 to-emerald-950","from-rose-500 to-red-950"][c%4]}`,children:e.jsx("span",{className:"text-sm font-bold text-white",children:r.name.charAt(0)})}),e.jsx("h3",{className:"pr-8 text-sm font-bold text-[#101828] dark:text-white",children:r.name}),e.jsxs("p",{className:"mt-1 text-xs text-[#98A2B3]",children:[r.reach," · ",r.category]}),e.jsx("p",{className:"mt-3 text-sm leading-5 text-[#475467] dark:text-gray-300",children:r.description}),e.jsx("div",{className:"mt-4 flex items-center gap-2",children:e.jsx("span",{className:"rounded-full bg-white px-2.5 py-1 text-xs font-semibold text-primary ring-1 ring-[#D6E4FF] dark:bg-gray-800",children:"Strong fit"})})]},r.id)})}),e.jsxs("div",{className:"flex items-center justify-between border-t border-[#EAECF0] px-5 py-4 dark:border-gray-700",children:[e.jsx("button",{type:"button",disabled:s===1,onClick:()=>d(r=>r-1),className:"rounded-lg border border-[#D0D5DD] px-3 py-2 text-sm font-semibold text-[#344054] disabled:cursor-not-allowed disabled:opacity-40 dark:text-gray-100",children:"Previous"}),e.jsxs("span",{className:"text-sm text-[#667085] dark:text-gray-300",children:["Page ",s," of ",f]}),e.jsx("button",{type:"button",disabled:s===f,onClick:()=>d(r=>r+1),className:"rounded-lg border border-[#D0D5DD] px-3 py-2 text-sm font-semibold text-[#344054] disabled:cursor-not-allowed disabled:opacity-40 dark:text-gray-100",children:"Next"})]})]}),e.jsx("aside",{className:"rounded-xl border border-[#E4E7EC] bg-white p-5 xl:sticky xl:top-24 dark:border-gray-700 dark:bg-gray-800",children:e.jsx(w,{onSubmit:y,isGenerating:l,compact:!0})})]}):e.jsx("section",{className:"overflow-hidden rounded-xl border border-[#E4E7EC] bg-white dark:border-gray-700 dark:bg-gray-800",children:e.jsxs("div",{className:"grid lg:grid-cols-[minmax(300px,0.8fr)_minmax(0,1.5fr)]",children:[e.jsxs("div",{className:"relative overflow-hidden bg-gradient-to-br from-[#172554] via-[#1D4ED8] to-[#6D5DFB] p-6 text-white md:p-8 lg:min-h-[590px]",children:[e.jsx("div",{className:"absolute -right-20 -top-20 h-64 w-64 rounded-full border border-white/15"}),e.jsx("div",{className:"absolute -right-8 -top-8 h-40 w-40 rounded-full border border-white/15"}),e.jsxs("div",{className:"relative flex h-full flex-col",children:[e.jsx("div",{className:"mb-10 flex h-12 w-12 items-center justify-center rounded-xl bg-white/15 ring-1 ring-white/25 backdrop-blur",children:e.jsx(u,{width:"25",height:"25"})}),e.jsx("p",{className:"mb-3 text-sm font-semibold uppercase tracking-[0.18em] text-blue-100",children:"Koi-powered matching"}),e.jsx("h2",{className:"max-w-md text-3xl font-bold leading-tight",children:"Turn a campaign brief into a curated podcast shortlist."}),e.jsx("p",{className:"mt-4 max-w-md text-sm leading-6 text-blue-100",children:"Koi reviews audience fit, category relevance, reach, and budget to recommend shows with the strongest campaign potential."}),e.jsx("div",{className:"mt-9 space-y-5",children:[["01","Describe the advertiser","Add the campaign's audience and commercial goals."],["02","Koi analyzes the network","Shows are compared using reach and audience signals."],["03","Review the shortlist","Refine the recommendations before sharing or export."]].map(([r,c,x])=>e.jsxs("div",{className:"flex gap-4",children:[e.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-white/15 text-xs font-bold ring-1 ring-white/20",children:r}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold",children:c}),e.jsx("p",{className:"mt-1 text-xs leading-5 text-blue-100",children:x})]})]},r))}),e.jsxs("div",{className:"mt-auto grid grid-cols-2 gap-3 rounded-xl bg-white/10 p-4 ring-1 ring-white/15 backdrop-blur",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xl font-bold",children:"10+"}),e.jsx("p",{className:"text-xs text-blue-100",children:"matching signals"})]}),e.jsxs("div",{className:"border-l border-white/20 pl-4",children:[e.jsx("p",{className:"text-xl font-bold",children:"1 click"}),e.jsx("p",{className:"text-xs text-blue-100",children:"to generate"})]})]})]})]}),e.jsx("div",{className:"p-6 md:p-8 lg:p-10",children:e.jsx(w,{onSubmit:y,isGenerating:l})})]})})},w=({onSubmit:l,isGenerating:t,compact:a=!1})=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:a?"mb-5":"mb-8",children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-primary",children:e.jsx(u,{})}),e.jsx("h2",{className:"text-lg font-bold text-[#101828] dark:text-white",children:"Brief Koi"})]}),!a&&e.jsx("p",{className:"text-sm text-[#667085] dark:text-gray-300",children:"Give Koi enough context to create a focused, relevant recommendation."})]}),e.jsxs("form",{className:`flex flex-col ${a?"gap-4":"gap-5"}`,onSubmit:o=>{o.preventDefault(),l()},children:[e.jsx(h,{label:"Advertiser",placeholder:"Nova Sportswear"}),e.jsxs("label",{className:"flex flex-col gap-2 text-sm font-semibold text-[#344054] dark:text-gray-100",children:["Category",e.jsxs("select",{defaultValue:"Fitness & apparel",className:"rounded-lg border border-[#D0D5DD] bg-white px-3 py-2.5 font-normal text-tertiaryBlack outline-none focus:border-primary focus:ring-1 focus:ring-primary dark:border-gray-600 dark:bg-gray-900",children:[e.jsx("option",{children:"Fitness & apparel"}),e.jsx("option",{children:"Health & wellness"}),e.jsx("option",{children:"Technology"}),e.jsx("option",{children:"Business & finance"}),e.jsx("option",{children:"Food & beverage"})]})]}),e.jsx(h,{label:"Target audience",placeholder:"18â34, fitness-oriented"}),e.jsx(h,{label:"Budget range",placeholder:"$40,000 â $60,000"}),e.jsxs("label",{className:"flex flex-col gap-2 text-sm font-semibold text-[#344054] dark:text-gray-100",children:["Anything else Koi should know",e.jsx("textarea",{rows:a?3:4,placeholder:"Prefers audio-first shows; avoid finance and politics",className:"resize-none rounded-lg border border-[#D0D5DD] bg-white px-3 py-2.5 font-normal text-tertiaryBlack outline-none placeholder:text-[#98A2B3] focus:border-primary focus:ring-1 focus:ring-primary dark:border-gray-600 dark:bg-gray-900"})]}),e.jsx("button",{type:"submit",disabled:t,className:"mt-2 flex items-center justify-center gap-2 rounded-lg bg-gradient-to-r from-[#6558F5] to-[#1769E8] px-4 py-3 text-sm font-semibold text-white shadow-sm transition-opacity hover:opacity-90 disabled:cursor-wait disabled:opacity-70",children:t?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white"}),"Analyzing shows..."]}):e.jsxs(e.Fragment,{children:[e.jsx(u,{}),a?"Re-run recommendations":"Generate recommendations"]})})]})]}),N=({value:l,growth:t})=>e.jsxs("div",{className:"flex items-center gap-2 whitespace-nowrap",children:[e.jsx("span",{children:l}),e.jsxs("span",{className:"rounded bg-[#FEF3F2] px-2 py-1 text-xs font-semibold text-[#F04438]",children:["â ",t]})]}),h=({label:l,placeholder:t,type:a="text"})=>e.jsxs("label",{className:"flex flex-col gap-2 text-sm font-semibold text-[#344054] dark:text-gray-100",children:[l,e.jsx("input",{type:a,placeholder:t,className:"rounded-lg border border-[#D0D5DD] bg-white px-3 py-2.5 font-normal text-tertiaryBlack outline-none placeholder:text-[#98A2B3] focus:border-primary focus:ring-1 focus:ring-primary dark:bg-gray-900 dark:border-gray-600"})]});
1export{B 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.